Skip to content

Créer une campagne webhook

La création d’une campagne webhook ou l’inclusion d’un webhook dans une campagne multicanale vous permet de déclencher des actions hors application en fournissant à d’autres systèmes et applications des informations en temps réel.

Vous pouvez utiliser les webhooks pour envoyer des informations à des systèmes tels que Salesforce ou Marketo, ou à vos systèmes backend. Par exemple, vous pourriez vouloir créditer les comptes de vos clients d’une promotion après qu’ils ont effectué un événement personnalisé un certain nombre de fois.

Étape 1 : Choisir où créer votre message

Vous ne savez pas si votre message doit être envoyé via une campagne ou un Canvas ? Les Campaigns sont plus adaptées pour des campagnes de communication uniques et ciblées, tandis que les Canvas sont plus adaptés pour des parcours utilisateur en plusieurs étapes.

Étapes :

  1. Allez dans Messaging > Campaigns et sélectionnez Create Campaign.
  2. Sélectionnez Webhook ou, pour les campagnes ciblant plusieurs canaux, sélectionnez Multichannel.
  3. Donnez à votre campagne un nom clair et significatif.
  4. (Facultatif) Ajoutez une description pour expliquer comment cette campagne sera utilisée.
  5. Ajoutez des équipes et des tags selon vos besoins.
    • Les tags facilitent la recherche de vos campagnes et la création de rapports. Par exemple, lorsque vous utilisez le générateur de rapports, vous pouvez filtrer par tags spécifiques.
  6. Ajoutez et nommez autant de variantes que nécessaire pour votre campagne. Vous pouvez choisir différents modèles de webhook pour chacune de vos variantes ajoutées. Pour en savoir plus sur ce sujet, consultez Test multivarié et A/B.

Étapes :

  1. Créez votre Canvas à l’aide du compositeur Canvas.
  2. Après avoir configuré votre Canvas, ajoutez une étape dans le générateur Canvas. Donnez à votre étape un nom clair et significatif.
  3. Choisissez une planification d’étape et spécifiez un délai si nécessaire.
  4. Filtrez votre audience pour cette étape si nécessaire. Vous pouvez affiner davantage les destinataires de cette étape en spécifiant des segments et en ajoutant des filtres supplémentaires. Les options d’audience seront vérifiées après le délai, au moment de l’envoi des messages.
  5. Choisissez votre comportement d’avancement.
  6. Choisissez tout autre canal de communication que vous souhaitez associer à votre message.

Étape 2 : Créer votre webhook

Vous pouvez choisir de créer un webhook à partir de zéro, d’utiliser un modèle existant ou d’utiliser l’un de nos modèles préexistants. Ensuite, créez votre webhook dans l’onglet Compose de l’éditeur.

L’onglet Compose comprend les champs suivants :

  • Langue
  • URL du webhook
  • Méthode HTTP
  • Corps de la requête

L'onglet « Compose » avec un exemple de modèle de webhook.

Langue

L’internationalisation est prise en charge dans l’URL et le corps de la requête. Pour internationaliser votre message, sélectionnez Add languages et remplissez les champs requis.

Nous vous recommandons de sélectionner vos langues avant de rédiger votre contenu afin de pouvoir saisir votre texte à l’endroit approprié dans le Liquid. Pour consulter la liste complète des langues disponibles, reportez-vous à la section Langues prises en charge.

Si vous ajoutez du texte dans une langue écrite de droite à gauche, sachez que l’apparence finale des messages de droite à gauche dépend en grande partie de la façon dont les fournisseurs de services les affichent. Pour connaître les bonnes pratiques de rédaction de messages de droite à gauche s’affichant aussi fidèlement que possible, consultez la section Créer des messages de droite à gauche.

URL du webhook

L’URL du webhook, ou URL HTTP, spécifie votre endpoint. L’endpoint est l’emplacement vers lequel vous envoyez les informations capturées dans le webhook.

