Illustration Oraxya : outils et étapes reliés dans un workflow.

Un webhook est un message envoyé automatiquement par un outil vers une adresse web que tu as choisie, lorsqu'un événement se produit, par exemple une nouvelle commande. Il évite de recopier les données à la main ou de demander sans cesse à l'outil s'il y a du nouveau. Pour qu'il soit fiable, il faut choisir les bonnes données, vérifier les droits, tester, bloquer les doublons et prévoir les reprises après erreur.

Qu'est-ce qu'un webhook ? Une définition simple

Les webhooks sont des messages automatiques entre deux logiciels. Lorsqu’un événement sélectionné se produit, le premier outil déclenche l’envoi d’une notification vers un point de réception. Le délai dépend de la plateforme, du réseau et du traitement à destination ; il n’est pas garanti instantané.

Un exemple du quotidien : tu commandes un colis et tu reçois un SMS dès que le livreur le dépose. Tu n'as pas appelé le transporteur toutes les dix minutes. C'est lui qui t'a prévenu au bon moment. Cette comparaison illustre le principe d’une notification déclenchée par un événement ; elle ne décrit pas le fonctionnement technique de tous les SMS de livraison.

Le vocabulaire à connaître

Le jargon est vite décourageant. Voici les quatre mots utiles :

  • Événement : ce qui déclenche l'envoi (une commande payée, un formulaire rempli, un devis signé).

  • URL de réception (ou « endpoint ») : l'adresse web qui reçoit le message côté outil de destination.

  • Payload : le contenu du message, le plus souvent au format JSON, un texte structuré lisible par les machines.

  • Requête HTTP POST : une méthode couramment employée pour transmettre le message à l’adresse de réception ; le contrat exact dépend du service.

La plupart des éditeurs décrivent ces notions dans leur documentation officielle, souvent sous les rubriques « webhooks », « notifications » ou « API ». Lis toujours cette page avant de configurer quoi que ce soit : le nom des événements et le format du message changent d'un outil à l'autre.

Webhook, API et interrogation périodique : quelles différences ?

Trois mots reviennent souvent dans les discussions entre outils, et on les confond facilement.

  • Une API est une interface de communication proposée par un logiciel. Elle permet à un autre programme de lire ou d'écrire des données, sur demande.

  • L'interrogation périodique (« polling ») consiste à utiliser cette API à intervalles réguliers pour demander : « Y a-t-il du nouveau ? »

  • Le webhook inverse la logique. L'outil source prévient lui-même, uniquement quand il se passe quelque chose.

Un webhook ne remplace pas l'API. Souvent, les deux travaillent ensemble : le webhook signale « la commande 1042 vient d'être payée », puis l'API permet d'aller chercher le détail complet si le message est court.

Critère

Webhook

API à la demande

Interrogation périodique

Qui prend l'initiative ?

L'outil source

Ton outil ou ton script

Ton outil ou ton script, en boucle

Quand l'info arrive-t-elle ?

Après déclenchement, selon le délai de livraison

Au moment où tu la demandes

Au prochain passage

Envois ou appels à surveiller

Événements non utiles et nouvelles tentatives

Selon l'usage

Appels possibles même si rien ne change

Risque principal

Message perdu ou reçu deux fois

Droits d'accès mal réglés

Retard et limites d'appels de l'outil

Cas typique en TPE

Prévenir l'outil de suivi d'une commande

Consulter une fiche client

Outil sans webhook disponible

Quand préférer l'interrogation périodique ? Quand l'outil ne propose pas de webhook, ou quand un léger retard n'a aucune importance, par exemple une synthèse envoyée une fois par jour. Le webhook peut réduire les consultations sans résultat. Le choix dépend toutefois des événements disponibles, des volumes et des possibilités de reprise ; il peut se combiner avec un rapprochement périodique.

Exemple : transmettre une commande à un outil de suivi

Prenons une situation fictive. Une petite entreprise de la Loire, que nous appellerons « Atelier Martin », vend des meubles sur mesure via sa boutique en ligne. Chaque commande doit apparaître dans un outil de suivi (un tableau où l'équipe voit l'état de fabrication et de livraison). Aujourd'hui, quelqu'un recopie chaque commande à la main, et des oublis arrivent.

