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.

IMPORTANT
Als u een Webuitbreiding ontwikkelt, zie in plaats daarvan de gids op ​ actietypen voor Webuitbreidingen ​.
In dit document wordt ook aangenomen dat u bekend bent met bibliotheekmodules en hoe deze zijn geïntegreerd in randextensies. Als u een inleiding vereist, zie het overzicht op ​ het formatteren van de bibliotheekmodule ​ alvorens aan deze gids terug te keren.

Handelingstypen bestaan doorgaans uit:

  1. Een weergave die wordt weergegeven in de gebruikersinterface van Experience Platform en de gebruikersinterface voor gegevensverzameling waarmee gebruikers instellingen voor de actie kunnen wijzigen.
  2. 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 ​ belofte ​ terugkeren 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 ​ hier ​ leren.

recommendation-more-help
12b4e4a9-5028-4d88-8ce6-64a580811743