SAP Subscription Billing utilise un type d'API spécifique appelé Interfaces de programmation d'applications de transfert d'état représentatif, également appelées API REST.
Parlons d'abord des API.
Une API agit comme un protocole de communication entre différents programmes logiciels. Il explique comment ils doivent interagir les uns avec les autres, en fournissant un ensemble de règles et d'instructions. Considérez une API comme un « intermédiaire » qui permet aux programmes logiciels de communiquer de manière efficace. Sans API, il ne serait pas possible de profiter de la simple tâche de réservation d'une chambre d'hôtel en ligne ou de mise à jour du logiciel via le cloud.
Avant de parler des API REST, voyons comment fonctionne une API. Regardez la vidéo suivante.
Maintenant que vous comprenez le rôle des API, examinons les API REST.
REST est l'acronyme de Representative ational State Transfer (Transfert d'État représentatif). Il s'agit d'un style architectural pour la conception d'applications en réseau. Une API REST utilise HTTP - une technologie fondamentale d'Internet - pour demander et envoyer des données. Ces données peuvent fonctionner dans différents formats, y compris XML et JSON.
Le concept de REST est basé sur les ressources. Une ressource dans l'API REST est le concept fondamental pour la description de l'information ; c'est toute information qui peut être nommée. Par exemple, lorsqu'il est question de SAP Subscription Billing, un abonnement peut être une ressource et un client une autre. L'importance d'utiliser des ressources au lieu d'une grande base de données est que chaque ressource a une URL unique que vous pouvez lier ou référencer.
Une fonctionnalité robuste des API REST est leur utilisation des méthodes HTTP standard. Il s'agit notamment de POST qui ajoute une nouvelle ressource ; GET récupère une ressource ; PUT met à jour une ressource ; PATCH permet une mise à jour partielle ; et DELETE supprime une ressource.

Les méthodes PUT et PATCH sont similaires car elles mettent à jour toutes les deux une ressource. Par exemple, si vous avez un profil utilisateur avec des zones telles que le nom, l'e-mail et le mot de passe, une demande PUT vous demande d'envoyer toutes les zones même si vous voulez uniquement modifier le mot de passe. L'utilisation de PATCH over PUT permet d'éviter de réduire les performances du système avec des modifications inutiles lorsqu'il s'agit de ressources importantes ou de mises à jour fréquentes.
Idempotence dans les API REST

La plupart des méthodes de requête de l'API REST sont considérées comme idempotent.
Que signifie le terme idempotence ?
Un appel d'API ou une opération est idempotent s'il a le même résultat peu importe combien de fois il est appliqué. Une opération idempotente assure une protection contre les doublons accidentels d'appels provoquant des conséquences involontaires.
Par exemple, si vous envoyez plusieurs fois la même requête DELETE à une URL spécifique, les tentatives suivantes échoueront probablement car les données ont déjà été supprimées. L'état final du serveur avec les données supprimées reste le même après la première requête DELETE. Même si la deuxième requête échoue, la méthode DELETE est toujours considérée comme idempotente car l'état final souhaité a été atteint et ne changera pas avec des requêtes répétées.
Remarque
Par exemple, considérez une ressource qui compte pour chaque fois qu'une requête PATCH est effectuée. La demande PATCH d'augmenter le compteur de 1 ne remplace pas l'historique du compteur. Chaque requête PATCH suivante incrémente le compteur. Si vous appliquez à nouveau la même demande PATCH, le résultat sera différent à chaque fois et augmentera le compteur.
Le choix d'une méthode API REST idempotente dépend de votre application ou service.
La beauté des API REST réside dans leur simplicité. Les API REST sont sans état, ce qui signifie que le serveur n'a pas besoin de connaître l'état du client. Une demande d'un client contient déjà les informations nécessaires pour répondre à une demande.
Notez que les méthodes REST ne sont pas considérées comme standard. Les méthodes REST sont un ensemble de principes directeurs et sont adoptées par la plupart des développeurs comme un outil puissant pour structurer les API en raison de leur simplicité, de leur évolutivité et de leur compatibilité avec le Web.
Les API (Application Programming Interfaces) et les API REST (Representative ational State Transfer APIs) jouent un rôle crucial dans le développement de logiciels modernes et les interactions numériques. Les API permettent aux différents systèmes logiciels de communiquer et d'interagir entre eux. Les API REST sont devenues un style d'architecture populaire et largement adopté pour la conception de systèmes en réseau, en particulier dans le contexte des services Web et des applications basées sur le cloud.

