Tipi di azioni per le estensioni Edge
In una regola di tag, un’azione viene eseguita dopo che le condizioni della regola hanno superato la valutazione. I tipi di azione sono forniti dalle estensioni e i loro effetti sono completamente definiti dall’autore dell’estensione.
Ad esempio, un’estensione potrebbe fornire un tipo di azione “show support chat” che potrebbe mostrare una finestra di dialogo con la chat di supporto per aiutare gli utenti che riscontrano difficoltà nel concludere un acquisto.
Questo documento illustra come definire i tipi di azione per un’estensione Edge in Adobe Experience Platform.
I tipi di azione sono in genere i seguenti:
- Una vista mostrata nell’interfaccia di Experience Platform e nell’interfaccia di Data Collection che consente agli utenti di modificare le impostazioni per l’azione.
- Modulo libreria emesso all’interno della libreria runtime dei tag per interpretare le impostazioni ed eseguire un’azione.
Ad esempio, un modulo l’inoltro di alcuni dati a un endpoint di terze parti potrebbe presentarsi come segue:
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)
})
};
Se si desidera rendere l’endpoint configurabile dall’utente e consentire l’input e la persistenza di un endpoint nell’oggetto impostazioni all’interno del modulo, l’oggetto avrà un aspetto simile al seguente:
{
"endpoint": "http://someendpoint.com"
}
Per utilizzare il nome dell’endpoint definito dall’utente, è necessario modificare il modulo come segue:
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)
})
};
Risultato azione
Il risultato restituito da un modulo di azione può essere qualsiasi cosa. Se l'azione deve eseguire un'attività asincrona, è possibile restituire una promessa che restituisce il risultato desiderato una volta risolta.
Il risultato dell'azione viene memorizzato all'interno di una chiave ruleStash
che viene resa disponibile a tutti i moduli tramite il parametro context
(context.arc.ruleStash
). Ulteriori informazioni su ruleStash
sono disponibili qui.