Si vous souhaitez envoyer des informations à un fournisseur, celui-ci doit fournir cette URL dans sa documentation d’API. Si vous envoyez des informations vers vos propres systèmes, vérifiez auprès de votre équipe de développement ou d’ingénierie que vous utilisez la bonne URL.

Braze n’autorise que les URL communiquant via les ports standard 80 (HTTP) et 443 (HTTPS).

Utiliser Liquid

Vous pouvez personnaliser vos URL de webhook à l’aide de Liquid. Parfois, certains endpoints peuvent exiger que vous identifiiez un utilisateur ou que vous fournissiez des informations spécifiques à l’utilisateur dans l’URL. Lorsque vous utilisez Liquid, veillez à inclure une valeur par défaut pour chaque élément d’information spécifique à l’utilisateur que vous utilisez dans votre URL.

Méthode HTTP

La méthode HTTP à utiliser varie en fonction de l’endpoint vers lequel vous envoyez des informations. Dans la plupart des cas, vous utiliserez POST.

Méthode HTTP Description
POST Écrit de nouvelles informations sur le serveur destinataire. C’est la méthode la plus couramment utilisée pour l’envoi de données.
GET Récupère des informations existantes, par opposition à l’écriture de nouvelles informations. Par définition, une requête GET ne prend pas en charge de corps de requête.
PUT Met à jour les informations sur l’endpoint, en remplaçant toute information existante par le contenu du corps de la requête.
DELETE Supprime la ressource à l’URL HTTP.

Corps de la requête

Le corps de la requête correspond aux informations qui seront envoyées à l’URL que vous avez spécifiée. Vous pouvez créer le corps de votre requête de webhook avec des paires clé-valeur JSON ou du texte brut.

Paires clé-valeur JSON

Les paires clé-valeur JSON vous permettent de rédiger facilement une requête pour un endpoint qui attend un format JSON. Vous ne pouvez utiliser cette option qu’avec un endpoint qui attend une requête JSON. Par exemple, si votre clé est message_body, la valeur correspondante pourrait être Your order just arrived!. Une fois que vous avez saisi votre paire clé-valeur, le compositeur configure votre requête en syntaxe JSON, et un aperçu de votre requête JSON s’affiche automatiquement.

Corps de la requête défini avec des paires clé-valeur JSON.

Vous pouvez personnaliser vos paires clé-valeur à l’aide de Liquid, notamment en incluant tout attribut utilisateur, attribut personnalisé ou propriété d’événement dans votre requête. Par exemple, vous pouvez inclure le prénom et l’adresse e-mail d’un client dans votre requête. Veillez à inclure une valeur par défaut pour chaque attribut.

Texte brut

L’option de texte brut vous offre la flexibilité de rédiger une requête pour un endpoint qui attend un corps dans n’importe quel format. Par exemple, vous pouvez l’utiliser pour rédiger une requête destinée à un endpoint qui attend que votre requête soit au format XML.

La personnalisation et l’internationalisation via Liquid sont prises en charge dans le texte brut.

Un exemple de corps de requête en texte brut utilisant Liquid.

Si vous définissez l’en-tête de requête Content-Type sur application/x-www-form-url-encoded, le corps de la requête doit être formaté en tant que chaîne encodée en URL. Par exemple :

1
to={{custom_attribute.${example}}}&text=Your+order+just+arrived

Corps de la requête avec une chaîne encodée en URL.

Étape 3 : Configurer les paramètres supplémentaires

En-têtes de requête (facultatif)

Certains endpoints peuvent nécessiter l’inclusion d’en-têtes dans votre requête. Dans la section Compose du composeur, vous pouvez ajouter autant d’en-têtes que nécessaire.

Exemples d'en-têtes de requête pour la clé « Authorization » et la clé « Content-Type ».

Les en-têtes de requête courants sont les spécifications Content-Type (qui décrivent le type de données attendu dans le corps de la requête, comme XML ou JSON) et les en-têtes Authorization qui contiennent vos identifiants auprès de votre fournisseur ou système.

