Dans cet exemple, nous souhaitons envoyer à un opérateur une alerte qui contiendra le nom des profils qui ont ouvert une newsletter, sans toutefois cliquer sur le lien qu'il contient.
Les champs de prénom et nom des profils sont liés à la dimension de ciblage Destinataires, alors que l'activité Alerte est liée à la dimension de ciblage Opérateur. En conséquence, aucun champ n'est disponible entre les deux dimensions de ciblage pour effectuer une réconciliation, récupérer les champs de prénom et nom, et les afficher dans l'activité Alerte.
Le processus créé un workflow comme ci-dessous :
Ajoutez le code ci-dessous dans l'activité Code JavaScript.
var query = xtk.queryDef.create(
<queryDef schema="temp:query" operation="select">
<select>
<node expr="[target/recipient.@firstName]"/>
<node expr="[target/recipient.@lastName]"/>
</select>
</queryDef>
);
var items = query.ExecuteQuery();
Assurez-vous que le code JavaScript correspond à vos informations de workflow :
Pour récupérer ces informations, procédez comme suit :
Cliquez avec le bouton droit sur la transition sortante à partir de l’activité Requête, puis sélectionnez Afficher la cible.
Cliquez avec le bouton droit sur la liste, puis sélectionnez Configurer la liste.
Les noms des champs et de la dimension de ciblage de la requête s'affichent dans la liste
Ajoutez le code ci-dessous dans l'activité Test pour vérifier si la population ciblée contient au moins 1 profil.
var.recCount>0
Maintenant que la population a été ajoutée dans la variable d'instance avec les champs souhaités, vous pouvez ajouter ces informations dans l'activité Alerte.
Pour ce faire, ajoutez le code ci-dessous dans l'onglet Source :
<ul>
<%
var items = new XML(instance.vars.items)
for each (var item in items){
%>
<li><%= item.target.@firstName %> <%= item.target.@lastName %></li>
<%
} %></ul>
La commande <%= item.target.recipient.@fieldName %> vous permet d'ajouter l'un des champs qui ont été enregistrés dans la variable d'instance via l'activité Code JavaScript.
Vous pouvez ajouter autant de champs que vous le souhaitez, dès lors qu'ils ont été insérés dans le code JavaScript.