Tipos de acción para extensiones de Edge
En una regla de etiqueta, una acción es algo que se realiza después de que las condiciones de las reglas hayan superado la evaluación. Las extensiones proporcionan los tipos de acción y su efecto lo define completamente el autor de la extensión.
Por ejemplo, una extensión podría proporcionar un tipo de acción "mostrar chat de asistencia" que puede mostrar un cuadro de diálogo de chat de asistencia técnica para ayudar a los usuarios con problemas para efectuar sus pagos.
Este documento explica cómo definir tipos de acción para una extensión de Edge en Adobe Experience Platform.
Los tipos de acción suelen consistir en lo siguiente:
- Vista que se muestra dentro de la interfaz de usuario del Experience Platform y de la recopilación de datos, y que permite a los usuarios modificar la configuración de la acción.
- Módulo de biblioteca que se emite dentro de la biblioteca de tiempo de ejecución de etiquetas para interpretar la configuración y realizar una acción.
Por ejemplo, un módulo para reenviar algunos datos a un extremo de terceros puede tener este aspecto.
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 desea que el extremo sea configurable por el usuario y permitir la entrada y persistencia de un extremo al objeto de configuración dentro del módulo, el objeto tendría un aspecto similar a este.
{
"endpoint": "http://someendpoint.com"
}
Para poder operar en el extremo definido por el usuario, el módulo deberá cambiar a lo siguiente.
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)
})
};
Resultado de la acción
El resultado devuelto por un módulo de acción puede ser cualquier cosa. Si la acción necesita ejecutar una tarea asincrónica, puede devolver una promesa que devuelve el resultado deseado una vez que se resuelva.
El resultado de la acción se almacena dentro de una clave ruleStash
que está disponible para todos los módulos a través del parámetro context
(context.arc.ruleStash
). Puede obtener más información sobre ruleStash
aquí.