Acceso a tokens de respuesta

El contenido de personalización que Adobe Target devuelve incluye tokens de respuesta, que son detalles sobre la actividad, la oferta, la experiencia, el perfil de usuario, la información geográfica y mucho más. Estos detalles se pueden compartir con herramientas de terceros o utilizar para la depuración. Los tokens de respuesta se pueden configurar en la interfaz de usuario de Adobe Target.

Para acceder a cualquier contenido de personalización, proporcione una función de llamada de retorno al enviar un evento. Se llamará a esta rellamada después de que el SDK reciba una respuesta correcta del servidor. Se proporcionará a la rellamada un objeto result , que puede contener una propiedad propositions que contenga cualquier contenido de personalización devuelto. A continuación se muestra un ejemplo de cómo proporcionar una función de llamada de retorno.

alloy("sendEvent", {
    renderDecisions: true,
    xdm: {}
  }).then(function(result) {
    if (result.propositions) {
      // Manually render propositions
    }
  });

En este ejemplo, result.propositions, si existe, es una matriz que contiene propuestas de personalización relacionadas con el evento. Consulte Rendering personalization content para obtener más información sobre el contenido de result.propositions.

Supongamos que desea recopilar todos los nombres de actividad de todas las propuestas que el SDK web ha procesado automáticamente y colocarlos en una única matriz. Luego puede enviar la matriz única a un tercero. En este caso:

  1. Extraiga propuestas del objeto result.
  2. Bucle por cada propuesta.
  3. Determine si el SDK procesó la propuesta.
  4. Si es así, realice un bucle por cada elemento de la propuesta.
  5. Recupere el nombre de la actividad desde la propiedad meta , que es un objeto que contiene tokens de respuesta.
  6. Inserte el nombre de la actividad en una matriz.
  7. Envíe los nombres de la actividad a un tercero.

El código tendría el siguiente aspecto:

alloy("sendEvent", {
    renderDecisions: true,
    xdm: {}
  }).then(function(result) {
    var activityNames = [];
    propositions.forEach(function(proposition) {
      if (proposition.renderAttempted) {
        proposition.items.forEach(function(item) {
          if (item.meta) {
            // item.meta contains the response tokens.
            var activityName = item.meta["activity.name"];
            // Ignore duplicates
            if (activityNames.indexOf(activityName) === -1) {
              activityNames.push(activityName);
            }
          }
        });
      }
    });
    // Now that activity names are in an array,
    // you can send them to a third party or use
    // them in some other way.
  });

En esta página