Qu’est-ce qu’une API et comment fonctionne-t-elle ?
Auteur : Rédaction Domeny.ForSale Publié le
En bref : une API est une interface de programmation, c’est-à-dire un ensemble de règles permettant à un programme d’utiliser les données ou les fonctions d’un autre. Elle permet, par exemple, de récupérer des prévisions météo dans une application, de transmettre une commande à un système de gestion des stocks ou de demander la création d’une étiquette d’expédition. Une API définit les opérations disponibles, la manière de les appeler et la façon d’interpréter le résultat.
Comment fonctionne une API en pratique ?
Le sigle API vient de l’anglais Application Programming Interface. Ici, le mot « interface » désigne un mode de communication entre des composants logiciels, et non un écran avec des boutons. L’utilisateur se sert d’une application au moyen d’un formulaire ou d’un menu ; un programme, lui, peut utiliser un autre système par l’intermédiaire de son API.
On peut comparer une API à un bon de commande : elle indique ce qu’il est possible de commander, les informations à fournir et la confirmation à attendre. Il n’est pas nécessaire de connaître l’organisation interne de l’entrepôt pour passer une commande correctement. De même, une application n’a pas besoin de savoir comment l’autre système stocke ses données ou effectue ses calculs.
Avec une API web classique, la communication se déroule ainsi :
- L’application envoie une requête, c’est-à-dire une demande de données ou d’exécution d’une opération.
- Le système destinataire vérifie la validité de la requête et, si nécessaire, les droits de l’émetteur.
- Le système effectue l’opération et renvoie une réponse contenant le résultat ou des informations sur une erreur.
Toutes les API ne fonctionnent pas par Internet. Les systèmes d’exploitation et les bibliothèques — des ensembles de fonctions prêtes à l’emploi utilisés en programmation — proposent aussi des interfaces de programmation. Cependant, lorsqu’il est question de relier des services, le terme « API » désigne le plus souvent une communication en réseau.
Exemple : une boutique demande l’expédition d’un colis
Imaginez une boutique en ligne reliée au système d’un transporteur. Une fois la commande payée, le logiciel de la boutique envoie, via une API, les données nécessaires à l’expédition : par exemple, l’adresse du destinataire, le service choisi et les caractéristiques du colis. En réponse, le système du transporteur peut renvoyer un numéro de suivi et une étiquette à imprimer.
L’employé n’a alors pas besoin de saisir à nouveau ces informations dans l’interface du transporteur. Par la suite, la boutique peut récupérer le statut de l’envoi et l’afficher au client. Les opérations disponibles et les données requises dépendent de la API concernée.
Le simple fait que le transporteur mette une API à disposition ne signifie toutefois pas que la boutique commencera automatiquement à l’utiliser. Il faut une intégration, c’est-à-dire une connexion configurée entre les systèmes, au moyen d’une extension prête à l’emploi, d’un service d’automatisation ou d’un programme distinct. La API rend la communication possible ; l’intégration met en œuvre un processus métier précis.
Que signifient endpoint, HTTP et JSON ?
La documentation d’une API web mentionne souvent un endpoint, ou point d’accès : une adresse précise à laquelle une fonction ou une ressource est accessible. Par exemple, le chemin /produits/123 peut donner accès aux données du produit portant l’identifiant 123. Il s’agit d’une illustration : les adresses réelles sont définies par le fournisseur du service.
Beaucoup de ces interfaces utilisent HTTP, le protocole de communication également utilisé par les sites web. La requête contient une méthode qui précise le type d’action. La méthode GET sert à récupérer des données, tandis que POST est souvent utilisée pour en transmettre, par exemple lors de la création d’une commande.
La réponse peut être au format JSON, un format textuel de données lisible par les programmes. Un résultat simple pourrait ressembler à ceci : {"id":123,"nom":"Tasse","disponible":true}. L’application lit les champs et s’appuie sur leur contenu pour afficher le nom du produit et sa disponibilité.
Une API transmet aussi des informations sur les erreurs. Dans les échanges HTTP, le code 404 signifie généralement que la ressource demandée n’a pas été trouvée, et le code 429 que la fréquence de requêtes autorisée a été dépassée. Une intégration bien conçue doit également gérer l’absence de réponse, l’indisponibilité du service et les données incorrectes, plutôt que de supposer que chaque opération réussira.
Faut-il savoir programmer pour utiliser une API ?
Si une extension prête à l’emploi prend en charge le service souhaité, l’utilisation d’une API peut se limiter à relier les comptes et à régler quelques options. Les outils d’automatisation permettent aussi de créer des flux simples sans écrire de code, par exemple pour transmettre les demandes reçues via un formulaire à un système de gestion du service client.
Un développeur est généralement nécessaire lorsqu’aucune connexion prête à l’emploi n’existe ou que le processus exige une logique particulière. C’est le cas, par exemple, de la synchronisation des stocks à partir de plusieurs sources : elle doit résoudre les contradictions entre les données et relancer les opérations échouées en toute sécurité.
L’exportation et l’importation manuelles de fichiers peuvent parfois remplacer une API. Cela peut suffire pour des échanges occasionnels de petits volumes de données. Une API est plus pertinente lorsque les échanges sont fréquents ou que les données doivent parvenir à l’autre système sans lancer manuellement un export.
Que vérifier avant de relier des services ?
L’accès à une API n’est pas nécessairement public ni gratuit. Il nécessite souvent une clé API ou un jeton, c’est-à-dire des données d’authentification servant à autoriser l’accès. Les clés confidentielles ne doivent pas figurer dans le code public d’un site ni être transmises à des personnes qui n’en ont pas besoin.
Avant la mise en place, vérifiez les points suivants dans la documentation officielle et les conditions du fournisseur :
- Fonctions disponibles : la API permet-elle d’effectuer les opérations nécessaires, et pas seulement de lire des données ?
- Coûts et limites : l’accès nécessite-t-il une formule particulière, et combien de requêtes peut-on envoyer ?
- Droits d’accès : peut-on limiter l’accès aux seules données et opérations nécessaires ?
- Maintenance : comment le fournisseur annonce-t-il les changements et le retrait des anciennes versions de la API ?
Pour commencer, décrivez une tâche, par exemple : « une fois la commande payée, créer un envoi ». Vérifiez ensuite s’il existe une intégration prête à l’emploi. Sinon, vérifiez si les API des deux systèmes proposent les fonctions nécessaires à cette tâche.
À lire aussi : Qu’est-ce que le 2FA ?
