Navigation

Guide sur les déclencheurs de webhooks

Lors de la configuration d'un webhook, vous devez indiquer ce qui est envoyé vers votre système. Avant de configurer quoi que ce soit, il est recommandé de comprendre ce qui est possible d'envoyer vers votre plateforme et de déterminer vos besoins en données. Ce guide vous aidera à mieux comprendre le code qui est envoyé selon les événements sélectionnés. 

***Les infos dans cet article peuvent être différentes dans votre projet selon la structure mise en place.***


Format des webhooks

Toutes les notifications sont envoyées au format JSON. Ces notifications commencent toujours par les paramètres du tableau ci-dessous ainsi que l’ensemble des champs faisant partie de la clé primaire dans le projet.

ParamètreDescription
Typecontient une chaîne de caractères représentant le type de notification envoyée. Ce paramètre peut donc contenir différentes valeurs comme :
  • « sending_Bounce » pour une erreur de livraison
  • « sending_ProductionError » pour une erreur de production
  • « contact_modified » pour une modification de contact
  • « contact_optout » pour un désabonnement de contact
  • « contact_complaint » pour une plainte spam formulée par un contact

Cette liste n'est pas exhaustive.

EventUniqueIDcontient une chaîne de caractères qui constitue l’identifiant unique de cette notification.
dtExecutiondate et heure exactes de l’envoi de la notification.
idCompanycontient l’identifiant de la compagnie.
idProjectcontient l’identifiant du projet dans lequel la notification est configurée.
isTestest présent et contient « true » s’il s’agit d’une notification de test effectué depuis les interfaces de configurations des webhooks, et n’est pas présent dans le cas où il s’agit d’un vrai envoi de notification.
Notez que votre système doit honorer le paramètre isTest de façon appropriée : si ce paramètre contient « true », vous ne devez pas tenter de désactiver un contact réel ou de modifier son profil lors de la réception d’un message test.
ContactIDcontient un dictionnaire de valeurs identifiant le contact dans la base de données Dialog Insight (« idContact »).

Déclencheurs de Contact

Création
Permet d’être avisé lorsqu’un nouveau contact est créé dans Dialog Insight, soit manuellement, par formulaire. Aucun avis n’est envoyé pour les contacts créés par import. Les notifications sur la création d’un contact contiennent les paramètres inclus dans toutes les notifications du système, et tous les champs du projet avec leurs valeurs (dans le dictionnaire « ContactData »). Ce dernier contient les valeurs de tous les champs du projet créés par le client (où chaque champ aura un code préfixé par « f_ »), ainsi que tous les champs administratifs (source de création du contact, date de création, date d’activation, etc.).
Mise à jour
Permet d’être avisé chaque fois qu’un contact est mis à jour dans Dialog Insight, soit manuellement, par formulaire. Aucun avis n’est envoyé pour les contacts modifiés par import. Tout comme la création d’un contact, les notifications sur la modification d’un contact contiennent les paramètres inclus dans toutes les notifications du système, ainsi que tous les champs du projet avec leurs valeurs après modification du contact (dans le dictionnaire « ContactData »).
Abonnement
Permet d’être avisé lorsqu’un contact s’abonne à une communication et que son état passe à Abonné, ou à Actif si le projet ne comporte pas de centre de consentements (Loi C-28). Les notifications sur l’abonnement d’un contact contiennent les paramètres inclus dans toutes les notifications du système, la valeur du champ isActive, ainsi que la liste des champs d’abonnements. Cette liste « OptinInfo » contient 2 objets :
  • « OptinField » contient le code du champ d’abonnement.
  • « OptinDate » contient la date à laquelle le contact a été abonné.
Désabonnement
Permet d’être avisé lorsqu’un contact se désabonne d’une communication et que son état passe à Désabonné, ou à Inactif si le projet ne comporte pas de centre de consentements (Loi C-28). Les notifications sur le désabonnement d’un contact contiennent les paramètres inclus dans toutes les notifications du système, la valeur du champ isActive, ainsi que la liste des champs d’abonnements. Cette liste « OptinInfo » contient 2 objets :
  • « OptinField » contient le code du champ d'abonnement. 
  • « OptinDate » contient la date à laquelle le contact a été désabonné
