Composant Recherche

Le Composant Recherche effectue une recherche dans une liste spécifiée et sur la base d'une condition. Par exemple, dans un Journey de connexion, si vous devez récupérer l'adresse e-mail et le mot de passe d'un contact pour l'identifier lorsqu'il se connecte. Lorsque le Composant Recherche l'a trouvé, passez à la page de configuration des préférences. S'il ne le trouve pas avec la combinaison adresse e-mail/mot de passe, il renverra au formulaire et affichera le message d'erreur « Combinaison introuvable ».

Le Composant Recherche utilise une contrainte pour effectuer une recherche dans une liste. Cette contrainte (clause SQL WHERE) doit être formulée de manière à ce que le résultat de la recherche soit vrai ou faux (valeurs booléennes).

La contrainte peut contenir des valeurs dynamiques (par exemple MAIL=@MAIL pour rechercher une adresse e-mail en fonction du champ de la liste d'audience MAIL, basé sur la valeur publiée (@) du champ d'entrée ayant l'attribut de nom NAME) ou des valeurs fixes (par exemple MAIL='someone@somedomain.com' pour rechercher une adresse e-mail dans le champ de la liste d'audience MAIL, basé sur la chaîne (utilisez des guillemets simples) 'someone@somedomain.com').

Les contraintes peuvent être associées avec les opérateurs AND ou OR pour n'en former qu'une seule, dont le résultat de la recherche sera vrai ou faux (Found/NotFound). Pour un Journey de connexion, nous pourrions rechercher la combinaison adresse e-mail/mot de passe : MAIL=@MAIL AND PASSWORD=@PASSWORD, où @MAIL et @PASSWORD sont des valeurs publiées issues des champs d'entrée du formulaire.
Le Composant Recherche exécute la requête SQL suivante : SELECT TOP 1 ID FROM [TABLENAME] WITH (NOLOCK) WHERE [CONSTRAINT].
Vous devez saisir [TABLENAME] et [CONSTRAINT] dans les propriétés du Composant Recherche. Pour l'exemple de connexion : SELECT TOP 1 ID FROM USERS_PARANA WITH (NOLOCK) WHERE MAIL=@MAIL AND PASSWORD=@PASSWORD. Vous pouvez visualiser cette requête dans la fenêtre « Aperçu », sous « Journalisation », lorsque vous testez un Journey.

Le nombre de composants Recherche pouvant être utilisés dans un Journey est illimité.

 

Événements

Le Composant Recherche produit deux types d'événement :

  • OnFound (trouvé) : correspondance et renvoi de la première fiche trouvée.
  • OnNotFound (introuvable) : aucune correspondance.

 

Propriétés

1. « Liste de recherche » : Sélectionnez la liste à utiliser. Cette liste ne doit pas nécessairement être la liste d'audience utilisée dans le Journey. Vous pouvez en sélectionner une autre.  En présence d'un composant Audience dans le Journey et du Composant Recherche dans le lien (flèches) avec le composant Audience, ce champ sera pré-complété avec cette liste.

2. Saisissez la condition (contrainte) dans le champ « Condition de recherche ».

  • Chaque contrainte doit produire un résultat vrai ou faux pour la recherche. Le paramètre @MAIL seul n'est pas une contrainte. Le paramètre MAIL=@MAIL est une contrainte, dont le résultat de la recherche sera vrai ou faux (Found/NotFound).

  • Utilisez les opérateurs suivants pour définir une contrainte valide : = (égal à), <> (pas égal à), < (inférieur à), > (supérieur à), <= (inférieur ou égal à), >= (supérieur ou égal à). Pour vérifier les valeurs vides, vous pouvez utiliser IS NULL ou IS NOT NULL.

  • Associez des contraintes à valider pour n'en faire qu'une seule avec les opérateurs AND ou OR.

Exemple :
MAIL=@MAIL AND PASSWORD=@PASSWORD

Recherchez une fiche pour laquelle l'adresse e-mail stockée dans la table (MAIL) est égale à la valeur publiée @MAIL (saisie par le contact dans un formulaire)
ET
 pour laquelle le mot de passe stocké dans la table (PASSWORD) est égal à la valeur publiée @PASSWORD (saisie par le contact dans un formulaire).

Remarque technique :
Avant d'effectuer une recherche basée sur des données dynamiques, vous devez savoir comment Selligent assure leur gestion. Les données liées aux contacts peuvent s'afficher de différentes façons :
FIELDNAME : la valeur présente dans la liste du champ FIELDNAME.
@FIELDNAME : La valeur publiée dans un formulaire.

Si la valeur est issue d'une extension de profil, utilisez le nom de l'étendue pour l'extension de profil : SCOPE.FIELDNAME. Exemple : CONTEST1.ANSWER

