Webhook
L'intégration d'un Webhook vous permet de déclencher des actions à distances, hébergées dans vos systèmes, depuis vos scénarios d'automatisation.
Intégration d'un Webhook
Pour intégrer un Webhook à Captain Metrics il vous faut :
Ajouter une intégration Webhook
Renseigner l'URL de votre système qui recevra le webhook



Automatiser l'envoi d'un webhook
Pour envoyer un webhook il vous faut :
Connecter un Webhook à votre projet Captain Metrics
Créer un scénario d'automatisation dans Captain Metrics
Ajouter une action "Envoyer un Webhook" et sélectionner le Webhook que vous avez connecté



Spécification du Webhook
Le webhook est transmis sur l'URL configurée lors de sa création via une requête POST
au format JSON
.
Entêtes de la requête
Header
Description
X-Captain-Metrics-Signature
Signature HMAC 256 du Body
de la requête. Vous pouvez vérifier l'authenticité de la requête en recalculant la signature de votre côté, grâce à la clé secrète de votre projet Captain Metrics.
X-Captain-Metrics-Project
ID du project Captain Metrics à l'origine du webhook.
Contenu JSON de la requête
Key
Type
Description
projectId
string
ID du project Captain Metrics à l'origine de la requête.
integrationId
string
ID de l'intégration de type "webhook" configurée dans le projet.
endpoint
string
URL de destination du webhook.
createdAt
date
Date de création du webhook.
events
array
Liste d'événements avec leur données respectives.
events.kind
string
Type d'événement. (i.e: automation
...)
events.data
object
Données spécifiques à l'événement.
Exemple d'un webhook "automation"
Un webhook déclenché via un scénario d'automatisation, peut contenir autant d'events
qu'il y a de users
impliqués, par lot de 50 :
{
"projectId": "demo_demo",
"integrationId": "webhook",
"endpoint": "https://webhook-endpoint.your-server.com",
"createdAt": "2021-02-19T14:06:08.066Z",
"events": [
{
"kind": "automation",
"data": {
// user object concerned by the automation
"user": {
"id": "xxx",
"externalId": "your-user-id",
"isAuthenticated": true,
"...": "..."
},
// eventual event which triggered the automation scenario
"triggerEvent": {
"id": "xxxx",
"kind": "abandonedCart",
"createdAt": "2021-02-19T14:06:08.066Z",
"...": "..."
},
// metadata about the automation scenario execution
"timelineAutomation": {
"automationId": "xxx",
"nodeId": "xxx",
"executionAt": "2021-02-19T14:06:08.066Z",
"triggerEventId": "xxx",
"experimentIds": ["a", "b"]
}
}
},
...
]
}
Réponse attendue
Le webhook s'attend à recevoir une réponse code 200
.
En cas d'erreur (code différent de 200) le webhook retournera dans la file d'attente pour un nouvel essai futur.
Le délais entre chaque tentative sera doublé en cas d'erreur. Il commence à 1sec pour finir à 1h.
Au bout de 100 tentatives manquées, le webhook sera jeté. Cela correspond à environ 3,5 jours d'essais.
Mis à jour
Ce contenu vous a-t-il été utile ?