Webhook : définition et différence avec une API
Webhook : définition simple, fonction, URL et exemple concret. Voyez la différence avec une API et comment en configurer un sans vous tromper.
Webhook : définition simple et traduction
Un webhook est une notification automatique envoyée par un logiciel vers une URL que vous avez indiquée, au moment exact où un événement survient. Le terme se traduit par « crochet web » : vous accrochez votre site à un service extérieur, et ce dernier vous rappelle dès qu'il a du nouveau. Stripe signale un paiement validé, GitHub un nouveau commit, un formulaire une demande de devis. Le principe ne change pas d'un outil à l'autre, seul le contenu du message diffère.
L'URL du webhook, la pièce centrale
Tout repose sur une adresse de réception, que les développeurs appellent endpoint. Vous la créez sur votre site, dans un module de votre CMS ou dans un outil d'automation, puis vous la collez dans le service émetteur. La doc anglaise d'un outil résume souvent la mécanique ainsi : « the URL that you configure is where we send the message, with all the data ». Votre serveur répond alors un merci technique, le fameux code 200, pour accuser réception : les codes de réponse HTTP jouent ici un rôle décisif.
- Être joignable en HTTPS et rester stable dans le temps
- Accepter une requête POST contenant un corps au format JSON
- Répondre vite, sans attendre la fin du traitement interne
- Rester confidentielle : une URL de webhook s'utilise comme une clé
À quoi sert un webhook : sa fonction au quotidien
La fonction d'un webhook se résume en une phrase : supprimer la ressaisie entre deux logiciels. Sans lui, quelqu'un doit ouvrir un tableau de bord, lire les infos, puis les recopier ailleurs. Les équipes qui développent votre logiciel sur mesure posent ces crochets en quelques heures, et une plateforme no code permet souvent de s'en passer complètement. Le gain est toujours le même : des données à jour, sans délai et sans oubli.
- Marquer une commande payée dès l'encaissement, via un webhook Stripe
- Alerter l'équipe dans Slack, Teams ou Discord à chaque nouveau prospect
- Créer la fiche client dans le CRM sans intervention humaine
- Lancer une relance par e-mail ou fermer un ticket résolu
- Mettre à jour un stock dans le back office après une vente
Comment ça marche, de l'événement au message
Le déroulé est volontairement simple. Un événement se produit chez l'émetteur, celui-ci vérifie s'il doit déclencher un envoi, puis il poste un message HTTP vers votre adresse. Votre serveur lit le contenu, confirme la réception et traite la suite de son côté. Côté site, quelques lignes de JavaScript ou de PHP suffisent pour recevoir l'appel : ce n'est pas un chantier de programmation.
- event ou type : la nature de ce qui vient de se passer
- data : les infos utiles, structurées en JSON
- time : l'horodatage précis de l'événement
- signature : la preuve que l'émetteur est bien celui annoncé
Webhook ou API : la différence que tout le monde cherche
Les deux notions se recoupent, ce qui explique la confusion. Un webhook circule sur les mêmes rails qu'une API : du HTTP, une URL, du JSON. Ce qui change, c'est qui prend l'initiative de la conversation.
Endpoint, api call et REST : qui appelle qui ?
Un endpoint désigne une adresse capable de recevoir des requêtes ; le webhook, lui, désigne l'usage que l'on fait de cette adresse. Opposer endpoint et crochet web n'a donc pas vraiment de sens, puisque le second s'appuie sur le premier. Avec une API REST, c'est vous qui lancez l'api call pour récupérer des données, parfois toutes les cinq minutes pour rien. Le webhook inverse le sens : le service vous appelle une fois, au bon moment, et vous économisez des milliers d'interrogations inutiles.
Webhook, socket ou web service : trois réponses différentes
Un web service, c'est la famille entière : tout échange machine à machine passant par le web. Le crochet web n'en est qu'un cas particulier, orienté notification sortante. Le socket maintient, lui, une connexion ouverte en permanence pour discuter en continu, ce qui reste pertinent pour un chat ou un suivi en temps réel. Notre mécanisme ne garde rien d'ouvert : il frappe, dépose son message, puis laisse le serveur fermer la connexion. Beaucoup moins bavard, et nettement plus simple à maintenir.
Créer et configurer un webhook : Discord, Slack ou Teams
Sur les outils grand public, aucune ligne de code n'est nécessaire. Dans Discord, vous ouvrez les paramètres du salon, entrez dans « Intégrations », créez le crochet, nommez-le puis copiez son adresse. Un slack webhook ou un teams webhook se crée de la même manière, par une application entrante. Pour un github webhook ou un déclencheur de paiement, le sens s'inverse : vous collez l'URL de votre site dans le tableau de bord du service et cochez les événements souhaités. La doc de l'émetteur reste la référence sur le sujet.
- L'URL de réception, en HTTPS
- Les types d'événements à écouter, jamais tous par défaut
- Un secret de signature, quand l'outil le propose
- Le format attendu du message, JSON dans la grande majorité des cas
Tester un webhook avant la mise en production
Le webhook testing évite les mauvaises surprises. Des services en ligne génèrent une URL jetable qui affiche tout ce qu'elle reçoit : idéal pour lire le contenu brut et vérifier chaque champ. Il est aussi possible de déclencher un envoi de test depuis l'interface de l'émetteur. Conservez un log de chaque appel : quand un statut error revient en boucle, vous savez tout de suite si le problème vient de l'émetteur ou de votre serveur.
Les erreurs qui coûtent cher
La première est de considérer le message reçu comme une vérité absolue. N'importe qui connaissant votre adresse peut vous envoyer un faux appel, d'où l'intérêt de contrôler la signature. La deuxième consiste à répondre trop tard : un traitement lourd exécuté avant la réponse provoque un délai, puis un nouvel envoi. La troisième, la plus sournoise, est d'ignorer les doublons, car importer deux fois le même événement dans votre base de données crée des commandes fantômes.
Questions fréquentes
C'est un message automatique qu'un service envoie vers une URL que vous contrôlez, dès qu'un événement précis se produit. On parle aussi de crochet web, ou de hooks dans le jargon des développeurs. Son utilisation la plus courante : prévenir votre site qu'un paiement est validé, sans que personne n'ait à le vérifier.
Ouvrez les paramètres du salon concerné, puis la section Intégrations, et choisissez de créer un webhook. Donnez-lui un nom, sélectionnez le salon de destination et copiez l'adresse générée. Il reste à coller cette URL dans l'outil émetteur : une requête POST avec un champ de contenu suffit pour publier un message. Le crochet est actif dès que vous refermez les paramètres.
Le sens de la demande, uniquement. Un appel d'API part de chez vous : vous interrogez, le service répond. Le webhook part du service : il vous prévient sans attendre votre question. Dans la pratique, les deux se complètent très bien, la notification arrivant par webhook avant que vous n'appeliez l'API pour récupérer le détail complet.
À lire aussi. Sur le même thème.
Préférences de cookies
Nous utilisons des cookies pour améliorer le site, comme expliqué dans notre politique de cookies. Vous pouvez refuser les cookies qui ne sont pas nécessaires.
Préférences de cookies
Ils font fonctionner le site : mémoriser votre choix de cookies, envoyer un formulaire, garder votre session ouverte. Sans eux, des parties du site cessent de marcher. Ils ne servent pas à vous suivre et ne peuvent pas être refusés.
Ils nous disent combien de personnes visitent le site et quelles pages sont lues, sous forme de statistiques. Ils nous aident à corriger ce qui ne va pas. Le site fonctionne sans eux.
Ils servent à mesurer nos campagnes publicitaires et à vous présenter des annonces adaptées sur d'autres sites. Le site fonctionne sans eux.