Webhooks
Les articles d'aide peuvent ne pas être parfaitement exacts — mises à jour fréquentes et traduction automatique peuvent les décaler de l'application. En cas de doute, contactez le support.
Les webhooks permettent à vos propres systèmes d'être informés à l'instant même où quelque chose se produit dans EventMann — une réservation confirmée, un billet enregistré, un versement payé — plutôt que d'avoir à interroger les changements en continu. Ils se trouvent sous la même rangée Intégrations de la barre latérale, sur l'onglet Webhooks.
Comment ajouter un point de terminaison
- Allez dans Intégrations → Webhooks → Ajouter
- Donnez-lui un nom et l'URL http(s) publique qui doit recevoir les appels — une adresse privée ou interne est rejetée d'emblée, aussi bien ici qu'à chaque fois qu'un webhook se déclenche réellement
- Cochez les types d'événements que vous souhaitez recevoir
- Enregistrez. Une clé secrète de signature de 64 caractères est générée automatiquement pour vous et affichée masquée ; utilisez Afficher/Masquer pour la révéler une fois
Événements auxquels vous pouvez vous abonner
| Événement | Se déclenche quand |
|---|---|
booking.created | une réservation démarre, avant le paiement |
booking.confirmed | une réservation est confirmée |
booking.cancelled | une réservation est annulée |
booking.refunded | une réservation est remboursée |
event.created | vous créez un nouvel événement |
event.published | un événement passe en direct |
event.cancelled | un événement est annulé |
event.updated | les détails de l'événement changent |
ticket.checked_in | un billet est scanné à l'entrée |
payment.received | un paiement est réglé |
payment.refunded | un paiement est remboursé |
payout.created | un versement est créé |
payout.paid | un versement est payé |
staff.assigned | un membre du personnel est affecté à votre événement |
staff.checked_in | un membre du personnel s'enregistre pour un shift |
vendor.assigned | un fournisseur est affecté à votre événement |
vendor.invoice_submitted | un fournisseur soumet une facture |
La livraison elle-même
Chaque appel est un POST de JSON structuré ainsi :
{"event":"booking.confirmed","data":{"id":1,"reference":"BK-ABC123","status":"confirmed","total":49.99,"currency":"USD","attendee_name":"Jane Doe","attendee_email":"jane@example.com","event_id":10,"confirmed_at":"2026-03-01T12:05:00Z"},"timestamp":"2026-03-01T12:05:00Z","delivery_id":"..."}
En plus, vous recevez un en-tête X-Webhook-Event nommant l'événement, un X-Webhook-Delivery-Id, et un en-tête X-Webhook-Signature — un HMAC-SHA256 du corps brut de la requête, signé avec la clé secrète affichée sur la page du point de terminaison. Recalculez-le de la même façon de votre côté et comparez-le avant de faire confiance à une charge utile.
Nouvelles tentatives et ce qui se passe quand un destinataire est hors service
- Une livraison est tentée jusqu'à 5 fois, avec une attente de 10, puis 30, puis 60 secondes entre les tentatives ; seule une réponse 2xx compte comme livrée
- Une fois que les 5 tentatives pour un même événement ont échoué, le compteur d'échecs du point de terminaison augmente d'exactement un — pas une fois par tentative
- 10 livraisons échouées sur une heure glissante mettent ce point de terminaison en pause pendant 5 minutes ; si le compteur d'échecs franchit un jour la valeur de 10, ou si cette pause se déclenche, le point de terminaison se désactive automatiquement et ne reçoit plus rien jusqu'à ce que vous le corrigiez
- Vous recevrez une notification dans l'application à l'instant où cela se produit, nommant le point de terminaison
- Un point de terminaison désactivé affiche un avis « Ce point de terminaison est désactivé », avec la raison, à la fois sur la liste des points de terminaison et sur sa propre page — modifier son nom, son URL ou ses événements ne le réactive pas. Corrigez ce qui n'allait pas avec votre destinataire, puis utilisez le bouton Réactiver ; cela réinitialise le compteur d'échecs et lève la pause, en conservant la même URL et la même clé secrète de signature
- L'historique des livraisons — type d'événement, statut HTTP, durée et heure — est conservé 30 jours puis purgé automatiquement
Bon à savoir
- Envoyer un test, sur la page d'un point de terminaison, envoie un événement
pingsynthétique afin que vous puissiez vérifier votre destinataire et la validation de signature avant de vous abonner à quoi que ce soit de réel - Réessayer sur une livraison échouée renvoie cet événement à neuf vers vos points de terminaison actuellement actifs — c'est une nouvelle livraison, pas une reprise de la chaîne de tentatives d'origine
- Les envois de webhooks tournent sur leur propre file d'attente, séparée du paiement et des e-mails, si bien qu'un destinataire lent ou défaillant de votre côté ne peut pas ralentir les réservations ni les e-mails de billets
- Décocher un type d'événement arrête silencieusement son envoi — il n'y a aucun avis indiquant que vous avez cessé de recevoir quelque chose
Dépannage
- Les livraisons se sont arrêtées sans erreur visible de mon côté — ouvrez le point de terminaison et vérifiez son compteur d'échecs et son statut ; s'il affiche désactivé, corrigez votre destinataire et cliquez sur Réactiver
- La signature ne correspond jamais — hachez le corps brut exact de la requête, pas une copie re-sérialisée de celui-ci, avec la clé secrète affichée sur la page du point de terminaison
- Le test réussit mais les événements réels n'arrivent jamais — vérifiez que le type d'événement en question est bien coché sur ce point de terminaison ; les types non abonnés ne sont tout simplement jamais envoyés