Webhook

De Wikitechnia
Révision datée du 2 août 2023 à 11:04 par Jerome (discussion | contributions)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Aller à la navigation Aller à la recherche

Un webhook permet d'envoyer des données vers une URL. Ils constituent un moyen simple d'échanger des données en temps réel entre des systèmes hétérogènes.

Cas d'usage

Les webhooks offrent un moyen simple d'envoyer des données vers un système tiers lorsqu'un évènement se produit. Ils sont particulièrement utilisés en combinaison avec des outils comme Make.com.

Exemple : à chaque fois qu'un utilisateur de votre site web fait un achat sur votre boutique en ligne, un webhook envoie les informations relatives à la commande pour que celle-ci soit automatiquement saisie dans votre ERP.

Envoi des données

Il existe 2 façons d'envoyer les données avec un webhook :

Envoi des données par GET

Dans le cas d'un envoi de données par GET, les paramètres sont envoyés dans l'URL qui va être appelée.

Par exemple, si le webhook est configuré pour envoyer les données sur l'URL : https://www.monhook.com (et que le système qui traitera la requête est configuré pour accepter les requêtes GET) et que nous souhaitons envoyer les données : titre = bonjour et nom = benjamin, l'url appelée sera https: https://www.monhook.com?titre=bonjour&nom=benjamin

Cette méthode est simple, mais elle limite la taille, la nature et la structure des données envoyées.

Envoi des données par POST

Dans le cas d'un envoi de données par GET, les paramètres sont envoyés dans le corps (body) de la requête envoyée, dans différents formats, le plus utilisé étant JSON.

Exemple :

  • Le webhook est configuré pour envoyer les données sur l'URL : https://www.monhook.com (nécessite que le système qui traitera la requête soit configuré pour accepter les requêtes POST)
  • Nous souhaitons envoyer les données : titre = bonjour et nom = benjamin

L'url appelée sera https: https://www.monhook.com, et le corps de la requête contiendra (cas du JSON) :

{

"titre": "bonjour",

"nom": "benjamin"

}