Skip to main content
Les webhooks Le Commis vous notifient en temps quasi réel lorsque le contenu d’un établissement évolue : profil, horaires, menus, Carte unifiée. Plutôt que d’interroger l’API en boucle, vous recevez un signal et vous réagissez seulement quand c’est nécessaire.

Un signal, pas un transport de données

Le point le plus important à intégrer : un webhook Le Commis est un signal, pas une livraison de contenu. Le payload ne contient jamais le menu, les horaires ou le profil mis à jour. Il vous dit uniquement quel(s) type(s) de ressource a changé et quelle est la nouvelle révision de contenu. C’est à vous, en réaction, de :
  • re-lire l’API publique pour récupérer le contenu frais,
  • purger votre cache,
  • ou relancer le build de votre site statique.
Ce modèle garde les payloads minuscules, évite de versionner le schéma du contenu dans le webhook, et vous laisse maître de quand et comment vous rafraîchissez vos données.

Le flux de bout en bout

1

Un contenu change

Quelqu’un modifie le profil, les horaires ou un menu de l’établissement dans Le Commis. La révision de contenu de l’établissement est incrémentée.
2

Le Commis POST un webhook signé

Une requête POST est envoyée à votre URL de réception, avec un corps JSON et un en-tête de signature HMAC (X-LeCommis-Signature).
3

Votre endpoint répond vite (2xx)

Vous vérifiez la signature, puis vous répondez immédiatement un code 2xx. Tout traitement long doit partir en tâche de fond.
4

Vous re-fetch l'API

Selon changed_resources, vous appelez les endpoints concernés pour récupérer le contenu à jour.
5

Vous invalidez / rebuild

Vous purgez votre cache, ou vous déclenchez un rebuild de votre site (Astro, Next.js ISR, etc.).

Activer les webhooks

La configuration du webhook (URL de réception + secret de signature) se fait dans la page « réglages API » de l’établissement — la même page que celle où vous récupérez la clé API.
Seul l’administrateur de l’établissement peut activer et configurer le webhook. Une fois configuré, vous pouvez suivre l’état des livraisons (livrée / échouée) depuis cette même page « réglages API », sans accéder au code de réception.
  1. Renseignez une URL HTTPS publique de réception (le http:// est refusé).
  2. Notez le secret de signature (signing_secret) généré pour cet endpoint — vous en avez besoin pour vérifier les requêtes. Il peut être régénéré.
  3. Vérifiez que l’API publique de l’établissement est activée : un endpoint webhook n’est operational que si le webhook et l’API publique sont actifs.
Un bouton « test delivery » envoie une livraison de test (establishment.webhook_test) à votre URL. Servez-vous-en pour valider votre vérification de signature avant la mise en production.
L’URL de réception doit être HTTPS et publiquement joignable. Le Commis n’appelle pas les adresses internes/privées (filtrage SSRF), ne suit pas les redirections, et applique des timeouts courts (connexion 3 s, lecture 5 s, écriture 5 s).

Aller plus loin

Sécurité & signature

Vérifier la signature HMAC et se protéger du rejeu.

Catalogue d'événements

Le payload de establishment.content_updated champ par champ.

Retries & idempotence

Tentatives, debounce 30 s, déduplication par delivery_id.

Implémentation

Un endpoint receveur complet, de la signature au rebuild.