vendredi 25 septembre 2026

À propos

Contact

Lexique · HTTP & API

Webhook

En anglais : « Webhook »

Requête HTTP envoyée automatiquement par un service dès qu'un événement précis se produit chez lui, permettant à une application tierce d'être notifiée sans avoir à interroger sans cesse ce service.

Pour savoir si un paiement vient d’être validé, deux stratégies existent : interroger le service de paiement toutes les minutes en espérant tomber au bon moment, ou lui demander de prévenir directement dès que l’événement survient. Le webhook, c’est cette deuxième approche : le service tiers envoie de lui-même une requête HTTP (généralement POST) vers une URL définie à l’avance, dès qu’un événement précis se produit chez lui.

Webhooks côté WordPress

WooCommerce expose un système de webhooks natif (réglages « WooCommerce > Réglages > Avancé > Webhooks ») qui peut notifier une URL externe à chaque commande créée, payée ou remboursée. Dans l’autre sens, un thème ou une extension crée une route dédiée pour recevoir les webhooks d’un service externe (Stripe, un CRM) via register_rest_route() ou une simple action liée à init qui écoute une URL spécifique.

Exemple

POST /wp-json/mon-app/v1/webhook-stripe HTTP/1.1
Content-Type: application/json

{"type":"payment_intent.succeeded","data":{...}}

Pièges fréquents

  • Ne pas vérifier la signature du webhook (souvent fournie dans un en-tête dédié) : sans cette vérification, n’importe qui connaissant l’URL peut envoyer de fausses notifications.
  • Traiter un webhook de façon trop lente : la plupart des services annulent l’appel après quelques secondes sans réponse et considèrent l’envoi en échec, provoquant des doublons de tentative.
  • Confondre webhook et API classique : un webhook est initié par le service distant, pas par le site qui le reçoit, ce qui inverse le sens habituel de l’appel.