Types d’actions pour les extensions Edge
Dans une règle de balise, une action est exécutée après que les conditions de la règle ont satisfait à lʼévaluation. Les types dʼactions sont fournis par les extensions et leurs effets sont entièrement définis par lʼauteur de lʼextension.
Par exemple, une extension peut fournir un type d’action « show support chat » qui peut afficher une boîte de dialogue de conversation d’assistance pour aider les utilisateurs qui ont du mal à payer leur commande.
Ce document explique comment définir des types dʼaction pour une extension Edge dans Adobe Experience Platform.
Les types d’actions sont généralement les suivants :
- Vue affichée dans l’interface utilisateur de l’Experience Platform et dans l’interface utilisateur de collecte de données qui permet aux utilisateurs de modifier les paramètres de l’action.
- Un module de bibliothèque émis dans la bibliothèque d’exécution de balise pour interpréter les paramètres et effectuer une action.
Par exemple, un module permettant de transférer certaines données vers un point d’entrée tiers peut ressembler à ceci.
module.exports = (context) {
const { arc, utils } = context;
const { fetch } = utils;
const { event: { xdm } } = arc;
return fetch('http://someendpoint.com', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify(xdm)
})
};
Si vous souhaitez que le point d’entrée soit configurable par l’utilisateur et permettre l’entrée et la persistance d’un point d’entrée dans l’objet settings du module, l’objet ressemblera à ce qui suit.
{
"endpoint": "http://someendpoint.com"
}
Pour pouvoir agir sur le point d’entrée défini par l’utilisateur, votre module doit être transformé de façon à correspondre à l’exemple qui suit.
module.exports = (context) {
const { arc, utils } = context;
const { fetch } = utils;
const { event: { xdm } } = arc;
const { endpoint } = settings;
return fetch(endpoint, {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify(xdm)
})
};
Résultat de l’action
Le résultat renvoyé par un module d’action peut être n’importe quel résultat. Si l’action doit exécuter une tâche asynchrone, vous pouvez renvoyer une promesse qui renvoie le résultat souhaité une fois qu’elle a été résolue.
Le résultat de l’action est stocké dans une clé ruleStash
qui est mise à la disposition de tous les modules via le paramètre context
(context.arc.ruleStash
). Vous pouvez en savoir plus sur ruleStash
ici.