Passer au contenu

Webhook

Les webhooks vous permettent d’envoyer des données de parcours à des services externes tels que des outils d’analyse, des systèmes CRM et des outils marketing. Vous pouvez :

  • Notifier les systèmes externes lorsqu’un client effectue une action dans le parcours
  • Envoyer les données client à des outils d’analyse
  • Déclencher des e-mails, SMS ou WhatsApp tiers lors d’événements de parcours spécifiques

Comment configurer l’élément Webhook

Anchor link to

Ajoutez l’élément Webhook

Anchor link to

Faites glisser et déposez l’élément Webhook sur le canevas. Placez le Webhook où vous le souhaitez, en gardant à l’esprit les informations de parcours que vous allez envoyer à un service tiers.

Élément Webhook sur le canevas avec les paramètres de nom et de requête

Nommez l’étape Webhook et spécifiez l’URL et le type de la requête

Anchor link to

Dans le champ NOM DE L’ÉTAPE, saisissez un nom pour le webhook. Il peut être pratique de nommer les webhooks en fonction des services auxquels ils envoient des données ou du cas d’utilisation.

Ensuite, dans le champ URL, spécifiez l’URL de la requête à laquelle les données doivent être envoyées. À côté du champ URL, sélectionnez le type de requête dans la liste déroulante TYPE DE REQUÊTE : GET ou POST.

Interface de configuration du Webhook montrant le champ URL et la liste déroulante TYPE DE REQUÊTE pour sélectionner la méthode GET ou POST

Configurez les en-têtes

Anchor link to

Dans la section EN-TÊTES, définissez le type de contenu.

Par défaut, le type de contenu est application/json. Si le service auquel vous envoyez le webhook nécessite un autre type de contenu, saisissez celui qui convient dans la valeur de l’en-tête Content-Type.

Exemples de types de contenu :

  • x-www-form-urlencoded
  • text/plain
  • text/xml

Ajoutez des en-têtes supplémentaires si nécessaire en cliquant sur + AJOUTER UN EN-TÊTE. Vous pouvez supprimer n’importe quel en-tête en cliquant sur l’icône ‘x’ à côté de celui-ci.

Ajoutez l’en-tête d’authentification requis par votre point de terminaison, par exemple :

  • Authorization: Bearer <token>
  • X-Api-Key: <key>
  • Authorization: Basic <base64(user:pass)>

Seul un secret statique dans un en-tête est pris en charge. Les flux d’échange de jetons OAuth2, mTLS et la signature de requêtes côté Pushwoosh ne sont pas pris en charge. Vous pouvez également restreindre le point de terminaison aux adresses IP de Pushwoosh au lieu de, ou en plus de, un secret d’en-tête. Voir Adresses IP de Pushwoosh.

Pour l’authentification HTTP Basic spécifiquement, procédez comme suit :

  1. Ouvrez un éditeur de texte brut et tapez votre nom d’utilisateur et votre mot de passe sans espaces, séparés par un deux-points. Par exemple : myuser:mypass
  2. Encodez cette chaîne en Base64.
  3. Copiez la chaîne Base64 résultante (par exemple, bXl1c2VyOm15cGFzcw==).
  4. Dans les paramètres du webhook, ajoutez un en-tête Authorization avec la valeur : Basic <VOTRE CHAÎNE BASE64>. Assurez-vous qu’il y a un espace après le mot “Basic”.
Exemple d'en-tête d'autorisation pour l'authentification Basic dans les paramètres du webhook montrant les en-têtes Content-Type et Authorization

Ajoutez le corps de la requête JSON

Anchor link to

Dans la section DONNÉES, saisissez le corps de votre requête JSON. Assurez-vous que le corps de la requête est au format JSON correct.

Exemple :

{
"hwid": "{{device:hwid}}"
}

Utilisez des données dynamiques et des macros

Anchor link to

Le panneau CONSTRUCTEUR DE DONNÉES vous permet d’insérer des informations dynamiques (telles que des données d’utilisateur, d’appareil, de Tag ou d’événement) directement dans le corps de votre requête JSON. Avec les données dynamiques, vous pouvez inclure des valeurs spécifiques à l’utilisateur individuel progressant dans le parcours.

Pour cela :

  1. Sélectionnez une catégorie. Vous pouvez extraire des données de trois catégories :

    • Appareil : Utilisez les données de l’appareil lorsque vous avez besoin d’informations techniques liées à l’appareil de l’utilisateur.

    • Tag : Utilisez les données de Tag lorsque vous souhaitez envoyer des informations stockées dans le profil de l’utilisateur.

    • Événement : Utilisez les données d’événement lorsque le webhook doit envoyer des valeurs de l’événement déclencheur du parcours.

  1. Sélectionnez un paramètre (par exemple, HWID, catégorie préférée, etc.).
  2. Pushwoosh génère une macro qui ressemble à ceci :
{{tag:Language}}
  1. Copiez la macro et collez-la dans votre corps JSON dans la section DONNÉES.

Lorsque le webhook s’exécute dans un parcours en direct, Pushwoosh remplace automatiquement la macro par la valeur réelle pour cet utilisateur.

Insérer des espaces réservés de données dynamiques dans le corps de la requête du webhook

Mappez les données de réponse du webhook à des variables

Anchor link to

En plus d’envoyer des données, l’élément Webhook peut également capturer des données de la réponse qu’il reçoit et les transformer en variables. Ces variables peuvent ensuite être utilisées plus tard dans le parcours. Par exemple, définissez un Tag avec Mettre à jour le profil utilisateur, ou planifiez un Délai basé sur une valeur renvoyée par le service externe. Pour un exemple de parcours complet, voir Utiliser les données de réponse du webhook dans votre parcours.

Dans la section MAPPAGE DE RÉPONSE, cliquez sur + AJOUTER UN MAPPAGE et remplissez deux champs pour chaque valeur que vous souhaitez capturer :

  • Chemin : l’emplacement de la valeur à l’intérieur du corps de la réponse JSON
  • Attribut : le nom que vous utilisez pour référencer cette valeur plus tard dans le parcours
Section de mappage de réponse avec les champs Chemin et Attribut et le bouton Ajouter un mappage dans les paramètres du webhook

Par exemple, si votre CRM répond avec :

{
"data": {
"user": {
"id": "789xyz"
}
}
}

Définissez Chemin sur data.user.id et Attribut sur crm_user_id pour capturer cet ID.

Délai d’attente, tentatives et requêtes échouées

Anchor link to

Pushwoosh attend jusqu’à 10 secondes pour une réponse. L’ensemble de l’étape Webhook, y compris l’envoi de la requête et le traitement de la réponse, est plafonné à 30 secondes. Chaque voyageur déclenche la requête une fois, et il n’y a pas de tentatives automatiques.

Cela ne couvre que l’échec de la requête elle-même. Une réponse qui arrive mais ne se mappe pas correctement, comme un JSON invalide, un Chemin non résolu, ou un corps de plus de 64 Ko, ne fait pas sortir le voyageur. Voir la note sous Mappage de réponse ci-dessus.

Testez le Webhook

Anchor link to

Cliquez sur Tester le webhook pour vérifier que la configuration de votre webhook est correcte et que la requête est envoyée avec succès.

Enregistrez votre configuration

Anchor link to

Cliquez sur Appliquer pour enregistrer la configuration de votre webhook.