Une API (Applications Programming Interface) ou en français interface de programmation est un système qui permet à deux ordinateurs d’échanger des données et informations. Il donne l’accès à un service ou une info à distance.
Très utilisé aujourd’hui à l’ère d’internet (surtout par les magasins en ligne et le secteur bancaire), ce système permet de faire dialoguer à distance deux postes via un langage commun. Le problème est qu’il n’existe pas de langage universel pour toutes les API, ce qui ralentit l’harmonisation de ce mode de communication. Mais les GAFA ( Google Amazon Facebook Apple ) tentent de définir un langage API plus universel.
Quel est son fonctionnement , ci-dessous un exemple de fonctionnement d’une API.
Un e-commerce (magasin en ligne) propose des chaussures. Dans la fiche de produit, il y a les informations suivantes : prix, produit, taille ,délais de livraison et disponibilité. Le magasin souhaite vendre ses produits sur des places de marché telles que Amazon, eBay et Cdiscount. Comment faire pour que ces 3 plateformes puissent avoir en même temps les informations du commerce et modifier en temps réels les données ( exemple : faire moins un sur les stocks, car une vente vient d’être effectuée ) ? Et comment le faire pour tous les modèles de chaussures du magasin ? Pour ce faire il nous faut une interface qui fait le lien entre le magasin et les plateformes.
Mon magasin envoie via mon interface de programmation les informations suivantes à Amazon par exemple : nom du produit, nom de la marque, prix, produit, taille , délais de livraison et disponibilité. Amazon enregistre dans sa base de données les informations envoyées.
Deux cas se présentent :
- Cas 1 : Amazon fait une vente sur un de mes produits. Son API va envoyer l’information à mon magasin qui mettra moins un dans mon stock et inclura toutes les informations du client dans ma base de données.
- Cas 2 : La vente du produit vient de mon magasin; alors l’API envoie automatiquement l’information à Amazon (-1 stock).
Et si je souhaite mettre un prix différent sur ces plateformes, car je dois payer une commission pour la plateforme sur chacune de mes ventes ? Il va me falloir une interface qui permettra d’inscrire le prix de vente plus le prix de la commission de la plateforme sur tous mes produits. J’inscris la règle et l’interface de programmation ( ou API ) fera le reste.
Bien sûr cela peut aller plus loin, on peut très bien faire des scénarios très élaborés afin de gérer automatiquement un grand nombre de boutiques (ebay, amazon, cdoscoiunt pour les plus connus en France), mais il s’agit bien du même principe.
Concernant la mise à jour de la base de données, le rythme d’échanges est à définir en fonction de chaque cas. Un commerce a tendance à envoyer une fois toutes les 24h les informations de ses produits à L’API qui met à jour sa base de données par la même occasion.
En clair, je donne mes ordres à l’API qui envoie les informations sur le même device.Ou inversement j’envoie mes informations via un site internet par exemple qui envoie l’information aux autres écrans grâce à l’API. Cela devient obligatoire de nos jours d’avoir une API, car nous vivons à l’air du tout digital où un service peut être vu et utilisé sur son téléphone, smartwatch, ordinateur, console de jeux et même sur une une voiture.