Autres types de variable

Outre les variables de flux et les variables globales, vous pouvez utiliser des variables de portée utilisateur, de profil et de système.

Variables de portée de profil pour le contexte d'utilisateur

Vous pouvez accéder aux valeurs du nom, des paramètres régionaux et de l'heure locale d'un utilisateur à l'aide de variables de portée de profil, qui accèdent aux paramètres de profil à partir du client de clavardage.

Par exemple :
"Hello ${profile.firstName}, how can I help you today?"

Ceci est une image de profile.firstName dans la sortie.
Utilisez ces variables prédéfinies pour générer du texte spécifique au contexte de l'utilisateur de la compétence.
Pour ce faire... Utiliser...
Obtenir le prénom de l'utilisateur du robot. ${profile.firstName}
Obtenir le nom de l'utilisateur du robot. ${profile.lastName}
Obtenir les paramètres régionaux de l'utilisateur du robot. ${profile.locale}
Obtenir le fuseau horaire de l'utilisateur (décalage en millisecondes). ${profile.timezoneOffset}

Ces variables prédéfinies sont définies automatiquement à partir des valeurs transmises par la plate-forme de messagerie. Les valeurs diffèrent selon la plate-forme de messagerie et certaines plates-formes n'en fournissent pas. Pour les intégrations d'assistant numérique utilisé comme agent, par exemple, les variables profile.firstName, profile.lastName et profile.email n'ont de valeurs que si l'utilisateur était connecté à Oracle Service Cloud, ou si un utilisateur a rempli les champs de prénom, de nom et d'adresse de courriel dans la page de lancement du clavardage Oracle Service Cloud avant de demander un clavardage. Pour Oracle Web Client, ces valeurs de profil doivent être définies avec la propriété initUserProfile ou la méthode updateUser.

Enregistrer les valeurs propres à l'utilisateur pour les visites de retour

Vous pouvez créer des variables de portée utilisateur pour la persistance entre les sessions.

En général, lorsqu'une conversation d'utilisateur avec une compétence ou un assistant numérique prend fin, les valeurs de variable définies à partir de l'entrée utilisateur sont supprimées. Toutefois, vous pouvez également définir des variables de portée utilisateur pour conserver les entrées utilisateur des sessions précédentes afin d'améliorer les nouvelles conversations. Vous créez des variables de portée utilisateur directement dans les composants eux-mêmes.

Pour créer une variable de portée utilisateur :

  1. Dans le champ Variable de l'inspecteur de propriétés du composant dans lequel vous voulez le créer, sélectionnez Variable d'étendue d'utilisateur dans la liste déroulante.
  2. Dans le champ Nom de variable d'étendue qui s'affiche, entrez le nom de la variable.

    Entrez le nom sans le préfixe user.. (Bien que vous utilisiez ce préfixe lors de la référence d'une variable de portée utilisateur, vous ne l'utilisez pas lors de sa définition.)

Pour référencer une variable de portée utilisateur, vous utilisez une expression telle que ${user.VAR_NAME}.

Par exemple, dans l'exemple de compétence Pizza Skill - Visual Flow Designer, la variable d'étendue d'utilisateur lastOrderNumber est définie après que l'utilisateur ait placé l'ordre dans le flux service.reg.placeOrder. Cette variable est référencée par l'expression ${((user.lastOrderNumber)?has_content)} dans le premier état du flux qui est appelé chaque fois que la compétence démarre (handler.startSkill) pour déterminer si l'utilisateur a passé des commandes précédentes.

Note

Les valeurs des variables de portée utilisateur sont propres au canal. Par exemple, si un utilisateur accède à une compétence sur un canal Web, puis accède plus tard à la compétence au moyen d'un canal Microsoft Teams, le canal Teams aura ses propres instances des variables utilisateur et ne reconnaîtra pas les valeurs de la conversation précédente dans le canal Web.

Variations système

Variable Type Description
system.nlpresult Résultat TLN Sert à stocker le résultat du TLN pour l'énoncé de l'utilisateur. Pour obtenir le résultat TLN complet, vous pouvez utiliser l'expression ${skill.system.nlpresult.value}.
system.intent.utterance Chaîne Lorsque cette variable a une valeur, elle est utilisée pour la mise en correspondance d'intention au lieu du dernier message utilisateur. Pour accéder à cette variable, vous pouvez utiliser l'expression ${skill.system.intent.utterance}.
system.event Carte Lorsque l'un des événements intégrés est mappé dans le flux principal ou un sous-flux, cette variable contient les propriétés d'événement que vous pouvez utiliser pour gérer l'événement. Par exemple, pour obtenir les données utiles d'un événement, vous utilisez une expression sous la forme ${skill.system.event.value.EVENT_NAME}.
system.rb regroupement de ressources Sert à accéder aux entrées d'ensembles de ressources linguistiques. Pour accéder à une entrée d'ensemble de ressources, vous pouvez utiliser une expression dans le format ${skill.system.rb.RB_ENTRY_NAME}.