Les informations ne sont pas toutes dynamiques. Vous pouvez aussi utiliser des valeurs statiques :
Pour utiliser des valeurs numériques, saisissez simplement la valeur numérique (par exemple OPTIN_NEWSLETTER=1).
Pour utiliser des valeurs textuelles, saisissez la valeur textuelle entre guillemets simples (ANSWER=‘Friday evening’).

3. Si vous activez l'option « Basculer sur le profil, si trouvé », le Journey continuera avec le profil du contact trouvé (si la condition évalue que le résultat de la recherche est vrai).

  • Cette option peut être utilisée pour passer d'un contact anonyme à un contact connu. Par conséquent, si un contact est trouvé, toutes les actions suivantes du Journey utiliseront le profil du contact. Dans l'exemple de connexion, la personne remplit le formulaire de connexion comme contact anonyme. Après avoir été trouvée par le Composant Recherche, elle devient un contact connu et le Journey continue avec ses données de profil.

  • Si vous activez l'option « Basculer sur leprofil, si trouvé », vous pourrez charger ses données dans les extensions de profil (listes liées 1 à plusieurs, i.e. profils étendus) si le Journey en a besoin par la suite. Par conséquent, si vous devez afficher les données sur une page ou un e-mail à partir d'une extension de profil, ou si vous devez ensuite utiliser les champs d'extension de profil dans le Journey, par exemple pour stocker les données avec un Composant Données, c'est ici que vous devez sélectionner l'extension de profil.

4. L'option « Ajouter au contexte » est réservée à une utilisation avancée. Sélectionner cette option chargera les données issues de la fiche trouvée en mémoire. Ces données sont accessibles à l'étape suivante via un nom d'étendue.
Saisissez le nom d'étendue dans le champ Texte, sans oublier d'ajouter un « . » (point) à la fin du nom d'étendue (par exemple WORKSHOP.). Vous pouvez afficher les données chargées en mémoire sur la page suivante via ce nom d'étendue, suivi du nom de champ chargé (par exemple ~WORKSHOP.WORKSHOPNAME~). Comme les données sont chargées en mémoire, elles ne sont disponibles que le temps d'une demande. Et ce jusqu'à la page suivante. Après cette page, les données disparaîtront (tout comme une valeur publiée issue d'un formulaire).

Par exemple, pour charger un atelier auquel un contact connu participe pour la première fois, sélectionnez la liste de données liée 1 à plusieurs « Atelier » comme « Liste de recherche » ayant une contrainte, ici « USERID=~ID~ ». Le paramètre ~ID~ sera remplacé par la valeur du contact contenue dans le champ ID de la liste d'audience. La fiche (éventuellement) trouvée sera chargée en mémoire via le nom d'étendue « WORKSHOP. » et vous pourrez utiliser les données aux étapes suivantes du Journey, jusqu'à la première page, après le Composant Recherche, via le nom d'étendue.
Par exemple « WORKSHOP.WORKSHOPNAME » dans un composant Décision ou « ~WORKSHOP.WORKSHOPNAME~ » (dans Editor) sur la page suivante. Nous n'activons pas l'option « Basculer sur le profil, si trouvé ». Cette option permettra en fait de passer à la fiche Atelier à l'étape suivante du Journey, au lieu de rester sur le profil du contact.

Remarque: Comme contrainte, nous utilisons USERID=~ID~. Nous ne pouvons pas utiliser USERID=ID car le Composant Recherche tente de rechercher une fiche pour laquelle le champ USERID est égal au champ ID dans la table. Le champ ~ID~ prendra la valeur de l'ID du contact, par exemple 3. Par conséquent, la contrainte sera USERID=3.

5.  Enfin, il peut être nécessaire d'afficher un texte dans le message en fonction du résultat de la recherche. Ce qui permet d'informer le contact du succès ou de l'échec de la recherche. Les messages de ce type s'afficheront sur la page après les déclencheurs OnFound ou OnNotFound. Il suffit de saisir le texte souhaité dans le champ Texte. Sur la page créée dans Selligent Editor, la variable système ~DATA_ERROR~ devrait être insérée pour afficher le message.

Le message « OnFound» s'affichera si la recherche a réussi (après le déclencheur OnFound), alors que le message « OnNotFound » s'affichera si la condition de recherche n'est pas remplie (après le déclencheur OnNotFound).

Pour l'exemple de connexion, si le contact est introuvable avec la combinaison adresse e-mail/mot de passe, le Composant Recherche renverra au formulaire (déclencheur OnNotFound) et affichera le message d'erreur « Combinaison introuvable ». « Combinaison introuvable » est le message NotFound défini dans les propriétés du Composant Recherche.

6. Cliquez sur OK pour terminer.

Remarque : Si plusieurs fiches sont trouvées pour la définition de recherche, c'est la première fiche correspondante qui sera renvoyée (SELECT TOP 1 ID FROM ...).

 

Retour