Déclenchement des campagnes transactionnelles
Il existe deux façons de déclencher une campagne transactionnelle :
- Les appels API dédiés
- Le module Scénarios
Les appels API sont souvent favorisés lorsque les envois en temps réel sont requis, et que la source de la transaction doit directement déclencher le message, sans forcément passer par votre CRM.
De l'autre côté, les scénarios sont utiles pour déclencher des campagnes lorsqu'une ligne est créée ou mise à jour dans une table d'interaction de votre modèle de données.
Mettre en place vos appels API
Afin de pouvoir déclencher une campagne transactionnelle par API, il faut activer la campagne. Elle se trouvera dans l'onglet "En cours" dans l'interface.
L'appel devra faire référence soit au nom technique, soit à l'id de la campagne. Ces paramètres sont visibles dans l'interface en mettant à jour les options dans le coin en haut à droite.

Le nom technique est le nom que vous choisissez lors de la création de la campagne, sans caractères spéciaux ni espaces. Faites attention à communiquer la bonne référence à votre développeur.
Déclencher une campagne transactionnelle
Déclencher un e-mail transactionnel
Il existe deux appels dédiés pour déclencher un e-mail transactionnel. Les deux vous permettent de créer (ou mettre à jour) un profil dans votre base de données transactionnelle, et de déclencher la campagne en même temps.
- POST /entity/{e}/transactionalmail/{m}/contact déclenchera l'e-mail sans attacher de fichier en pièce jointe.
- POST /entity/{e}/transactionalmail/{m}/contactWithAttachment déclenchera l'e-mail avec les fichiers en pièce jointe.
POST /entity/{e}/transactionalmail/{m}/contact
Cet appel standard pour déclencher des e-mails transactionnels demande un body dans lequel toutes les informations sont poussées.
Il permet de créer (ou mettre à jour) un nouveau profil dans votre table de profils grâce à l'objet "profile" et de pousser des valeurs de personnalisation.
Chaque "key" dans les objets des "parameters" doit correspondre au nom de la variable de personnalisation définie dans le contenu de votre campagne (voir le point Personnalisation par API).
Exemple de body
{
"profile": {
"attributes": [
{
"name": "emailAddress",
"value": "john.smith@actito.com"
}
],
"dataCollection": {
"source": "AGDPRSource",
"way": "AGDPRWay",
"date": "10/09/2019 22:00:00"
}
},
"parameters": [
{
"key": "orderIdPerso",
"values": ["123456"]
},
{
"key": "firstNamePerso",
"values": ["John"]
},
{
"key": "externalData",
"structuredValue": {
"items": [
{
"name": "article 1",
"quantity": "1",
"unitPrice": "59",
"productUrl": "https://www.actito.com/be_fr/article_1"
},
{
"name": "article 2",
"quantity": "1",
"unitPrice": "79",
"productUrl": "https://www.actito.com/be_fr/article_2"
}
]
}
}
]
}
Avez-vous remarqué l'objet "structuredValue" dans l'exemple ci-dessus ? C'est la manière de pousser des données dans les personnalisations de boucles, qui permettent de répéter plusieurs ensembles de données dans votre e-mail, sans devoir définir le nombre d'éléments par avance (très utile pour les confirmations de commande !).
Découvrez-en plus dans la section Utiliser les personnalisations de boucle.
POST /entity/{e}/transactionalmail/{m}/contactWithAttachment
Cet appel additionnel vous permet d'envoyer des pièces jointes avec vos e-mails transactionnels, ce qui est très utile pour les tickets dématérialisés, par exemple.
Celui-ci vous permet d'attacher jusqu'à dix fichiers avec une taille maximale totale de 1 Mo (par défaut). Les extensions suivantes sont supportées : csv, doc, docx, gif, html, jpeg, jpg, pdf, png, xls et xlsx.
Si vous souhaitez envoyer de plus grosses pièces jointes, veuillez prendre contact avec votre gestionnaire de compte.
L'augmentation de la limite de taille des pièces jointes peut engendrer plusieurs risques et effets négatifs sur votre délivrabilité :
- Ralentissement des envois : les messages plus lourds peuvent surcharger les serveurs (MTAs), en particulier lors d'envois massifs.
- Rejets par certains FAI/Webmails : en raison de leur infrastructure, certains fournisseurs n'acceptent pas les messages contenant des pièces jointes volumineuses.
- Allongement des délais de distribution : le poids des messages peut allonger les délais de livraison.
Cet appel demande un body multipart/form-data fait de minimum deux fichiers :
- Un fichier JSON déclaré comme
transactionalMailqui contiendra toutes les informations pour créer le profil et les valeurs de personnalisation de l'e-mail (comme le body de l'appel pour déclencher un e-mail sans pièce jointe), avec un objet additionnelattachmentspour référencer le nom desdites pièces jointes. - Une ou plusieurs pièces jointes, déclarées comme
part1jusqu'àpart10, qui correspondent aux fichiers référencés dans le fichier de définition et s'adaptent aux extensions/nommages autorisés.
Exemple d'un transactionalMail.json
{
"profile": {
"attributes": [
{
"name": "emailAddress",
"value": "john.smith@actito.com"
}
],
"dataCollection": {
"source": "AGDPRSource",
"way": "AGDPRWay",
"date": "10/09/2019 22:00:00"
}
},
"parameters": [
{
"key": "orderIdPerso",
"values": ["123456"]
},
{
"key": "firstNamePerso",
"values": ["John"]
},
{
"key": "externalData",
"structuredValue": {
"items": [
{
"name": "article 1",
"quantity": "1",
"unitPrice": "59",
"productUrl": "https://www.actito.com/be_fr/article_1"
},
{
"name": "article 2",
"quantity": "1",
"unitPrice": "79",
"productUrl": "https://www.actito.com/be_fr/article_2"
}
]
}
}
],
"attachments": {
"part1": "MyFirstAttachedFile.csv",
"part2": "Legal.pdf"
}
}
Notez que part1 est un paramètre requis : pour utiliser cet appel, au moins une pièce jointe est demandée.
Si vous ne devez pas envoyer de pièce jointe, veuillez utiliser l'appel standard.