Les webhooks sont des concepts plus récents et ne sont pas encore aussi connus que les API.
Cet article explique quelle est la différence entre un webhook et une API et comment les utiliser
?

Pour mieux comprendre la différence des deux concepts, prenons un exemple.
Imaginez que … vous avez deux assistants dans votre entreprise.
Les deux ont le même ensemble de responsabilités entre eux.

Le premier assistant dispose à tout moment de toutes les données.
Il vous fournit toutes les données dont vous avez besoin, au moment où vous les demandez.

Le second assistant a également toutes les données disponibles.
Mais il vous tient au courant des informations pertinentes, sans que vous ne le demandiez.

Les deux sont capables de gérer de façon efficace les informations pour vous.
Mais le premier vous donne les informations requises sur demande.
Le second vous apporte les informations pertinentes au fur et à mesure qu’elles apparaissent.

Comment cela se traduit-il dans notre sujet ?

  • Le premier assistant est un exemple d’API. Il fournit les données sur demande.
  • Le deuxième assistant est un exemple de webhook. Nous lui faisons savoir quelles données sont pertinentes, dès le début, et il nous tient au courant sans aucune autre intervention.

Avec les concepts clairs, passons directement au sujet.

Que sont les Webhooks?

Les webhooks sont des déclencheurs basés sur des événements qui aident les applications à communiquer entre elles.
Tout cela peut être fait automatiquement une fois qu’il est configuré.

Ils vous permettent de créer des URL POST spécifiques avec les données requises qui peuvent être transmises aux applications et bases de données internes pour traitement.

Comment utiliser les Webhooks?

Le concept d’un webhook est simple une fois que vous comprenez que le processus fondamental consiste à transmettre des données en ajoutant des paramètres aux URL.

Maintenant, comment créez-vous ces paramètres et passez les URL à l’application souhaitée pour le traitement?

Avant de nous plonger dans cela, comprenons comment les webhooks fonctionnent.

Comment les Webhooks sont-ils transmis entre les applications?

Ceci est rendu possible avec la requête HTTP POST. Une requête POST permet de transmettre des données entre applications. Les données peuvent être envoyées en tant qu’objet JSON ou au format XML, les deux étant acceptés par tous les langages de programmation pour le traitement des données.

Sur votre site Web, une demande POST peut être générée de plusieurs manières:

  • Formulaires HTML
  • Javascript
  • AJAX
  • jQuery

Les formulaires HTML génèrent passivement des demandes lorsque le bouton d’envoi est cliqué par un utilisateur. Mais avec Javascript, vous pouvez réellement voir l’utilisateur entreprendre des actions spécifiques comme cliquer sur n’importe quel élément du formulaire, ou visiter des pages spécifiques et générer des requêtes POST basées sur ces données.

Quelles données peuvent être transmises au format JSON ou XML?

Voyons rapidement à quoi ressemblent les données JSON et XML.

Voici un petit extrait de JSON:

Et voici un extrait de XML:

Ceci est un exemple de la façon dont les mêmes données peuvent être transmises dans ces deux formats différents.

Tant que les données sont basées sur du texte, vous pouvez utiliser ces formats. Si vous souhaitez transmettre des données d’image ou toute autre information multimédia, vous pouvez transmettre les noms de fichiers ou les URL aux fichiers multimédias dans ces formats.

Comment votre application traite-t-elle ces données?

Maintenant que les données ont été définies et transmises par le webhook, comment votre application sait-elle quoi en faire?

Cela nous ramène à notre exemple “d’assistants”. Pour les deux assistants, nous avons initialement mentionné ce qui doit être fait avec les informations qu’ils reçoivent.

De même, nous devons indiquer à notre application ce qu’il faut faire des données provenant du webhook. Il s’agit d’une tâche unique et une fois configurée, elle fonctionnera sans aucune intervention.

La partie codage de l’utilisation des données du webhook est hors de portée pour cet article, permettez-moi de vous donner un exemple de la façon dont le processus fonctionnera en termes simples.

  1. L’utilisateur effectue une action qui déclenche le webhook
  2. Le webhook collecte les données requises de l’action de l’utilisateur et les convertit au format JSON ou XML
  3. Les données sont ensuite transmises à la destination que nous spécifions au début lors de la configuration du webhook pour l’interface
  4. Notre application reçoit les données
  5. Étant donné que les formats JSON et XML sont compris universellement par les langages de programmation, ils peuvent décomposer les données en éléments uniques
  6. Une fois les données ventilées par élément, chaque élément sera mis en correspondance avec la table de valeurs existante, par exemple, des colonnes dans une base de données
  7. Enfin, les données mappées sont stockées dans ces colonnes spécifiques

Quelles sont les applications d’un webhook?

Les données sont en temps réel, il existe donc de nombreuses applications pour les webhooks. Votre serveur d’applications peut utiliser les données générées par ces webhooks pour garder une trace du nombre d’e-mails livrés, ouverts et cliqués.

Le processus complet d’utilisation des webhooks dans n’importe quelle application sera la même quelle que soit l’application:

  • Il existe une application qui écoute les événements et crée un objet JSON avec les données requises
  • Une couche intermédiaire qui décompose et mappe les données en fonction de l’ensemble de données
  • La couche finale où les données sont stockées ou envoyées pour un traitement ultérieur