Les spécifications de type de contenu doivent utiliser la clé Content-Type. Les valeurs courantes sont application/json ou application/x-www-form-urlencoded.

Les en-têtes d’autorisation doivent utiliser la clé Authorization. Les valeurs courantes sont Bearer {{YOUR_TOKEN}} ou Basic {{YOUR_TOKEN}}YOUR_TOKEN correspond aux identifiants fournis par votre fournisseur ou système.

Étape 4 : Envoyer un message test

Avant de lancer votre campagne, Braze recommande de tester le webhook pour vérifier que la requête est correctement formatée.

Pour ce faire, passez à l’onglet Test et envoyez un webhook test. Vous pouvez tester le webhook en tant qu’utilisateur aléatoire, un utilisateur spécifique (en saisissant son adresse e-mail ou son ID utilisateur externe), ou un utilisateur personnalisé avec les attributs de votre choix.

Après l’envoi du webhook test, une boîte de dialogue apparaît avec le message de réponse. Si la requête du webhook échoue, consultez le message d’erreur pour vous aider à résoudre le problème. L’exemple suivant détaille la réponse d’un webhook avec une URL de webhook invalide.

1
2
3
4
5
6
7
8
9
404 Not Found

{
  "error": {
    "message": "Unrecognized request URL. Please see https://lob.com/docs or email us at [email protected].",
    "status_code": 404
  }
}

Pour en savoir plus, consultez Envoyer des messages test.

Étape 5 : Créer le reste de votre campagne ou Canvas

Ensuite, créez le reste de votre campagne. Consultez les sections suivantes pour plus de détails sur la meilleure façon d’utiliser nos outils pour créer des webhooks.

Choisir la planification ou le déclencheur de livraison

Les webhooks peuvent être envoyés selon une planification horaire, une action ou un déclencheur API. Pour en savoir plus, consultez Planifier votre campagne.

Pour la livraison par événement, vous pouvez également définir la durée de la campagne et les heures calmes.

Cette étape vous permet aussi de spécifier les contrôles de livraison, comme autoriser les utilisateurs à redevenir rééligibles pour recevoir la campagne, ou activer les règles de limite de fréquence.

Choisir les utilisateurs à cibler

Ensuite, vous devez cibler les utilisateurs en choisissant des Segments ou des filtres pour affiner votre audience. Au cours de cette étape, vous sélectionnez l’audience la plus large à partir de vos Segments, puis vous affinez davantage ce Segment avec nos filtres, si vous le souhaitez. Vous recevez automatiquement un aperçu de la population approximative de ce Segment. Gardez à l’esprit que l’appartenance exacte au Segment est toujours calculée avant l’envoi du message.

Choisir les événements de conversion

Braze vous permet de suivre la fréquence à laquelle les utilisateurs effectuent des actions spécifiques, appelées événements de conversion, après avoir reçu une campagne. Vous avez la possibilité de définir une fenêtre allant jusqu’à 30 jours pendant laquelle une conversion sera comptabilisée si l’utilisateur effectue l’action spécifiée.

Si ce n’est pas déjà fait, complétez les sections restantes de votre étape Canvas. Pour plus de détails sur la création du reste de votre Canvas, y compris les tests multivariés et l’option Optimiser avec BrazeAITM, consultez Créer votre Canvas.

Étape 6 : Vérifier et déployer

Après avoir terminé la création de votre dernière Campaign ou Canvas, vérifiez les détails, testez-la, puis envoyez-la !

Ce qu’il faut savoir

Erreurs, logique de nouvelle tentative et délais d’expiration

Les webhooks reposent sur les serveurs Braze qui effectuent des requêtes vers un endpoint externe, et des erreurs peuvent survenir occasionnellement. Les erreurs les plus courantes incluent les erreurs de syntaxe, les clés API expirées, les limites de débit et les problèmes inattendus côté serveur. Avant d’envoyer une campagne de webhook :

  • Testez votre webhook pour détecter les erreurs de syntaxe
  • Assurez-vous que les variables personnalisées ont des valeurs par défaut

