Accès aux jetons de réponse

Le contenu Personalization renvoyé par Adobe Target comprend des jetons de réponse, qui sont des détails sur l’activité, l’offre, l’expérience, le profil utilisateur, les informations géographiques, etc. Ces informations peuvent être partagées avec des outils tiers ou utilisées à des fins de débogage. Les jetons de réponse peuvent être configurés dans l’interface utilisateur d’Target.

Pour accéder à n’importe quel contenu de personnalisation, fournissez une fonction de rappel lors de l’envoi d’un événement. Ce rappel est appelé une fois que le SDK a reçu une réponse réussie du serveur. Votre rappel est fourni avec un objet result, qui peut contenir une propriété propositions contenant tout contenu de personnalisation renvoyé. Vous trouverez ci-dessous un exemple de fonction de rappel.

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

Dans cet exemple, result.propositions, s’il existe, est un tableau contenant des propositions de personnalisation liées à l’événement. Voir Rendu du contenu de personnalisation pour plus d’informations sur le contenu de result.propositions.

Supposons que vous souhaitiez rassembler tous les noms d’activité de toutes les propositions qui ont été automatiquement rendues par le SDK web et les pousser dans un seul tableau. Vous pouvez ensuite envoyer le tableau unique à un tiers. Dans ce cas :

  1. Extrayez des propositions de l’objet result.
  2. Parcourez chaque proposition en boucle.
  3. Déterminez si le SDK a rendu la proposition.
  4. Si tel est le cas, parcourez chaque élément de la proposition.
  5. Récupérez le nom de l’activité à partir de la propriété meta , qui est un objet contenant des jetons de réponse.
  6. Placez le nom de l’activité dans un tableau.
  7. Envoyez les noms des activités à un tiers.

Votre code se présenterait comme suit :

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
6906415f-169c-422b-89d3-7118e147c4e3