Déclencher une Campagne Transactionnelle
Il existe deux façons de déclencher une campagne transactionnelle :
- Les appels API dédiés
- L'application '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 email transactionnel
Il existe deux appels dédiés pour déclencher un email 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 personnalisations.
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 sections "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, qui sont très utiles pour les tickets dématérialisés, par exemple.
Celui-ci vous permet d'attacher jusque 10 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 & xlsx.
Si vous voulez envoyer de plus grosses pièces jointes, veuillez contacter votre gestionnaire de compte.
Cet appel demande un body multipart/form-data fait de minimum 2 fichiers :
- Un fichier JSON déclaré comme
transactionalMail
qui 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 additionnelattachments
pour référencer le nom des-dites pièces jointes. - Une ou plusieurs pièces jointes, déclarées comme
part1
jusquepart10
, 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.
Déclencher un SMS transactionnel
Il existe un appel API pour déclencher un SMS transactionnel.
POST /entity/{e}/transactionalsms/{s}/contact
Cet appel standard pour créer un SMS transactionnel demande un body dans lequel toutes les informations sont poussées.
Il permet de créer (ou mettre à jour) un nouveau profil dans votre base de données grâce à l'objet "profile' et de pousser des valeurs de personnalisations.
Chaque "key" dans les objets des "parameters" doit correspondre au nom de la variable de personnalisation définie dans le contenu de votre campagne.
{
"profile": {
"attributes": [
{
"name": "phoneNumber",
"value": "+32000000000"
}
],
"dataCollection": {
"source": "AGDPRSource",
"way": "AGDPRWay",
"date": "10/09/2019 22:00:00"
}
},
"parameters": [
{
"key": "profileAgePerso",
"values": ["25"]
},
{
"key": "birthPlacePerso",
"values": ["New-York City"]
}
]
}
Mettre en place un scénario
Il est également possible de déclencher votre campagne transactionnelle grâce à l'application Actito Scénario plutôt que par API. En particulier, si vous utilisez votre Modèle de Données principal et pas une base de données dédiée. Cette façon de faire est moins fréquente, car toutes les informations nécessaires pour déclencher le scénario ne sont pas forcément stockées dans votre Modèle de Données Actito (ex : renouvellement de mot de passe).
Utiliser l'évènement de départ 'Autre interaction'
Grâce au bloc de départ 'Autre interaction', il est possible de déclencher un scénario quand une nouvelle ligne est créée (ou mise à jour) dans une table d'interaction de votre Modèle de Données.
Par exemple, une nouvelle ligne dans une table "Commandes" pourrait déclencher un scénario qui envoie un e-mail transactionnel de confirmation de commande, ou mettre à jour le statut d'une commande existante à "Expédiée" pourrait déclencher un scénario de confirmation d'expédition de commande.
Dans le bloc, vous pourrez choisir la table d'interaction et l'évènement déclencheur (si plusieurs évènements sont configurés dans votre table).
Par défaut, toutes les tables ont un évènement correspondant à la création d'une nouvelle ligne. Il est également possible de définir des évènements pour la mise à jour de lignes existantes (par exemple, quand le champs "Statut" de votre table "Commandes" est mis à jour de la valeur "CONFIRME" à la valeur "EXPEDIE").
Les évènement correspondants à des 'mises à jour' doivent être définis dans la structure de votre table d'interaction.
Si vous avez besoin d'aide avec la modification de la structure de votre table, merci de contacter le support Actito ou votre gestionnaire de compte.
Ensuite, vous pourrez ajouter un bloc "Envoyer un e-mail" et sélectionner votre campagne transactionnelle...
... ou ajouter un bloc "Envoyer un SMS" et sélectionner votre campagne SMS transactionnelle.
L'avantage des Scénarios est que vous pouvez continuer à construire votre flux en utilisant les différents blocs disponibles, en plus d'envoyer votre communication transactionnelle.
Vous pouvez mélanger les canaux, ou envoyer un e-mail (non-transactionnel) de satisfaction quelques jours après la commande, par exemple.
Notez qu'il est toujours nécessaire d'alimenter votre table d'interaction pour déclencher le bloc de départ du scénario.
L'alimentation peut être faite grâce à un appel API si vous avez une contrainte de temps réel, et par un import API de masse ou une synchronisation ETL si vous voulez importer un grand nombre de données en une fois.
Utiliser l'évènement de départ 'Démarrer'
Il est également possible de démarrer le scénario contenant votre campagne transactionnelle avec le bloc de départ 'Démarrer' et un appel API.
Cette solution est utile si vous voulez mélanger différents modes de communication à différents moments (tel qu'envoyer une confirmation de commande et un formulaire de satisfaction 7 jours plus tard) mais que le déclencheur de la transaction n'est pas une nouvelle ligne/ligne mise à jour dans une table d'interaction de votre Modèle de Données.
Notez que, dans ce cas, toutes les valeurs de personnalisation de la campagne doivent être stockées dans votre Modèle de Données Actito, et ne peuvent pas être insérées dans l'appel API qui déclenche le scénario.