Si votre webhook ne parvient pas à être envoyé, un message d’erreur est enregistré dans le journal d’activité des messages et inclut des détails tels que l’horodatage de l’erreur, le nom de l’application et des informations sur l’erreur.

Erreur de webhook avec le message « An active access token must be used to query information about the current user ».

Si le message d’erreur n’est pas suffisamment clair quant à la source de l’erreur, vous devriez consulter la documentation de l’endpoint de l’API que vous utilisez. Celle-ci fournit généralement une explication des codes d’erreur utilisés par l’endpoint ainsi que leurs causes habituelles.

Codes de réponse et logique de nouvelle tentative

Lorsque la requête webhook est envoyée, le serveur destinataire renvoie un code de réponse indiquant ce qui s’est passé avec la requête. Le tableau suivant résume les différentes réponses que le serveur peut envoyer, leur impact sur l’analytique de la campagne et si, en cas d’erreur, Braze tentera de renvoyer la campagne :

Code de réponse Marqué comme reçu ? Nouvelles tentatives ?
20x (succès) Oui S/O
30x (redirection) Non Non
408 (expiration de la requête) Non Oui
429 (limitation du débit) Non Oui
Autre 4XX (erreur client) Non Non
5XX (erreur serveur) Non Oui

Les en-têtes de réponse Retry-After et de limitation du débit peuvent affecter le temps d’attente de Braze avant une tentative pouvant faire l’objet d’une nouvelle tentative (par exemple, après 408, 429 ou 5XX). Ils ne rendent pas les réponses non réessayables, telles que 401, éligibles à une nouvelle tentative.

