Acceso a tokens de respuesta

El contenido de Personalization devuelto desde Adobe Target incluye tokens de respuesta, que son detalles acerca de la actividad, oferta, experiencia, perfil de usuario, información geográfica y 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 devolución de llamada después de que el SDK reciba una respuesta correcta del servidor. Se le proporcionará una devolución de llamada con un objeto result, el cual puede contener una propiedad propositions con el 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 Procesamiento de contenido personalizado para obtener más información sobre el contenido de result.propositions.

Supongamos que desea recopilar todos los nombres de las actividades de todas las propuestas que el SDK web procesó automáticamente e insertarlos en una sola matriz. A continuación, puede enviar la matriz única a un tercero. En este caso:

  1. Extraer propuestas del objeto result.
  2. Recorra en bucle cada propuesta.
  3. Determine si el SDK procesó la propuesta.
  4. Si es así, realice un bucle en cada elemento de la propuesta.
  5. Recupere el nombre de la actividad de 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 las actividades 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.
  });
recommendation-more-help
ad108910-6329-42f1-aa1d-5920a2b13636