Un webhook est un message qu'une application envoie à une autre dès qu'un événement se produit. Fonctionnement, vérification et ce qu'envoie sona.to.
Un webhook est un message qu'une application envoie à une autre dès qu'un événement se produit, pour que la seconde n'ait pas à demander sans arrêt. Vous donnez une adresse à la première application, et elle y envoie le détail de chaque événement aussitôt qu'il a lieu. Ce guide explique comment fonctionnent les webhooks, comment vérifier qu'un webhook est authentique et ce que sona.to envoie, ce que résume aussi la page Webhooks.
Webhook : c'est quoi ?
La plupart des applications échangent des données de deux façons. Avec une API, votre système demande : « la publication est-elle en ligne ? », et redemande plus tard si la réponse est non. Avec un webhook, c'est l'application qui vous prévient : quand la publication est en ligne, elle envoie une requête à l'adresse que vous avez choisie, avec le détail de la publication.
Un webhook est donc une requête HTTP, généralement un POST avec un corps JSON, envoyée vers une URL que vous contrôlez. Cette URL peut être votre propre serveur, ou une adresse de webhook fournie par n8n, Zapier, Make, Slack ou un autre service qui lance un workflow à l'arrivée de la requête.
Webhook ou API
Une API sert à demander et à modifier : lister des publications, créer une publication, lire des chiffres. Un webhook sert à être prévenu. La plupart des intégrations utilisent les deux : l'API pour créer une publication et un webhook pour savoir quand elle a été publiée ou a échoué. Interroger une API encore et encore gaspille des requêtes et vous informe quand même en retard, alors qu'un webhook arrive dès que l'événement a lieu.
Comment vérifier un webhook
Quiconque connaît l'adresse de votre webhook pourrait y envoyer une fausse requête : un webhook bien conçu est donc signé. L'expéditeur calcule une signature à partir du corps et d'un secret partagé, généralement avec HMAC SHA-256, et la place dans un en-tête. De votre côté, vous calculez la même signature avec le même secret et comparez les deux avec une comparaison à temps constant. Si elles diffèrent, la requête est ignorée.
Inclure un horodatage dans les données signées empêche aussi les rejeux : une requête interceptée une fois ne peut pas être renvoyée plus tard, car son horodatage est trop ancien.
Les webhooks dans sona.to
sona.to envoie des webhooks pour quatre événements : une publication a été mise en ligne, une publication a échoué, un audit de site est terminé et un audit de site a échoué. Vous choisissez les événements que reçoit chaque webhook : un outil d'alerte dans une messagerie peut n'écouter que les échecs, tandis qu'un tableau de suivi reçoit tout. Le contenu envoyé utilise les mêmes noms de champs que l'API de sona.to.
Mise en place. Sur la page API de votre tableau de bord, collez l'adresse, cochez les événements et enregistrez. Le secret de signature n'est affiché qu'une fois, à ce moment-là : copiez-le tout de suite.
Signature. Chaque envoi comporte un en-tête avec un horodatage et un HMAC SHA-256 de l'horodatage et du corps, calculé avec votre secret. Rejetez les requêtes dont l'horodatage date de plus de quelques minutes.
Nouvelles tentatives. Si votre adresse est indisponible ou renvoie une erreur, l'envoi est retenté après 60 secondes, 5 minutes et 30 minutes. Chaque tentative est enregistrée avec son code de statut et sa durée. Une adresse qui échoue sans cesse est désactivée, et vous pouvez la réactiver une fois le problème corrigé.
Sécurité. L'adresse doit utiliser https et pointer vers un serveur public. Les adresses sur des réseaux privés sont refusées à l'enregistrement puis à nouveau à l'envoi, et les redirections ne sont pas suivies.
Les webhooks avec n8n, Zapier et Make
Les applications sona.to pour n8n, Zapier et Make proposent des déclencheurs prêts à l'emploi pour ces quatre mêmes événements : vous n'avez pas à coller d'adresse vous-même. Ajoutez le déclencheur et l'application configure le webhook. Consultez notre guide sur l'automatisation des réseaux sociaux avec n8n, Zapier et Make.
Tous les détails, avec un exemple de vérification de signature, se trouvent dans la documentation de l'API.
Questions fréquentes
Un webhook, est-ce la même chose qu'une API ?
Non. Une API répond quand vous demandez. Un webhook vous envoie un message quand quelque chose se produit.
Les webhooks de sona.to sont-ils gratuits ?
Les webhooks sont inclus dans tous les forfaits, avec l'API.
Que se passe-t-il si mon serveur est indisponible ?
sona.to réessaie trois fois sur environ une demi-heure. Si les envois continuent d'échouer, le webhook est désactivé jusqu'à ce que vous le réactiviez.
Prêt à essayer ?
Gratuit pour commencer, sans carte bancaire.