Åtgärdstyper för kanttillägg
I en taggregel är en åtgärd en åtgärd som utförs efter att regelvillkoren har utvärderats. Åtgärdstyper tillhandahålls av tillägg, och deras effekter definieras helt av tilläggsförfattaren.
Ett tillägg kan till exempel innehålla en"show support chat"-åtgärdstyp som kan visa en supportchattdialogruta för att hjälpa användare som kan ha problem med utcheckningen.
Det här dokumentet beskriver hur du definierar åtgärdstyper för ett kanttillägg i Adobe Experience Platform.
Åtgärdstyper består vanligtvis av följande:
- En vy som visas i användargränssnittet för Experience Platform och datainsamling där användare kan ändra inställningar för åtgärden.
- En biblioteksmodul som skickas i taggens körningsbibliotek för att tolka inställningarna och utföra en åtgärd.
En modul för att vidarebefordra vissa data till en slutpunkt från tredje part kan till exempel se ut så här.
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)
})
};
Om du vill göra slutpunkten konfigurerbar av användaren och tillåta indata och beständighet för en slutpunkt till inställningsobjektet i modulen, ser objektet ut ungefär så här.
{
"endpoint": "http://someendpoint.com"
}
Om du vill använda den användardefinierade slutpunkten måste modulen ändras till följande exempel.
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)
})
};
Åtgärdsresultat
Resultatet som returneras av en åtgärdsmodul kan vara vad som helst. Om åtgärden behöver köra en asynkron aktivitet kan du returnera ett löfte som returnerar det resultat du vill ha när åtgärden har lösts.
Åtgärdsresultatet lagras i en ruleStash
-nyckel som är tillgänglig för alla moduler via parametern context
(context.arc.ruleStash
). Du kan läsa mer om ruleStash
här.