Le scénario pas à pas

  1. Un client paie la commande n° 1042 sur la boutique.

  2. La boutique détecte l'événement « commande payée » et envoie un webhook vers l'adresse de réception de l'outil de suivi.

  3. L'outil de suivi vérifie que le message vient bien de la boutique.

  4. Il conserve le message accepté et sa référence, puis accuse réception. Le traitement vérifie ensuite si l’événement a déjà produit son effet et crée ou met à jour la ligne « Commande 1042 » selon les règles prévues.

  5. L'équipe voit la ligne apparaître, sans aucune saisie.

Voici à quoi pourrait ressembler le message, très simplifié :

{
  "événement": "commande_payee",
  "identifiant_evenement": "evt_8f21",
  "commande": {
    "numero": "1042",
    "reference_client": "client_fictif_001",
    "produit": "Table en chêne",
    "quantite": 1
  }
}

Remarque l'identifiant de l'événement. Il aide à reconnaître une livraison répétée ; il ne remplace pas les règles métier ni un traitement capable de gérer deux arrivées simultanées.

Ce que ça change pour l'équipe

L’objectif est de réduire la recopie et les oublis, avec un délai de mise à jour observé lors des tests. Une erreur doit rester visible et récupérable. Ce gain n'est pas chiffrable à l'avance : il dépend du volume de commandes et de la manière dont l'équipe travaille aujourd'hui. Mesure plutôt ton propre point de départ, par exemple le nombre de commandes oubliées ou ressaisies sur un mois, puis compare après la mise en place.

Comment mettre en place un webhook fiable et éviter les doublons

Le travail dépend des outils et du résultat attendu. Pour une connexion, notre processus de création d’un site web donne un cadre : préciser le besoin, construire, tester et organiser le suivi. Voici les points à vérifier, dans l'ordre.

Choisir les données utiles et régler les droits

N'envoie que ce dont l'outil de destination a besoin. Pour préparer la fabrication, une référence de commande, un produit, une quantité et un état peuvent suffire. Une adresse de livraison n’est utile que si cette étape la nécessite. Liste les champs attendus et écarte les informations sans utilité pour le traitement.

  • Minimise les données personnelles : moins tu en transmets, moins tu exposes. Évite notamment de recopier tout un dossier client dans les messages ou les journaux de suivi.

  • Limite les droits : crée un accès dédié à la connexion, avec uniquement les permissions nécessaires, plutôt que d'utiliser le compte administrateur.

  • Vérifie l'expéditeur : beaucoup d'outils signent leurs messages avec un secret partagé. Ton outil de destination doit contrôler cette signature et refuser tout message douteux.

  • Utilise HTTPS et vérifie l’authenticité. Une adresse de réception peut être accessible sur Internet : son caractère discret ne remplace pas l’authentification. Les secrets restent côté serveur, hors des URL et du code public.

Tester avant de brancher pour de bon

Fais d'abord des essais avec de fausses commandes, dans un environnement de test si l'outil en propose un. Beaucoup d'éditeurs fournissent un mode test ou un bouton « envoyer un événement d'essai » : la documentation officielle l'explique.

  1. Envoie une commande normale et vérifie que la ligne apparaît.

  2. Envoie une commande avec des cas particuliers : accent dans un nom, champ vide, montant à zéro.

  3. Envoie le même message deux fois et vérifie qu'une seule ligne est créée.

  4. Dans l’environnement d’essai, simule une indisponibilité de la destination, puis vérifie la reprise et l’alerte. Ne coupe pas un outil de production pour ce test.

Note les résultats. Ce petit cahier de tests te servira à chaque évolution.

Gérer doublons, erreurs et reprises

Une même notification peut être livrée plusieurs fois. Le comportement dépend du service et de ses règles de reprise. Le traitement doit distinguer une livraison répétée d’un nouvel événement légitime concernant la même commande.

  • Évite les doublons : utilise une référence d’événement stable dans le périmètre de la source, selon sa documentation. Le contrôle et l’effet métier doivent résister à deux arrivées simultanées. Ne rejette pas tous les événements d’une commande à partir de son seul numéro : un changement de statut peut être légitime. L’idempotence vise à ne pas répéter l’effet d’une même opération.

  • Réponds vite : après les contrôles nécessaires et la conservation fiable du message ou son acceptation dans une file durable, la destination peut répondre avec un code 2xx puis traiter la suite en arrière-plan. Un accusé de réception envoyé avant cette conservation pourrait masquer une perte. Respecte le délai défini par le service.

  • Prévois les reprises : vérifie si l’émetteur réessaie automatiquement, dans quels cas et pendant combien de temps. Cette reprise n’est pas universelle. Définis aussi comment détecter et rattraper un message qui n’a pas abouti.

  • Prévois le rattrapage : si l’API et les droits le permettent, un rapprochement périodique avec les données de la source peut repérer les commandes manquantes. Définis la fréquence, les références comparées et le traitement des écarts.

  • Ne crée pas de boucle : si l'outil de suivi renvoie lui aussi un webhook vers la boutique, assure-toi que les deux ne se relancent pas indéfiniment.

