Recevoir les événements avec un webhook

Mis à jour le 15 octobre 2026

Le webhook envoie une requête POST en JSON à votre serveur pour chaque événement de l’App, par exemple pour envoyer une notification push depuis votre serveur.

  1. Ouvrez Paramètres de l’App > Développeurs, section Webhook.
  2. Saisissez l’adresse de votre serveur, en https, puis enregistrez.
  3. Copiez le secret de signature qui apparaît et gardez-le sur votre serveur.

Les événements

  • message.member : un membre a répondu au Contact. Les notes internes ne sont jamais envoyées.
  • message.contact : le Contact a écrit.
  • case.opened : un Case s’ouvre, au premier message ou quand la conversation se rouvre.
  • case.resolved : un Case est résolu, par un membre ou automatiquement.

Chaque requête porte l’en-tête Zean-Event, avec le type de l’événement, et un corps en JSON comme celui-ci :

JSX
{
	"id": "…",
	"type": "message.contact",
	"createdAt": 1760515200000,
	"appId": "…",
	"data": {
		"conversationId": "…",
		"contact": { "id": "…", "externalId": "42", "name": "Awa Diallo", "email": "awa.diallo@example.com" },
		"message": { "id": "…", "body": "Bonjour, ma commande est-elle partie ?", "createdAt": 1760515200000 }
	}
}
  • data.contact : externalId, name et email valent null quand ils sont inconnus. contact vaut null si le Contact n’existe plus.
  • message.member et message.contact : data.message porte id, body et createdAt, plus memberId pour message.member.
  • case.opened et case.resolved : data.caseId remplace data.message.

La livraison

  • L’adresse doit être publique et en https : localhost et les réseaux privés sont refusés.
  • Répondez avec un code 2xx en moins de 10 secondes.
  • Sinon, l’appel est retenté jusqu’à 5 fois : après 1 minute, 5 minutes, 30 minutes, 2 heures, puis 6 heures.
  • Le champ id reste le même d’un essai à l’autre : servez-vous-en pour ignorer un doublon.

Tous les événements sont toujours envoyés : ignorez ceux dont vous n’avez pas besoin. Laissez l’adresse vide pour ne plus rien recevoir.

Besoin d'aide ?

Notre équipe vous répond dans le chat, en français ou en anglais.