Gestión de respuestas de comandos
Algunos comandos del SDK web pueden devolver un objeto que contenga datos potencialmente útiles para su organización. Si lo desea, puede elegir qué hacer con esos datos. Las respuestas de comandos son valiosas para las propuestas y los destinos, ya que requieren datos Edge Network para funcionar de forma eficaz.
Las respuestas de comandos utilizan JavaScript promise, que actúa como un proxy para un valor que no se conoce cuando se crea la promesa. Una vez conocido el valor, la promesa se "resuelve" con el valor.
Administrar respuestas de comandos mediante la extensión de etiqueta del SDK web
Cree una regla que se suscriba al evento Enviar evento completado como parte de una regla.
- Inicie sesión en experience.adobe.com con sus credenciales de Adobe ID.
- Vaya a Recopilación de datos > Etiquetas.
- Seleccione la propiedad de etiquetas que desee.
- Vaya a Reglas y luego seleccione la regla que desee.
- En Eventos, seleccione un evento existente o cree un evento.
- Establezca el campo desplegable Extensión en SDK web de Adobe Experience Platform y establezca el Tipo de evento en Enviar evento completado.
- Haga clic en Conservar cambios y, a continuación, ejecute el flujo de trabajo de publicación.
A continuación, puede incluir las acciones Aplicar propuestas o Aplicar respuesta a esta regla.
- Al ver la regla creada o editada anteriormente, seleccione una acción existente o cree una acción.
- Establezca el campo desplegable Extension en Adobe Experience Platform Web SDK y establezca Action Type en Apply propositions o Apply response, según el comportamiento deseado.
- Defina los campos deseados de la acción y luego haga clic en Conservar cambios.
Administrar respuestas de comandos mediante la biblioteca JavaScript del SDK web
Utilice los métodos then
y catch
para determinar si un comando tiene éxito o falla. Puede omitir then
o catch
si sus propósitos no son importantes para la implementación.
alloy("sendEvent", {
"xdm": {
"commerce": {
"order": {
"purchaseID": "a8g784hjq1mnp3",
"purchaseOrderNumber": "VAU3123",
"currencyCode": "USD",
"priceTotal": 999.98
}
}
}
}).then(function(result) {
console.log("The sendEvent command succeeded.");
})
.catch(function(error) {
console.log("The sendEvent command failed.");
});
Todas las promesas devueltas por los comandos utilizan un objeto result
. Por ejemplo, puede obtener información de biblioteca del objeto result
mediante el comando getLibraryInfo
:
alloy("getLibraryInfo")
.then(function(result) {
console.log(result.libraryInfo.version);
console.log(result.libraryInfo.commands);
console.log(result.libraryInfo.configs);
});
El contenido de este objeto result
depende de una combinación del comando que utilice y del consentimiento del usuario. Si un usuario no ha dado su consentimiento para un fin determinado, el objeto de respuesta solo contiene información que se puede proporcionar en el contexto de lo que el usuario ha consentido.