Suivre la connexion dans la durée

Une connexion qui marche aujourd'hui peut casser demain : changement de version chez l'éditeur, mot de passe renouvelé, champ renommé. Mets en place un suivi simple :

  • un journal des messages reçus (date, identifiant, résultat) ;

  • une alerte par e-mail en cas d'échec répété ;

  • un contrôle régulier : le nombre de commandes dans la boutique correspond-il au nombre de lignes dans le suivi ?

  • une personne référente qui sait où regarder quand quelque chose ne remonte pas.

Pense aussi à l'équipe. Un bon branchement ne sert à rien si personne ne sait lire le tableau ou réagir à une alerte. Notre guide pour former l’équipe à un nouvel outil métier aide à préparer cette transmission. Pour le cas précis d’un formulaire commercial, le guide connexion d’un formulaire au CRM sans doublons complète ce cadre.

Faut-il le faire soi-même ?

Pour un cas simple, comme une notification vers une messagerie, les outils proposent souvent un réglage directement dans leurs paramètres. Dès que plusieurs outils sont impliqués, que les données sont sensibles ou que les erreurs coûtent cher, un cadrage plus sérieux s'impose. Si tu veux voir comment relier tes outils sans bricolage, découvre notre approche d'automatisation des tâches pour TPE. Tu peux aussi contacter Oraxya pour ton projet d’automatisation : on regardera ensemble quels outils tu utilises et quelles données doivent circuler.

FAQ sur les webhooks pour une TPE

Les événements peuvent-ils arriver dans le désordre ?

Oui. Ne déduis pas un ordre fiable d’un simple horodatage. Utilise une version ou une séquence seulement si la plateforme en documente les garanties. Pour une opération sensible à l’ordre, vérifie les règles métier et, si nécessaire, l’état courant auprès de la source.

HTTPS suffit-il à reconnaître l’expéditeur ?

Non. HTTPS protège le transport. Le récepteur doit aussi vérifier le mécanisme d’authentification prévu par le service, par exemple une signature sur le message. Un identifiant déjà vu et les règles de validité doivent être contrôlés selon ce contrat.

Que se passe-t-il si l’adresse de réception change ?

Prépare la transition avec le responsable de la connexion, mets à jour l’adresse chez l’émetteur et effectue un essai. Vérifie les envois encore dirigés vers l’ancienne adresse et traite les reprises sans dupliquer les effets. Si deux destinations fonctionnent temporairement, elles doivent partager des règles cohérentes.

Deux outils peuvent-ils se renvoyer la même modification ?

Oui. Précise quel outil fait autorité pour chaque information et dans quel sens elle circule. Une modification reçue d’un autre système ne doit pas relancer aveuglément la même action en sens inverse. Le scénario doit être inclus dans les essais.

Sources et limites de ce guide

La présentation des webhooks par GitHub explique la notification déclenchée par un événement et sa différence avec l’interrogation périodique. Les bonnes pratiques GitHub détaillent notamment les événements utiles, le secret et le transport HTTPS. Elles concernent ce service : les réglages exacts d’un autre outil doivent être vérifiés dans sa propre documentation.

La documentation des webhooks Stripe décrit, pour Stripe, les nouvelles tentatives, les doublons possibles et l’absence de garantie d’ordre. Ces différences justifient de tester le contrat de livraison avant de le généraliser. L’exemple de commande et la grille de préparation ci-dessus sont illustratifs, sans engagement de délai ni gain chiffré.

Cadrons la connexion entre tes outils

Décris l’événement de départ, les données utiles et le résultat attendu. Nous pourrons examiner les possibilités des outils et les points à tester.

Parler de mon projet d’automatisation

Cadrons ton projet ensemble

Présente ton activité, ce que tu as déjà et la première amélioration que tu veux obtenir. On pourra définir un périmètre cohérent.

Parler de mon projet