Typen handelingen voor randextensies
In een markeringsregel, is een actie iets dat wordt uitgevoerd nadat de regelvoorwaarden evaluatie hebben overgegaan. Actietypen worden geleverd door extensies en de effecten ervan worden volledig gedefinieerd door de auteur van de extensie.
Een extensie kan bijvoorbeeld een actietype 'showsupport chat' weergeven, dat een dialoogvenster voor supportchatten kan weergeven om gebruikers te helpen die problemen kunnen ondervinden bij het uitchecken.
In dit document wordt beschreven hoe u actietypen voor een randextensie in Adobe Experience Platform definieert.
Handelingstypen bestaan doorgaans uit:
- Een mening die binnen UI van het Experience Platform en UI van de Inzameling van Gegevens wordt getoond die gebruikers toestaat om montages voor de actie te wijzigen.
- Een bibliotheekmodule die in de tagruntimebibliotheek wordt uitgestraald om de instellingen te interpreteren en een actie uit te voeren.
Bijvoorbeeld, kan een module om sommige gegevens aan een derdeeindpunt door:sturen als dit kijken.
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)
})
};
Als u het eindpunt door de gebruiker configureerbaar wilt maken, en de input en persistentie van een eindpunt aan het montagesobject binnen de module toestaan, zou het voorwerp gelijkaardig aan dit kijken.
{
"endpoint": "http://someendpoint.com"
}
Om op het user-defined eindpunt te werken, zou uw module in het volgende voorbeeld moeten veranderen.
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)
})
};
Handelingsresultaat
Het resultaat dat door een actiemodule wordt geretourneerd, kan om het even welk zijn. Als de actie een asynchrone taak moet uitvoeren, kunt u a belofteterugkeren die het resultaat terugkeert u wilt zodra het oplost.
Het resultaat van de handeling wordt opgeslagen in een ruleStash
-toets die via de context
-parameter (context.arc.ruleStash
) beschikbaar wordt gemaakt voor alle modules. U kunt meer over ruleStash
hierleren.