Quarantaine SMS/Courriels
Permet d’être avisé lorsque l’adresse/téléphone d’un contact est mise en quarantaine suite à une tentative de livraison de message. Les notifications sur la mise en quarantaine d’un contact contiennent les paramètres inclus dans toutes les notifications du système, ainsi que toute l’information disponible sur cette quarantaine (dans le dictionnaire « QuarantineInfo ») :
  • « idSendLog » contient l’identifiant de l’envoi qui a conduit à une mise en quarantaine
  • « idMessage » contient l’identifiant du message utilisé pour l’envoi
  • « dtProcessed » contient la date et l’heure à laquelle l’envoi est entré en production
  • « dtBounce » contient la date et l’heure à laquelle le message a retourné l’erreur de quarantaine
  • « dtDelivered » contient la date et l’heure à laquelle le message a été livré
  • « dsnMTA » contient le nom de domaine du serveur MX avec lequel l’échange a eu lieu
  • « dsnDiag » contient le code d’erreur obtenu du serveur, qui a causé la mise en quarantaine
Plainte de courrier indésirable
Permet d’être avisé lorsqu’un contact signale un message comme courrier indésirable. Les notifications sur la plainte de courrier indésirable d’un contact contiennent les paramètres inclus dans toutes les notifications du système, ainsi que l’information principale sur la plainte (le rapport du feedbackLoop contenu dans le paramètre « FBL_Report »).

Déclencheurs de Courriels/SMS/Push

Les notifications d’erreur de message contiennent les paramètres inclus dans toutes les notifications du système, ainsi que les informations sur l’envoi en erreur (dans le dictionnaire « SendLog »).

  • « EventType » contient l’un des deux types de l’envoi en erreur :
    1. « Batch » pour les envois en lot ou les campagnes
    2. « Event » pour les envois unitaires (confirmations, Web Services, tests)
  • « idSendLog » contient l’identifiant de l’envoi en erreur
  • « idMessage » contient l’identifiant du message utilisé pour l’envoi
  • « idMessageCategory » contient l’identifiant du type de communication du message
  • « dtProcessed » contient la date et l’heure à laquelle l’envoi est entré en production
Erreurs de livraison

Permet d’être avisé lorsqu’une erreur de livraison de message se produit, y compris lorsqu’un contact est mis en quarantaine. Ces notifications contiennent les paramètres de bases de l’identifiant, ainsi que des informations sur l’envoi et la livraison en erreur (dans le dictionnaire « DeliveryErrorInfo ») : 

  • « dsnMTA » contient le nom de domaine du serveur MX avec lequel l’échange a eu lieu
  • « dsnDiag » contient le code d’erreur obtenu du serveur, qui a causé la mise en quarantaine
  • « BounceCode » contient le code d’erreur SMTP
  • « isInvalidMailbox » indique si l’adresse courriel est invalide ou non.
  • « BounceType » contient le type d’erreur « BounceBack » ou « Bounce »
Erreurs de production

Permet d’être avisé lorsqu’une erreur se produit lors de la préparation d’un message, avant même sa livraison. Ces notifications contiennent les paramètres de bases l’identifiant, ainsi que des informations sur l’envoi et la production en erreur (dans le dictionnaire « ProductionErrorInfo »).

Exemples d'erreurs du système
ErrorCodeErreurErrorMessage
0NoErrorNo Error
1RecipientEmailSyntax
Recipient email syntax is invalid.
2Compilation
There was a compilation error in the message.
3ExecutionThere was an execution error in the message.
4SenderEmailSyntaxSender email syntax is invalid.
5SubmissionAn unknown internal error occured. 
6RequiredDataMissingAn unknown internal error occured. 
7EligibilityErrorThe contact was not eligible to receive the message.
99UndocumentedAn unknown internal error occured


Cette réponse a-t-elle été utile ? Oui Non

Envoyer vos commentaires
Désolés de n'avoir pu vous être utile. Aidez-nous à améliorer cet article en nous faisant part de vos commentaires.