Que sont les webhooks ? Et en quoi diffèrent-ils des API
📷 anshul kumar · Pexels✦ Points clés
- Un webhook envoie les données dès qu'un événement survient, sans requête de votre part (modèle push).
- Une API classique repose sur des interrogations répétées (polling, modèle pull).
- Les webhooks sont plus rapides et légers pour les événements en temps réel (paiements, messages).
- Il faut une URL publique pour recevoir les requêtes, et vérifier l'authenticité de chacune.
Un webhook permet à une application d'en notifier automatiquement une autre dès qu'un événement précis survient. Au lieu que votre application demande sans cesse à un service de paiement « un achat a-t-il eu lieu ? », le service de paiement envoie lui-même un message à une URL que vous avez définie, à l'instant de l'achat. D'où le surnom d'« API inversée ».
Une analogie : vous attendez un colis. Une API classique, c'est appeler le transporteur chaque heure pour demander « mon colis est-il arrivé ? » — beaucoup d'appels, souvent sans nouvelle. Un webhook, c'est leur demander de vous appeler une fois, dès l'arrivée. Le premier est le modèle pull (polling) ; le second, le modèle push.
🌐 Temps de téléchargement
Durée de téléchargement selon votre débit — instantané.
En pratique ? Vous enregistrez une URL publique auprès du service (passerelle de paiement, messagerie). À l'événement, le service envoie une requête HTTP POST à votre URL avec les données, généralement en JSON. Votre serveur la reçoit, la vérifie, puis agit — envoyer un reçu, mettre à jour la base.
| Critère | Webhook (push) | API par polling (pull) |
|---|---|---|
| Qui initie la connexion | Le service émetteur | Votre application |
| Timing | Dès l'événement | À intervalle fixe |
| Ressources | Faibles | Élevées (requêtes vides) |
| Latence | Quasi instantanée | Retardée par l'intervalle |
| Idéal pour | Événements temps réel | Données à évolution lente |
Où les utilise-t-on ? Presque partout : signaler un paiement réussi (Stripe, PayPal), alerter d'un nouveau message (Slack), déclencher une compilation à chaque push de code (GitHub), ou relier vos applications via des plateformes d'automatisation. Tous s'appuient sur les webhooks pour transmettre les événements instantanément.
Point de sécurité important : comme votre URL est publique, n'importe qui pourrait tenter d'envoyer de fausses requêtes. Les services sérieux joignent donc une signature secrète à chaque requête, que votre serveur doit vérifier avant de faire confiance aux données. Négliger cette vérification est une faille fréquente.
En résumé : webhooks et API ne sont pas rivaux mais complémentaires — les webhooks pour les événements temps réel qu'on ne veut pas attendre, l'API pour demander des données au moment de votre choix.