403 Forbidden et liste d’autorisation d’adresses IP {#403-forbidden-and-ip-allowlisting}

Les réponses 403 Forbidden signifient que votre endpoint a reçu la requête mais l’a refusée. Les causes courantes incluent une authentification invalide ou manquante, des permissions API insuffisantes et des règles réseau (telles qu’un pare-feu ou un pare-feu applicatif web) qui bloquent les adresses IP sortantes de Braze.

Si les requêtes webhook retournent systématiquement 403 et que vos en-têtes d’authentification sont corrects, ajoutez les adresses IP de Braze pour votre cluster à la liste d’autorisation sur le serveur qui reçoit le webhook. Consultez Liste d’autorisation d’adresses IP. Les requêtes de contenu connecté utilisent les mêmes adresses IP sortantes ; consultez Liste d’autorisation d’adresses IP pour le contenu connecté.

Pour d’autres étapes de résolution des problèmes 4XX, consultez Résoudre les problèmes de requêtes webhook et de contenu connecté.

Authentification et identifiants de contenu connecté

La requête HTTP sortante du webhook ne prend pas en charge l’ajout d’identifiants de contenu connecté (:basic_auth ou :auth_credentials) pour s’authentifier auprès de votre endpoint. Configurez l’authentification en utilisant les en-têtes de requête du webhook à la place. Pour récupérer un jeton ou un secret au moment de l’envoi, vous pouvez placer une balise {% connected_content %} dans un champ d’en-tête ou de corps afin que Liquid la résolve avant l’envoi du webhook.

Modèles de webhook enregistrés et utilisation dans les campagnes

Braze ne fournit pas de rapport intégré listant chaque campagne ou étape Canvas qui fait référence à un modèle de webhook enregistré donné. Pour auditer l’utilisation, examinez les étapes de webhook qui utilisent la même URL et la même méthode HTTP, ou contactez le support Braze.

Résolution des problèmes et détails d’erreur supplémentaires

Pour des explications détaillées, des étapes de résolution des problèmes et des conseils pour résoudre des erreurs webhook spécifiques, consultez Résoudre les problèmes de requêtes webhook et de contenu connecté. Vous y trouverez également des explications sur le fonctionnement de notre système de détection d’hôtes défaillants et sur la manière dont Braze fournit des notifications d’erreur par e-mails automatisés et une journalisation supplémentaire dans Braze Currents.

Liste d’autorisation d’adresses IP

Lorsqu’un webhook est envoyé depuis Braze, les serveurs Braze effectuent des requêtes réseau vers les serveurs de nos clients ou des serveurs tiers. Avec la liste d’autorisation d’adresses IP, vous pouvez vérifier que les requêtes webhook proviennent de Braze, ajoutant ainsi une couche de sécurité.

Braze enverra les webhooks depuis les adresses IP suivantes. Les adresses IP listées sont automatiquement et dynamiquement ajoutées à toutes les clés API qui ont opté pour la liste d’autorisation.

Pour les instances US-01, US-02, US-03, US-04, US-05, US-06, US-07, voici les adresses IP correspondantes :

  • 23.21.118.191
  • 34.206.23.173
  • 50.16.249.9
  • 52.4.160.214
  • 54.87.8.34
  • 54.156.35.251
  • 52.54.89.238
  • 18.205.178.15

Pour l’instance US-08, voici les adresses IP correspondantes :

  • 52.151.246.51
  • 52.170.163.182
  • 40.76.166.157
  • 40.76.166.170
  • 40.76.166.167
  • 40.76.166.161
  • 40.76.166.156
  • 40.76.166.166
  • 40.76.166.160
  • 40.88.51.74
  • 52.154.67.17
  • 40.76.166.80
  • 40.76.166.84
  • 40.76.166.85
  • 40.76.166.81
  • 40.76.166.71
  • 40.76.166.144
  • 40.76.166.145

Pour l’instance US-10, voici les adresses IP correspondantes :

  • 100.25.232.164
  • 35.168.86.179
  • 52.7.44.117
  • 3.92.153.18
  • 35.172.3.129
  • 50.19.162.19

Pour les instances EU-01 et EU-02, voici les adresses IP correspondantes :

  • 52.58.142.242
  • 52.29.193.121
  • 35.158.29.228
  • 18.157.135.97
  • 3.123.166.46
  • 3.64.27.36
  • 3.65.88.25
  • 3.68.144.188
  • 3.70.107.88

Pour l’instance AU-01, voici les adresses IP correspondantes :

  • 13.210.1.145
  • 13.211.70.159
  • 13.238.45.54
  • 52.65.73.167
  • 54.153.242.239
  • 54.206.45.213

Pour l’instance ID-01, voici les adresses IP correspondantes :

  • 108.136.157.246
  • 108.137.30.207
  • 16.78.128.71
  • 16.78.14.134
  • 16.78.162.208
  • 43.218.73.35

Pour l’instance JP-01, voici les adresses IP correspondantes :

  • 13.159.155.212
  • 54.199.221.241
  • 13.192.23.16
  • 54.250.120.139
  • 18.181.114.232
  • 3.114.38.100

Pour l’instance KR-01, voici les adresses IP correspondantes :

  • 43.200.215.4
  • 52.79.67.175
  • 52.79.113.60
  • 3.34.212.92
  • 54.116.134.231
  • 3.37.197.225

Supprimer des utilisateurs

Pour supprimer un utilisateur individuel ou un Segment d’utilisateurs, accédez à Audience > Gérer l’audience > Supprimer des utilisateurs. Le tableau de bord prend en charge la suppression en masse de Segments (jusqu’à 10 millions de profils), inclut une fenêtre d’annulation de 7 jours et ne consomme pas les limites de débit partagées de la REST API. Pour les étapes, les limites et les permissions, consultez Supprimer des utilisateurs.

Pour une suppression programmatique par lots plus petits, utilisez l’endpoint /users/delete au lieu d’une campagne de webhook.

New Stuff!