Modèles de composant

Voici une description des modèles fournis pour les différents composants du flux de dialogue.

Envoyer un message

Il s'agit d'un composant très simple conçu pour afficher un ou plusieurs messages à l'utilisateur. Il n'attend ni ne répond aux entrées utilisateur.

Le composant Send Message possède la propriété suivante :

Propriété Description
Messages Messages qui s'affichent pour l'utilisateur lorsque le composant est appelé.

Poser une question

Ce composant est conçu pour demander des entrées utilisateur, puis les stocker afin qu'elles puissent être utilisées ou traitées par d'autres composants.

Le composant Poser une question possède les propriétés suivantes :

Nom Description
Question Texte qui s'affiche pour l'utilisateur.
Variable Variable qui contient la réponse de l'utilisateur à la question.

Ce composant peut renvoyer les actions suivantes :

Action Description
cancel L'utilisateur a atteint le nombre maximal de tentatives pour fournir une valeur valide.
system.textReceived L'utilisateur a saisi du texte (par opposition, par exemple, à la sélection d'un bouton d'action).

Résoudre un conteneur composite

Ce composant est une version simplifiée du composant Résoudre les entités que vous pouvez utiliser pour résoudre une entité de conteneur composite.

Pour utiliser ce composant, vous avez besoin d'une entité de conteneur composite et d'une variable de brique pour ce conteneur composite.

Le composant Résoudre un conteneur composite possède la propriété suivante :

Nom Description
Variable d'entité de conteneur composite Texte qui s'affiche pour l'utilisateur.

Ce composant peut renvoyer les actions suivantes :

Action Description
cancel L'utilisateur a atteint le nombre maximal de tentatives pour fournir une valeur valide.
disambiguate La saisie utilisateur doit être clarifiée pour déterminer la valeur d'entité à laquelle elle correspond, le cas échéant.
match L'entrée utilisateur correspond à une valeur d'entité valide.

Modèles de messagerie utilisateur

Les modèles de la catégorie Messagerie utilisateur sont conçus pour afficher les messages et les invites et accepter les entrées utilisateur.

A l'exception des modèles Résoudre l'entité et Commentaires utilisateur, tous ces modèles sont basés sur le composant Réponse commune et sont adaptés à des fins spécifiques.

Modèles de composant de réponse communs

La grande majorité des modèles de la catégorie Messagerie utilisateur sont basés sur le composant Réponse commune, qui vous permet d'utiliser les propriétés et les métadonnées du composant pour créer une interface utilisateur spécialisée pouvant inclure du texte, des boutons d'action, des images et des cartes.

Dans de nombreux cas, tels que les modèles de la sous-catégorie Afficher les messages multimédia, les principales différences se trouvent dans la propriété Métadonnées du composant Réponse commune.

Dans d'autres cas, comme dans la sous-catégorie Afficher les tables et les formulaires, le modèle est constitué d'un composant Réponse commune précédé d'un composant Définir une variable.

Dans la sous-catégorie Caractéristiques propres à un canal, vous trouverez des exemples d'utilisation d'extensions disponibles pour les canaux Slack et Microsoft Teams.

Propriétés des modèles de composant de réponse commune

A l'exception des composants Résoudre les entités et Commentaires utilisateur, les modèles de la catégorie Messagerie utilisateur sont basés sur le composant Réponse commune. Par conséquent, ils utilisent chacun les propriétés du tableau suivant (ou d'un sous-ensemble).

Nom Description
Métadonnées La réponse de discussion créée par ce composant est pilotée par les métadonnées ResponseItems propres au message. Reportez-vous à Propriété Metadata dans Composants de réponse communs.
Traiter le message utilisateur

Définissez cette propriété sur True pour que le moteur de dialogue revienne à l'état après que l'utilisateur saisit du texte ou appuie sur un bouton. Définissez cette propriété sur False si aucune entrée utilisateur n'est requise (ou attendue).

Définissez cette propriété sur True lorsque vous définissez un emplacement.

Garder le virage

Valeur booléenne permettant d'annuler (False) ou de conserver (True) le contrôle de la brique du flux de dialogue. Définissez la valeur sur True lorsque vous voulez générer une séquence ininterrompue de messages de brique dans laquelle aucun message de l'utilisateur n'est accepté.

Cette propriété s'applique uniquement lorsque vous définissez la propriété Traiter le message utilisateur sur False.

Variable

Cette variable contient le nom d'une variable remplie lorsqu'un utilisateur répond en entrant du texte libre au lieu d'appuyer sur un bouton. Cette propriété est ignorée lorsqu'un utilisateur appuie sur un bouton, car la charge utile du bouton détermine les valeurs des variables à définir. Si la propriété de variable a déjà été définie lorsque le moteur de dialogue entre dans cet état, l'état est ignoré.

Pour les entités de conteneur composite, référencez la variable d'entité de conteneur composite. Les utilisateurs sont invités à saisir les différentes valeurs d'entité dans le conteneur. Lorsque toutes les valeurs d'entité sont définies, le composant passe à l'état suivant.

Nombre maximal d'invites

Pour que le composant puisse remplir la valeur de variable que vous avez indiquée pour la propriété Variable à partir du texte saisi par l'utilisateur, il valide la valeur par rapport au type de variable. Il peut s'agir d'une validation de type d'entité ou, dans le cas d'un type primitif, d'une valeur qui peut être contrainte au type primitif.

Lorsque le composant ne peut pas valider la valeur, le moteur de dialogue renvoie le texte du message et les options. (Vous pouvez modifier ce message pour refléter l'échec de la validation.) Pour éviter une boucle infinie résultant de l'incapacité de l'utilisateur à entrer une valeur valide, utilisez cette propriété afin de définir une limite sur le nombre de tentatives accordé à l'utilisateur. Lorsque l'utilisateur dépasse ce nombre, le composant passe à l'action cancel. Reportez-vous à Limitation du nombre d'invites utilisateur

Comme décrit dans Création d'une entité de conteneur composite, des entités dans une entité de conteneur composite peuvent remplacer ce paramètre lorsque l'option Nombre maximal de tentatives de saisie utilisateur est définie.

Multi-valeur Indique si une variable d'entité peut stocker un tableau de valeurs correspondantes ou une seule valeur correspondante.
Annuler la stratégie Détermine le moment de la transition cancel :
  • Immédiatement : immédiatement après que la valeur définie pour le nombre maximum de tentatives de saisie utilisateur de l'élément de conteneur a été atteinte. Si cette valeur n'a pas été définie, le composant déclenche cette modification d'état lorsque la valeur Nombre maximal d'invites de niveau composant est atteinte.

    Il s'agit de la valeur par défaut.

  • Dernière entité : lorsque la dernière entité dans le conteneur a été mise en correspondance avec une valeur.

Cette propriété est ignorée si vous avez inscrit un gestionnaire d'événements d'entité auprès d'un gestionnaire maxPromptsReached de niveau élément ou de niveau événement.
Utiliser les correspondances d'entité complètes Lorsque cette propriété est définie sur True, les valeurs d'entité personnalisée sont stockées en tant qu'objets JSON (comme les valeurs d'entité intégrée). Vous pouvez ainsi créer des expressions pour accéder aux propriétés telles que value, primaryLanguageValue et originalString, qui sont particulièrement importantes pour les briques actuellement multilingues ou susceptibles de le devenir.
Transitions pour les composants de réponse communs
Les composants Common Response utilisent les transitions répertoriées dans le tableau suivant. La section Gestion des messages pour les composants de message utilisateur explique comment ces transitions sont déclenchées.
Transition Description
cancel Déclenché lorsqu'un utilisateur dépasse le nombre de tentatives allouées défini par la propriété maxAttempts ou redirige le flux.
textReceived Déclenché lorsqu'un utilisateur envoie du texte ou des emojis au lieu d'appuyer sur un bouton d'action ou un lien.
system.nonSequitur.onResume Utilisez cette action de transition pour fournir une autre navigation pour un état lorsque la conversation revient à cet état après avoir traité un état non séquentiel. Il peut être utilisé pour actualiser l'état du composant, contourner l'état ou pour interroger à nouveau les informations affichées par l'état. En particulier, cette transition est utile dans les cas où l'état dépend de nouvelles données (en d'autres termes, il doit être réinterrogé chaque fois qu'un utilisateur y revient).
system.outOfOrderMessage Cette option est définie pour contourner le comportement inattendu de l'utilisateur. Plus précisément, lorsqu'un utilisateur n'appuie sur aucun élément d'action dans le message actuel, mais qu'il appuie sur une action appartenant à un ancien message dans la session de discussion.
Transitions de conteneur composite
Les composants de réponse commune déclenchent les actions match et cancel en fonction des valeurs mises en correspondance à partir de l'entrée utilisateur et de la configuration de la propriété cancelPolicy.
Action Description Requis ?
match Le composant déclenche cette action pour accéder à l'état spécifié lorsqu'au moins une entité du conteneur correspond à la saisie utilisateur. Non
cancel Le composant déclenche cette action pour accéder à l'état spécifié en fonction des paramètres de la propriété cancelPolicy. Non

Résoudre l'entité

Propriété Description
Variable Fait référence à la variable de flux de dialogue d'entité de conteneur composite remplie par ce composant. Si toutes les entités enfant de la variable d'entité composite ont déjà une valeur, le flux de dialogue passe à l'état suivant sans envoyer de message à l'utilisateur.
Nombre maximal d'invites Spécifie le nombre de tentatives alloué à l'utilisateur pour saisir une valeur valide qui correspond au type d'entité enfant. Si le nombre maximal de tentatives est dépassé pour la première entité enfant, cette propriété est réinitialisée sur 0 et le bot génère l'invite pour l'entité enfant suivante. Comme décrit dans Création d'une entité de conteneur composite, des entités dans le conteneur composite peuvent remplacer ce paramètre lorsque l'option Nombre maximal de tentatives de saisie utilisateur est définie.
Multi-valeur Indique si une variable d'entité peut stocker un tableau de valeurs correspondantes ou une seule valeur correspondante.
Utiliser les correspondances d'entité complètes Lorsque cette propriété est définie sur True, les valeurs d'entité personnalisée sont stockées en tant qu'objets JSON (comme les valeurs d'entité intégrée). Vous pouvez ainsi créer des expressions pour accéder aux propriétés telles que value, primaryLanguageValue et originalString, qui sont particulièrement importantes pour les briques actuellement multilingues ou susceptibles de le devenir.
Invite Texte utilisé pour inviter l'utilisateur à saisir des entités intégrées.
Invite d'homonymie Texte utilisé pour inviter l'utilisateur à déshomonymie lorsque la saisie précédente de l'utilisateur correspondait à plusieurs valeurs de l'entité intégrée. Cette propriété est ignorée si la propriété Multi-Value est résolue sur True.
Texte d'en-tête Message qui s'affiche avant que le composant demande à l'utilisateur d'indiquer l'élément suivant dans le conteneur. Vous pouvez utiliser cet en-tête pour fournir des informations en retour sur les entités précédentes du conteneur ayant été mises en correspondance (ou mises à jour). Par exemple :
<#list system.entityToResolve.value.updatedEntities>I have updated <#items as ent>${ent.description}<#sep> and </#items>. </#list><#list system.entityToResolve.value.outOfOrderMatches>I got <#items as ent>${ent.description}<#sep> and </#items>. </#list>
Texte de bas de page Améliore la sortie sur les canaux de texte uniquement. Par exemple, vous pouvez utiliser des expressions FreeMarker afin de conditionner le texte de pied de page pour les canaux de texte uniquement.
Annuler la stratégie Détermine le moment de la transition cancel :
  • Immédiatement : immédiatement après que la valeur définie pour le nombre maximum de tentatives de saisie utilisateur de l'élément de conteneur a été atteinte. Si cette valeur n'a pas été définie, le composant déclenche cette modification d'état lorsque la valeur Nombre maximal d'invites de niveau composant est atteinte.

    Il s'agit de la valeur par défaut.

  • Dernière entité : lorsque la dernière entité dans le conteneur a été mise en correspondance avec une valeur.

Cette propriété est ignorée si vous avez inscrit un gestionnaire d'événements d'entité auprès d'un gestionnaire maxPromptsReached de niveau élément ou de niveau événement.

Informations en retour des utilisateurs

Le composant Commentaires des utilisateurs vous permet de collecter des données de retour pour Informations en présentant aux utilisateurs une échelle de notation une fois qu'ils ont terminé un flux transactionnel. Les utilisateurs ne peuvent pas modifier leur notation car le composant Retour utilisateur n'autorise pas les entrées hors séquence. Si vous utilisez le SDK 21.10 ou une version ultérieure, ce composant génère un système de classement horizontal par étoiles.

Bien que vous puissiez modifier le comportement de ce composant à l'aide des propriétés du composant, vous pouvez modifier son apparence lorsque vous utilisez le SDK (version 21.10 ou ultérieure). Par exemple, vous pouvez remplacer les icônes en étoile par défaut utilisées pour les boutons de retour par une autre icône.

Nom Description
Evaluation maximale Notation maximale qu'un utilisateur peut soumettre. La valeur maximale est 5. Vous pouvez ajuster cette valeur vers le bas.
Seuil Une valeur booléenne, qui, si elle est définie sur true, permet à l'utilisateur de soumettre un retour au format texte si la notation est inférieure ou égale à la valeur threshold. La valeur par défaut de cette propriété est false (aucun retour n'est activé).
Activer le retour de texte Valeur permettant d'évaluer la transition entre les actions above et below. Par défaut, le seuil entre les retours positifs et négatifs est défini sur 2 pour la valeur maxRating par défaut, à savoir 5.
Texte de bas de page Texte affiché en bas de la boîte de dialogue de retour.

Ce composant peut renvoyer les actions suivantes :

Action Description
above Définie lorsque l'entrée utilisateur est une valeur valide supérieure à la valeur Seuil.
below Définit si la saisie utilisateur est une valeur valide égale ou inférieure à la valeur Seuil.
cancel Définissez le moment où les utilisateurs refusent l'évaluation en cliquant sur Ignorer.

Vous pouvez utiliser les variables système suivantes pour les messages générés par les états de transition :

  • system.userFeedbackRating : renvoie la note de l'utilisateur.
  • system.userFeedbackText : lorsque enableTextFeedback est défini sur true, votre brique peut demander un retour lorsque les notations sont inférieures à la valeur threshold. system.userFeedbackText renvoie l'entrée de l'utilisateur (${system.userFeedbackText.value}).

Le texte d'affichage standard du composant est stocké dans les entrées de regroupement de ressources. Ces entrées de bundle contiennent du texte par défaut, mais vous pouvez les personnaliser. Voici les entrées de ce composant :

Clé de groupe de ressources Description
Commentaires - feedbackPrompt Invite affichée à l'utilisateur pour sélectionner la notation de la conversation.
Commentaires - invalidValuePrompt Invite affichée à l'utilisateur pour sélectionner la notation de la conversation une fois que l'utilisateur a saisi une valeur non valide pour la notation.
Commentaires - ratingButtonLabels Liste de libellés, séparés par une virgule, affichés sur les boutons d'évaluation.
Commentaires - skipLabel Intitulé du bouton permettant d'ignorer les commentaires.
Commentaires - textFeedbackPrompt Invite affichée à l'utilisateur lui demandant de fournir un retour textuel lorsqu'il attribue une note inférieure à la valeur de la propriété Seuil.
Commentaires - thankYouPrompt Invite affichée à l'utilisateur lorsque la transition sélectionnée par l'utilisateur n'est pas définie dans le flux de dialogue.

Modèles de variables

Copier des variables

Copie les valeurs d'une variable vers une autre.

Propriété Description
Variables source Nom des variables dont la valeur sera copiée.
Variables de destination Variables vers lesquelles les valeurs des variables source seront copiées.

Les définitions de ces propriétés n'ont pas besoin de se reproduire. Vous pouvez définir les variables source et de destination en tant que listes de variables, mais vous pouvez également définir la variable source avec une seule variable et la destination en tant que liste. Si vous définissez une variable de destination supplémentaire, elle hérite de la valeur de variable de la valeur source suivante indiquée.

Réinitialiser les variables

Ce composant permet de réinitialiser les valeurs des variables spécifiées sur NULL.

Propriété Description
Variables à réinitialiser Variables à réinitialiser.

Définir la variable

Le composant Définir variable définit la valeur d'une variable prédéfinie.

Propriété Description
Variable Nom de la variable.
Valeur Valeur cible, que vous pouvez définir en tant que littéral ou en tant qu'expression FreeMarker faisant référence à une autre variable. La valeur doit correspondre au type de la variable déclarée.

Définir des mesures personnalisées

Cliquez sur Dimensions pour ajouter les paires nom-valeur pour les dimensions et les valeurs de dimension.
Attribut Description
name Nom de la dimension (50 caractères ou moins) tel qu'il apparaît dans le rapport Mesures personnalisées. Utilisez uniquement des lettres, des nombres et des espaces. N'utilisez pas de caractères spéciaux.
value Vous pouvez définir la valeur de dimension en tant qu'expression FreeMarker ou chaîne de texte.
  • Utilisez des expressions FreeMarker pour référencer une variable déclarée pour une entité.
  • Utilisez une chaîne pour suivre une valeur qui n'est pas définie par des variables dans la définition du flux de dialogue, mais qui suit à la place d'autres aspects de l'utilisation des briques.

Modèles de langue

Détecter la langue

Le composant Détecter la langue utilise le service de traduction pour détecter la langue de l'utilisateur à partir de la saisie utilisateur.

Remarque

Ce composant n'est disponible que si vous avez créé votre brique pour utiliser un service de traduction (c'est-à-dire que vous n'êtes pas en mode de langue pris en charge de façon native).

Ce composant définit une variable appelée profile.languageTag avec la chaîne d'environnement local. Vous pouvez définir des variables avec la langue actuelle lorsque vous utilisez cette variable dans une expression de valeur (${profile.languageTag}).

Remarque

La variable profile.languageTag est prioritaire par rapport à la variable profile.locale définie par le client de messagerie.
Propriété Description
Balise de langue de profil existante Lorsque cette option est définie sur Vrai, la brique utilise immédiatement la langue détectée par l'assistant numérique. (Sinon, la brique peut indiquer un message ou une invite en anglais avant que la langue ne soit (re)détectée.) Cette propriété s'applique uniquement aux briques présentes dans les assistants numériques qui utilisent un service de traduction.

Traduire l'entrée

Ce composant envoie le texte spécifié au service de traduction de la brique, puis stocke la traduction en anglais. Il repose sur la brique configurée avec un service de traduction, qui reconnaît la langue à partir de l'entrée de l'utilisateur et la traduit en anglais. Ce composant ne fonctionne pas avec les briques qui utilisent le mode de langue pris en charge de façon native.

Utilisez ce composant lorsque vous devez traiter le texte d'entrée brut avant de le faire traduire. Par exemple, vous pouvez supprimer certaines données personnelles de la saisie utilisateur avant de l'envoyer au service de traduction.

Etant donné que ce composant utilise le service de traduction qui détecte déjà la langue de l'utilisateur, ce composant n'a pas besoin de suivre les états qui détectent ou définissent la langue.

Propriété Description
Expression Expression FreeMarker qui indique les valeurs de texte à traduire en anglais.
Variable Variable contenant la traduction anglaise du texte. Si cette valeur n'est pas définie, le composant utilise l'entrée précédente de l'utilisateur.

Convertir la sortie

Le composant Traduire la sortie vous permet de traduire le texte spécifié dans la langue de l'utilisateur. Le composant prend la valeur définie pour la propriété Expression. Il utilise le service de traduction de la brique pour traduire le texte dans la langue détectée par le composant Détecter la langue ou par la variable profile.locale, puis le stocke dans la variable indiquée par la propriété Variable.

Ce composant ne fonctionne pas avec les briques qui utilisent le mode de langue pris en charge de façon native.

Propriétés Description
Expression Expression FreeMarker faisant référence à une variable dont la valeur doit être convertie.
Variable Variable contenant le texte traduit.

Entité de correspondance

Le composant Entité de correspondance appelle le moteur d'intentions pour extraire les informations d'entité à partir du texte contenu dans la propriété Variable source. S'il existe une correspondance pour le type d'entité de la variable, la variable spécifiée par la propriété Variable est définie avec cette valeur d'entité.

Propriété Description
Variable source Variable qui contient la valeur d'entrée.
Variable Nom de la variable définie avec la valeur de l'entité extraite. Vous pouvez utiliser la valeur de cette variable dans un composant Set Variable suivant afin d'extraire une entité spécifique à l'aide d'une expression FreeMarker. Par exemple, pour extraire une valeur d'entité EMAIL : ${userInputEntities.value.entityMatches['EMAIL'][0]}

Ce composant contient également deux transitions prédéfinies : match et nomatch.

Transition Description
match Indique au moteur de dialogue de passer à un état lorsque les entités correspondent.
nomatch Indique au moteur de dialogue de passer à un état lorsque les entités ne correspondent pas.
Remarque

Le composant Mettre en correspondance une entité ne résout qu'une seule valeur.

Modèles de sécurité

OAuth Lien de compte

Utilisez ce composant pour obtenir le code d'autorisation des services sécurisés par le flux d'octroi de code d'autorisation, comme LinkedIn, Twitter, Google ou Microsoft. Les composants personnalisés de la brique peuvent échanger le code d'autorisation avec un jeton d'accès, qui sera ensuite utilisé pour appeler le service de fin.

Le composant dirige d'abord l'utilisateur vers la page de connexion du fournisseur d'identités. Une fois la connexion établie, le composant renvoie le code d'autorisation dans une variable, que vous utilisez pour transmettre le code d'autorisation au composant personnalisé. L'API du composant personnalisé doit échanger le code d'autorisation, l'ID client et la clé secrète client avec un jeton d'accès utilisateur OAuth.

Pour chaque état nécessitant une autorisation avant de pouvoir être appelé, vous définissez son paramètre Autorisation requise sur True. Pour connaître les étapes de configuration, reportez-vous à Autorisation utilisateur.

Propriété Description
Variable Spécifie la variable de flux de dialogue dans laquelle stocker le code d'autorisation. Vous pouvez la déclarer comme une chaîne ou un autre type de variable pris en charge. Il peut également s'agir d'une variable utilisateur.
Autoriser l'URL URL de connexion. La section Propriété authorizeURL décrit la procédure de configuration de cette URL.
Texte de bas de page Améliore la boîte de dialogue de connexion en ajoutant du texte sous les options de connexion et d'annulation. Vous pouvez utiliser des expressions FreeMarker afin de conditionner le texte de pied de page pour les canaux de texte uniquement.
Afficher l'étiquette d'annulation (Facultatif) Permet d'indiquer si vous souhaitez afficher ou non le bouton Annuler. Par défaut, cette propriété est définie sur True, ce qui signifie que le bouton Annuler est affiché. Dans certains cas, par exemple pour les canaux SMS, vous pouvez ne pas afficher ce bouton. Vous pouvez configurer ce comportement à l'aide d'une expression du type :
${(system.message.channelConversation.channelType=='twilio')?then('false','true')}

Ce composant peut renvoyer les actions suivantes :

Action Description
fail L'utilisateur a cliqué sur le bouton Annuler.
pass Le code d'autorisation a été extrait.
textReceived L'utilisateur a saisi du texte au lieu de cliquer sur le bouton d'annulation ou de s'authentifier.

Le texte d'affichage standard du composant est stocké dans les entrées de regroupement de ressources. Ces entrées de bundle contiennent du texte par défaut, mais vous pouvez les personnaliser. Voici les entrées de ce composant :

Clé de groupe de ressources Description
OAuthAccountLink - cancelLabel Utilisez cette option pour remplacer le libellé du bouton sur lequel les utilisateurs peuvent cliquer pour quitter l'état sans appeler la boîte de dialogue d'authentification. Le libellé par défaut est Cancel.
OAuthAccountLink - linkLabel Utilisez cette option pour remplacer le libellé du bouton sur lequel les utilisateurs peuvent cliquer pour appeler la boîte de dialogue d'authentification. Le libellé par défaut est Log In.
OAuthAccountLink : invite Chaîne à utiliser pour inviter l'utilisateur à se connecter.

Reportez-vous à la section Modify a Resource Bundle Entry pour connaître les étapes à suivre pour modifier le message par défaut d'une entrée de groupe de ressources.

Conseil :

Vous pouvez également modifier les messages Autre - oauthCancelPrompt et Autre - oauthSuccessPrompt dans le groupe de configuration.

Lorsque le moteur de dialogue rencontre ce composant, le bot de brique invite l'utilisateur à interagir avec deux liens : Connexion et Annuler.

Il existe plusieurs façons d'effectuer une transition à partir de ce composant :

  • L'utilisateur clique sur le bouton d'annulation et le composant passe à l'état nommé par l'action fail.

  • L'utilisateur ne clique sur aucun bouton, mais saisit du texte à la place. Le composant passe à l'état nommé par l'action textReceived.

  • L'utilisateur clique sur le lien de connexion et le canal affiche la page de connexion du fournisseur d'identités ou sa boîte de dialogue d'authentification sous forme de vue Web, comme illustré dans l'exemple ci-dessous. Après l'autorisation, le composant passe à l'état nommé par l'action pass (ou à l'état suivant s'il n'existe pas d'action pass), qui appelle généralement un composant personnalisé qui échange le code d'autorisation avec un jeton d'accès.

Si la fenêtre de test n'affiche pas la vue Web, coupez et collez le texte du lien dans votre navigateur.

OAuth 2.0 Lien de compte

Utilisez ce composant afin d'obtenir un jeton d'accès utilisateur OAuth2 (de type d'octroi Code d'autorisation) pour les ressources sécurisées par OCI IAM, Oracle Access Manager (OAM), la plate-forme d'identité Microsoft ou l'autorisation Google OAuth 2.0. Ce composant effectue toutes les étapes pour le flux OAuth2 à 3 acteurs et renvoie le jeton d'accès OAuth2.

Pour chaque état nécessitant une autorisation avant de pouvoir être appelé, vous définissez son paramètre Autorisation requise sur True. Pour connaître les étapes de configuration, reportez-vous à Autorisation utilisateur.

Si vous devez obtenir un jeton d'accès de type Informations d'identification client pour accéder aux ressources client, reportez-vous à OAuth 2.0 Client.

Pour pouvoir utiliser ce composant dans une brique, vous devez effectuer les tâches suivantes :

  1. S'il n'a pas déjà été inscrit, inscrivez le client auprès du fournisseur d'identités, comme décrit dans Inscription de fournisseur d'identités.
  2. Ajoutez un service d'authentification pour le fournisseur d'identités, comme décrit dans Services d'authentification.

Certains fournisseurs d'identités émettent des jetons d'actualisation. Lorsque vous utilisez ce composant, Digital Assistant stocke le jeton d'actualisation pendant la durée de conservation spécifiée pour le service d'authentification. Le back-end Digital Assistant peut utiliser le jeton d'actualisation, s'il est disponible, pour obtenir un nouveau jeton d'accès sans nécessiter de nouvelle connexion de la part de l'utilisateur.

Propriété Description
Service d'authentification Nom du service de code d'autorisation créé dans l'interface utilisateur des services d'authentification du fournisseur d'identités OAuth2.
Nom de variable utilisateur authentifié Définit la variable dans laquelle stocker le nom utilisateur authentifié (nom connu par le fournisseur d'identités). Si la variable est de niveau utilisateur, elle peut être partagée entre les compétences.
Nom de variable de jeton d'accès Spécifie la variable dans laquelle stocker le jeton d'accès. Si la variable est de niveau utilisateur, elle peut être partagée entre les compétences.
Nom de variable de jeton d'accès multi-portée Champ réservé pour la prise en charge future du jeton d'accès multi-portée.
Texte de bas de page Améliore la boîte de dialogue de connexion en ajoutant du texte sous les options de connexion et d'annulation. Vous pouvez utiliser des expressions FreeMarker afin de conditionner le texte de pied de page pour les canaux de texte uniquement.
Afficher l'option d'annulation (Facultatif) Permet d'indiquer si vous souhaitez afficher ou non le bouton Annuler. Par défaut, cette option est définie sur True, ce qui signifie que le bouton Annuler est affiché. Dans certains cas, par exemple pour les canaux SMS, vous pouvez ne pas afficher ce bouton. Vous pouvez configurer ce comportement à l'aide d'une expression du type :
${(system.message.channelConversation.channelType=='twilio')?then('false','true')}
Exige un consentement d'association Définissez cette valeur sur Vrai si la brique utilise le composant Notifier l'utilisateur et que le canal d'événement est Twilio ou Slack pour conserver l'identité de l'utilisateur entre les sessions et les canaux. Cette propriété permet de lier les comptes de canal pris en charge au compte de domaine d'identité OCI IAM authentifié OAuth à l'aide d'un identificateur utilisateur unifié.
Mettre à jour le profil utilisateur Si le fournisseur d'identités est un domaine d'identité OCI IAM et que vous voulez stocker le profil de l'utilisateur à partir d'IAM pendant la durée de la session, définissez cette propriété sur True. Lorsqu'une question de vérification est posée à l'utilisateur à des fins d'authentification, si cette propriété est définie sur true, le composant tente d'extraire les données de profil utilisateur du fournisseur d'identités et de définir les résultats dans la correspondance userProfile.<authorization service>. Reportez-vous à Stockage du profil utilisateur pour la durée de la session.
Activer l'authentification unique (S'applique uniquement aux canaux Microsoft Teams) Si vous avez configuré l'accès avec connexion unique Microsoft Teams, la définition de cette propriété sur True permet aux utilisateurs qui se sont déjà connectés à Teams de ne pas avoir à se connecter à la brique séparément.
URL de redirection URL de redirection qui reçoit le code d'autorisation.
Remarque

La propriété Associer à un utilisateur unifié n'est plus disponible. Si vous souhaitez activer la liaison du canal pris en charge à une identité utilisateur unifiée, vous pouvez le faire pour l'ensemble de l'instance. Reportez-vous à Activation de la liaison de comptes de canal.

Ce composant peut renvoyer les actions suivantes :

Action Description
fail L'utilisateur a cliqué sur le bouton Annuler.
pass Le jeton d'accès a été extrait.
textReceived L'utilisateur a saisi du texte au lieu de cliquer sur le bouton d'annulation ou de s'authentifier.

Le texte d'affichage standard du composant est stocké dans les entrées de regroupement de ressources. Ces entrées de bundle contiennent du texte par défaut, mais vous pouvez les personnaliser. Voici les entrées de ce composant :

Clé de groupe de ressources Description
OAuth2AccountLink - cancelLabel Utilisez cette option pour remplacer le libellé du bouton sur lequel les utilisateurs peuvent cliquer pour quitter un état sans appeler la boîte de dialogue d'authentification. Le libellé par défaut est Cancel.
OAuth2AccountLink - linkLabel Utilisez cette option pour remplacer le libellé du bouton sur lequel les utilisateurs peuvent cliquer pour appeler la boîte de dialogue d'authentification. Le libellé par défaut est Log In.
OAuthAccount2Link : invite Chaîne à utiliser pour inviter l'utilisateur à se connecter.
OAuthAccount2Link - consentNeverFinalConfirmationNoLabel Libellé du bouton "Non" qui apparaît après l'invite pour confirmer que l'utilisateur souhaite refuser que son compte de canal soit associé de manière permanente à une identité unifiée. La valeur par défaut est Cancel.
OAuthAccount2Link - consentNeverFinalConfirmationPrompt Invite invitant les utilisateurs à confirmer qu'ils ne veulent pas que leur compte de canal soit associé à une identité unifiée.
OAuthAccount2Link - consentNeverFinalConfirmationYesLabe Libellé du bouton "Oui" qui apparaît après l'invite pour confirmer que l'utilisateur souhaite refuser que son compte soit associé de manière permanente à une identité unifiée. La valeur par défaut est Confirm.
OAuthAccount2Link - consentNeverFinalPrompt Message qui confirme aux utilisateurs qu'ils ont définitivement choisi de ne pas associer leur compte à une identité unifiée.
OAuthAccount2Link - consentNeverLabel Libellé du bouton "Jamais" qui apparaît après l'invite demandant si l'utilisateur souhaite associer ses données de compte de canal à une identité unifiée. La valeur par défaut est Never link this account.
OAuthAccount2Link - consentNotifyPrompt Message informant les utilisateurs que leur compte de canal sera associé à l'identité de l'utilisateur authentifié.
OAuthAccount2Link - consentNotNowFinalPrompt Message confirmant aux utilisateurs qu'ils ont temporairement refusé d'associer leurs données de compte de canal à une identité unifiée.
OAuthAccount2Link - consentNotNowLabel Libellé du bouton "Pas maintenant" qui apparaît après l'invite demandant si l'utilisateur souhaite associer ses données de compte de canal à une identité unifiée. La valeur par défaut est Not at this time.
OAuthAccount2Link - consentPrompt Invite invitant les utilisateurs à choisir s'ils consentent à associer leur compte de canal à l'identité de l'utilisateur authentifié.
OAuthAccount2Link - consentYesLabel Libellé du bouton "Oui" qui apparaît après l'invite demandant si l'utilisateur souhaite associer ses données de compte de canal à une identité unifiée.

Reportez-vous à la section Modify a Resource Bundle Entry pour connaître les étapes à suivre pour modifier le message par défaut d'une entrée de groupe de ressources.

Conseil :

Vous pouvez également modifier les messages Autre - oauthCancelPrompt et Autre - oauthSuccessPrompt dans le groupe de configuration.

Lorsque le moteur de dialogue rencontre le composant, le bot de brique propose deux liens à l'utilisateur : Obtenir un jeton d'accès et Annuler (vous pouvez utiliser linkLabel et cancelLabel pour modifier le texte du lien).


Description de l'image oauth2accountlinksignin1.png ci-après
Description de l'image oauth2accountlinksignin1.png

Si l'utilisateur clique sur le lien permettant d'obtenir un jeton d'accès, cela affiche la page de connexion ou la boîte de dialogue d'authentification du fournisseur d'identités, telle que définie par le service d'authentification. Une fois la connexion établie, il obtient le jeton d'accès, définit les valeurs des variables identifiées par accessTokenVariableName et authenticatedUserVariableName, puis passe à l'état nommé par l'action pass (ou à l'état suivant si l'action pass n'existe pas). Si l'utilisateur annule, l'action de postback est définie sur fail. Si l'utilisateur saisit du texte, il renvoie l'action textReceived.


Description de l'image oauth2accountlinksignin2.png ci-après
Description de l'image oauth2accountlinksignin2.png

Comme indiqué précédemment, vous pouvez définir requiresAuthorization pour un état afin de vous assurer que l'utilisateur dispose des autorisations nécessaires avant d'appeler le composant de l'état. Si l'utilisateur ne dispose pas encore d'une autorisation, la boîte de dialogue appelle l'événement Autoriser l'utilisateur.

Client OAuth 2.0

Utilisez ce composant pour obtenir un jeton d'accès OAuth2 de type d'octroi Informations d'identification client. En d'autres termes, vous l'utilisez pour obtenir un jeton d'accès basé sur les informations d'identification du client, mais pas sur son nom ni sur son mot de passe. Vous pouvez utiliser ce composant pour obtenir un jeton qui permet d'accéder aux ressources client protégées par Oracle Identity Cloud Service ou Oracle Access Manager (OAM).

Si vous devez accéder aux ressources pour le compte d'un utilisateur, reportez-vous à OAuth 2.0 Account Link et OAuth Account Link.

Pour pouvoir utiliser ce composant dans une brique, vous devez effectuer les tâches suivantes :

  1. S'il n'a pas déjà été inscrit, inscrivez le client auprès du fournisseur d'identités, comme décrit dans Inscription de fournisseur d'identités.
  2. Ajoutez un service d'authentification d'informations d'identification client pour le fournisseur d'identités, comme décrit dans Services d'authentification.
Propriété Description
Service d'authentification Nom du service d'informations d'identification client créé dans l'interface utilisateur des services d'authentification du fournisseur d'identités OAuth2.
Nom de variable de jeton d'accès Spécifie la variable dans laquelle stocker le jeton d'accès. Vous pouvez la déclarer comme une chaîne ou un autre type de variable pris en charge. Il peut également s'agir d'une variable de niveau utilisateur. Par exemple : user.accessToken.
Nom de variable de jeton d'accès multi-portée Champ réservé pour la prise en charge future du jeton d'accès multi-portée.

Ce composant n'a aucune action. Pour gérer les problèmes système susceptibles de se produire, ajoutez une transition "next" qui passe à un état permettant de gérer ces erreurs.

Réinitialiser les jetons OAuth 2.0

Utilisez ce composant pour révoquer tous les jetons d'actualisation et d'accès de l'utilisateur connecté du fournisseur d'identités représenté par le service d'authentification. Il enlève également les jetons d'actualisation de la base de données. Pour utiliser ce composant, vous devez fournir l'URL de révocation de jeton d'actualisation du fournisseur d'identités dans l'interface utilisateur du service d'authentification.

La brique doit inclure un état qui utilise le composant Lien de compte OAuth 2.0 pour le même service d'authentification, et doit être appelée avant l'état qui utilise ce composant.

Propriété Description
Service d'authentification Nom du service créé dans l'interface utilisateur du service d'authentification du fournisseur d'identités OAuth2. Le service doit disposer d'une URL de révocation de jeton d'actualisation valide.

Ce composant peut renvoyer l'action suivante :

Action Description
noRefreshTokenFound Aucun jeton d'actualisation n'est associé au service d'authentification pour l'utilisateur.

Modèles de contrôle de flux

Commutateur

Utilisez ce composant pour changer d'état en fonction d'une valeur de variable.

Ce composant détermine un chemin d'exécution en résolvant une variable ou une expression, puis en déclenchant une action de transition correspondante qui est mise en correspondance avec un état du flux.

Vous définissez et mappez les actions de transition dans l'onglet Transitions de l'inspecteur de propriétés.

Propriété Description
Variable Variable dont la valeur est utilisée pour déterminer l'action de transition à déclencher.
Expression Expression FreeMarker utilisée pour déterminer l'action de transition à déclencher. Par exemple, l'expression ${((user.lastOrderNumber)?has_content)} peut être utilisée pour déclencher l'action de transition True si la variable user.lastOrderNumber a une valeur ou pour déclencher l'action False si la variable a une valeur NULL.

Appeler le flux

Avec ce composant, vous appelez un flux enfant à partir du flux actuel, en transmettant éventuellement des paramètres d'entrée. Une fois le flux enfant terminé, il renvoie une action et des paramètres de sortie facultatifs à son flux parent.

Les actions de transition qui peuvent être définies dépendent des actions définies dans le composant Fin de flux du flux enfant.

Propriété Description
Flux Nom du flux à appeler.
Paramètres d'entrée Paramètres transmis au flux appelé. Les valeurs peuvent inclure des expressions Freemarker.
Paramètres de sortie Paramètres pouvant être renvoyés à partir du flux appelé une fois celui-ci terminé. La valeur du paramètre doit être le nom d'une variable dans le flux en cours qui est utilisée pour stocker la valeur du paramètre lorsqu'elle est renvoyée par le flux appelé.

Appeler l'aptitude

Avec ce composant, vous appelez un flux de brique différent, en transmettant éventuellement des paramètres d'entrée. Une fois le flux appelé terminé, il renvoie une action et des paramètres de sortie facultatifs au flux appelant.

Avant d'utiliser ce composant, un flux public doit être disponible dans la brique que vous appelez. Reportez-vous à Appel d'une autre brique à partir d'un flux.

Propriété Description
Nom de l'aptitude Nom de la brique à appeler. Seules les compétences ayant un ou plusieurs flux publics sont affichées.
Version de la compétence (Cette propriété apparaît une fois que vous avez sélectionné une valeur pour Nom de la brique.) Version de la brique à utiliser. Si la brique cible se trouve dans le même assistant numérique que la brique en cours, ce champ est ignoré et la version de la brique dans l'assistant numérique est utilisée.
Nom de flux (Cette propriété apparaît une fois que vous avez sélectionné une valeur pour Nom de la brique.) Nom du flux à appeler à partir de la brique. Seules les aptitudes marquées comme publiques dans l'aptitude cible sont affichées.
Paramètres d'entrée (Cette propriété apparaît une fois que vous avez sélectionné une valeur pour Nom de flux.) Paramètres transmis au flux appelé. Les valeurs peuvent inclure des expressions Freemarker.
Paramètres de sortie (Cette propriété apparaît une fois que vous avez sélectionné une valeur pour Nom de flux.) Paramètres pouvant être renvoyés à partir du flux appelé une fois celui-ci terminé. La valeur du paramètre doit être le nom d'une variable dans le flux en cours qui est utilisée pour stocker la valeur du paramètre lorsqu'elle est renvoyée par le flux appelé.
Utiliser la simulation Définissez la valeur sur True si vous devez utiliser temporairement des données de simulation pour les paramètres de sortie. Vous pouvez ainsi continuer à développer et tester le flux si le flux cible n'est pas encore disponible.
Paramètres de sortie de simulation Si vous devez utiliser temporairement des paramètres de sortie de simulation lors du développement du flux, saisissez chaque paramètre sur une ligne distincte dans le formulaire :
ParamName: ParamValue

Fin du flux

Ce composant est utilisé pour mettre fin explicitement à un flux.

Lorsque cet état est atteint, toutes les variables du flux sont effacées et le contrôle est renvoyé au flux parent (ou, s'il n'y a pas de flux parent, le flux principal).

Vous n'avez pas besoin d'un état Fin de flux pour un flux si vous n'avez pas besoin de renvoyer des paramètres ou des actions du flux vers un flux parent ou le flux principal.

Propriété Description
Action Action renvoyée au flux appelant, qui peut être utilisée pour définir des transitions dans le composant Invoke Flow.
Valeur d'action Doit être défini lorsque la propriété Action contient une expression Freemarker et doit contenir une liste des valeurs possibles de l'expression Freemarker résolue.
Garder le virage Lorsque la valeur est True, le moteur de dialogue continue d'exécuter l'état suivant dans le flux appelant en fonction des transitions définies dans le composant Invoke Flow. Cette propriété est ignorée lorsque :
  • Un flux enfant est en cours d'exécution. Lorsqu'un flux enfant se termine, Keep Turn est toujours vrai.
  • un flux racine est en cours d'exécution et aucun message de bot n'a encore été créé à son tour. Dans ce cas, Keep Turn est toujours vrai. (Cela garantit que le tour n'est pas libéré sans que le bot ne renvoie un message à l'utilisateur, ce qui pourrait donner à l'utilisateur l'impression que le bot est suspendu.)
Paramètres de sortie Paramètres pouvant être renvoyés à un flux parent lorsque le flux en cours est terminé.

Modèles d'intégration de service

Modèle de communication d'agent

Ce modèle se compose des composants Initiation d'agent et Conversation d'agent. Vous utilisez ces composants ensemble pour transférer la conversation d'une brique à un agent Oracle B2C Service.

  • Le composant Lancement d'agent lance l'établissement de liaison avec le canal d'intégration d'agent indiqué par la propriété Canal d'intégration d'agent du composant.
  • Le composant Conversation d'agent gère l'échange entre la brique et l'agent physique.

Ce modèle est destiné aux conversations qui proviennent de la brique. N'utilisez pas ce modèle pour les conversations qui proviennent de la discussion Oracle B2C Service, comme décrit dans Assistant numérique en tant que structure d'agent en action.

Lancement de l'agent

Voici les propriétés du composant Agent Initiation :

Propriété Description
Canal d'intégration d'agent Nomme le canal d'intégration d'agent. Cette valeur, le nom du canal d'intégration d'agent et la propriété Canal d'intégration d'agent définis pour le composant Conversation d'agent doivent tous correspondre.
Actions d'agent Liste des actions que l'agent peut déclencher afin de mettre fin à la discussion et de déplacer le flux vers l'état défini pour l'action de transition. Dans la console du représentant du service client, ces actions s'affichent sous forme de commandes avec barres obliques lorsque la conversation de l'agent est lancée, comme illustré dans l'exemple suivant :
Here are the available actions that you can send to transfer the conversation
back to the bot. Prepend the action with a forward slash (for example, /actionName).
/OrderPizza : Order Pizza : Order a pizza.
/ShowMenu : Show Menu : Show order options.
Dans l'onglet Transitions du composant Conversation d'agent, vous devez saisir manuellement ces actions et les mettre en correspondance avec les états appropriés.
Sujet Ligne d'objet qui s'affiche sur la console de l'agent après le transfert à la plate-forme de l'agent. Par défaut, il s'agit du dernier message du client stocké dans la variable system.nlpResult (à laquelle vous pouvez accéder avec l'expression ${skill.system.nlpresult.value.query}), mais vous pouvez également la définir à l'aide d'une variable que vous avez définie plus tôt dans le flux. Par exemple, vous pouvez définir une variable de type string dont la valeur a été définie antérieurement par rapport au composant de lancement d'agent :

A customer needs help regarding ${flow_variable.value}

Variable de réponse de discussion Nomme la variable de correspondance contenant les informations de réponse de l'agent. Une fois que le composant Agent Initiation est connecté, la correspondance contient les propriétés suivantes :
{
  "sessionID": "string", // agent session id

  "completedSurveyID": {
    "id": "int"
  },

  "engagementID": { // survey id
    "id": "int"
  },

  "cancelledSurveyID": {
    "id": "int"
  }
}
Propriétés personnalisées Correspondance contenant l'ID d'incident, l'interface, le contact ou les champs personnalisés (ou une combinaison de ces éléments) à transmettre au service. Pour référencer une variable de correspondance, utilisez une expression de valeur comme suit : ${mapVariableName.value}. Reportez-vous à Transmission d'informations client à une discussion en direct.
ID de file d'attente ID de la file d'attente que le composant doit utiliser pour déterminer si la condition Autoriser le transfert si spécifiée est remplie. Il doit s'agir de l'ID de la file d'attente vers laquelle les règles de discussion Oracle B2C Service acheminent cette conversation.

Cette propriété est ignorée si la propriété Autoriser le transfert si n'est pas définie.

Autoriser le transfert si Spécifie les conditions dans lesquelles la brique doit transférer la session de discussion. Le composant utilise la valeur ID de file d'attente pour identifier la file d'attente à partir de laquelle obtenir les statistiques. Vérifiez que les règles de discussion transfèrent bien la conversation vers la file d'attente identifiée, et non vers une autre file d'attente.
  • Les agents demandent de nouveaux engagements : il s'agit de l'ensemble de conditions le plus restrictif. La brique tente de transférer la conversation uniquement si des agents ont demandé de nouvelles interactions (discussions extraites) et sont affectés à la file d'attente indiquée, ou, si le serveur de discussion transmet automatiquement des discussions aux agents, certains agents sont disponibles pour recevoir des discussions, n'ont pas atteint leur nombre maximal de discussions et sont affectés à la file d'attente indiquée. Avec cette option, l'attente de l'utilisateur avant de parler à l'agent est très réduite.
  • Sessions d'agent disponibles : la brique tente de transférer la conversation si des agents disponibles n'ont pas atteint leur nombre maximal de discussions et sont affectés à la file d'attente indiquée. L'utilisateur devra peut-être attendre si les agents sont occupés par des conversations de longue durée ou effectuent un suivi après discussion.
  • Agents disponibles : la brique tente de transférer la conversation si des agents en ligne sont affectés à la file d'attente indiquée, qu'ils aient ou non atteint leur nombre maximal de discussions ou qu'ils demandent ou non de nouvelles interactions. Avec cette option, l'attente des utilisateurs peut être longue.

Si la condition spécifiée n'est pas remplie, le composant renvoie l'action rejected.

Lorsque vous incluez cette propriété, vous devez également inclure la propriété Queue ID.

Format de date/heure de relevé de notes Format de la date et de l'heure dans les messages de transcription de conversation transmis à l'agent. Reportez-vous à la classe Java DateTimeFormatter pour connaître les modèles valides. Exemple : dd/MM/yyyy HH:mm. La valeur par défaut est yyyy-mmm-ddThh:mm:ssZ.
Fuseau horaire de la transcription Nom IANA (Internet Assigned Numbers Authority) du fuseau horaire à utiliser pour formater la transcription de conversation à l'aide de la propriété Format de date/heure de la transcription. Si vous ne définissez pas la propriété Format de date/heure de relevé de notes, cette propriété est ignorée.
Actions de modification d'état pour le lancement de l'agent

Le composant d'intégration d'agent renvoie les actions accepted, rejected et error. Ces actions peuvent pointer vers un état différent. L'action accepted nomme généralement l'état du composant Conversation d'agent. Vous pouvez définir ces transitions dans l'onglet Transitions de l'inspecteur de propriétés du composant.

Vous pouvez mapper les transitions pour ces actions dans l'onglet Transitions de l'inspecteur de propriétés du composant.

Voici la description des actions :

Action de transition Description
accepted L'établissement de liaison a abouti. L'état peut passer à l'état du composant Conversation d'agent.
error Un problème survient lors de l'établissement de la connexion à Oracle B2C Service. Par exemple, le mot de passe dans le canal d'intégration d'agent n'est plus valide ou le serveur Service Cloud rencontre un problème.
rejected Oracle B2C Service a rejeté la demande de connexion. Voici quelques-unes des raisons du rejet d'une demande de connexion :
  • Aucun agent n'est disponible (nécessite les propriétés Autoriser le transfert si et ID de file d'attente)
  • La demande a été faite en dehors des heures d'ouverture configurées.
  • Il s'agit d'un jour férié.
  • Un problème est survenu avec le serveur de discussion.

Si vous ne définissez pas les propriétés Autoriser le transfert si et ID de file d'attente, l'action rejected ne se produira pas lorsqu'aucun agent n'est disponible. Au lieu de cela, le transfert restera dans une condition d'attente.

Entrées de groupe de ressources pour le lancement de l'agent

Le composant d'intégration d'agent utilise les propriétés suivantes, qui sont stockées dans le groupe de ressources de la brique :

Clé de groupe de ressources Description
systemComponent_AgentInitiation_agentActionsMessage Si des actions sont spécifiées dans la propriété Actions d'agent, la console de l'agent affiche ce message avant la liste des actions. Par défaut :

\n Here are the available actions that you can send to transfer the conversation back to the bot. Prepend the action with a forward slash (for example, /actionName).\n

systemComponent_AgentInitiation_errorMessage Message à afficher en cas de problème lors de l'établissement de la connexion à Oracle B2C Service. Par exemple, le mot de passe dans le canal d'intégration d'agent n'est plus valide ou le serveur Service Cloud rencontre un problème. Par défaut :

Error transferring to agent. The reason is: {0}.

systemComponent_AgentInitiation_rejectedMessage Message indiquant si l'établissement de liaison AgentInitiation a été rejeté (s'il se trouve en dehors des heures d'ouverture configurées, par exemple). Par défaut :

Agent rejected.

systemComponent_AgentInitiation_resumedMessage Message qui s'affiche lorsque la discussion du client avec le représentant du service client reprend. Par défaut :

Resuming chat with agent

systemComponent_AgentInitiation_waitingMessage Message qui s'affiche pendant que les clients attendent de se connecter à un agent. Par défaut :

Agent chat session established, Waiting for agent to join.

Reportez-vous à la section Modify a Resource Bundle Entry pour connaître les étapes à suivre pour modifier le message par défaut d'une entrée de groupe de ressources.

Conversation d'agent

Voici les propriétés du composant Conversation d'agent :

Propriété Description
Canal d'intégration d'agent Nomme le canal d'intégration d'agent. Cette valeur, le nom du canal d'intégration d'agent et la propriété Canal d'intégration d'agent définis pour le composant d'intégration d'agent doivent tous correspondre.
B2C Remplacer le message d'attente Texte permettant de remplacer le message d'attente B2C qui fournit une estimation du temps qu'un utilisateur devra attendre pour parler à un agent.
Actions de transition pour la conversation d'agent

Le composant Agent Conversation peut déclencher les actions suivantes :

  • Actions expired, agentLeft, error et waitExpired intégrées.
  • Toute action provenant de la propriété Actions d'agent du composant Lancement de l'agent.

Vous devez également inclure une transition next car un client peut saisir l'un des mots-clés de sortie (définis dans l'entrée de groupe de ressources systemComponent_AgentConversation_exitKeywords) pour quitter la discussion afin que l'une de ces actions puisse être déclenchée.

Vous pouvez mapper les transitions pour les actions dans l'onglet Transitions de l'inspecteur de propriétés du composant.

Remarque

Les actions de la propriété Actions d'agent du composant Lancement d'agent n'apparaissent pas dans la liste déroulante pour les actions lors de leur ajout dans l'onglet Transitions du composant. Vous devez donc les saisir manuellement.

Voici les descriptions des actions de transition intégrées :

Action Description
agentLeft L'agent a mis fin à la session sans utiliser d'action avec une barre oblique (par exemple, /Order). Sinon, la session s'est terminée car aucune activité n'a eu lieu pendant la période indiquée par la configuration CS_IDLE_TIMEOUT d'Oracle B2C Service et cette configuration est inférieure au paramètre Expiration de la session du canal d'intégration d'agent. Pour plus d'informations, reportez-vous à l'action expired.

Cette action n'est pas renvoyée lorsque l'utilisateur quitte la conversation en saisissant un mot-clé de sortie. Dans ce cas, le flux passe à l'état nommé par la transition next ou, en l'absence de transition next, à l'état suivant dans le flux.

error

Un problème de connexion au service d'agent physique est survenu.

expired

Si le paramètre CS_IDLE_TIMEOUT d'Oracle B2C Service est égal ou supérieur au paramètre Expiration de la session du canal d'intégration d'agent, cette action est déclenchée lorsque ni l'utilisateur final ni l'agent n'envoie de message dans le délai d'expiration de la session. Si CS_IDLE_TIMEOUT est inférieur au paramètre Expiration de la session du canal d'intégration d'agent et qu'aucune activité n'a lieu, Oracle B2C Service met fin à la discussion et l'action agentLeft est déclenchée à la place.

Par défaut, la valeur de CS_IDLE_TIMEOUT est de 10 minutes.

L'action expired n'est pas renvoyée lorsque la conversation se termine car la valeur USER_WAIT_QUEUE_TIMEOUT de Service Cloud a été dépassée. Envisagez de définir cette configuration sur une valeur élevée, telle que 7 200 secondes (2 heures).

Pour afficher ou modifier les paramètres de votre instance Oracle B2C Service, ouvrez la console de bureau, cliquez sur Navigation, sur la première option Configuration du menu, puis sur Paramètres de configuration. Recherchez ensuite le paramètre dans le dossier Discussion.

waitExpired La demande de discussion a expiré lors de l'attente d'un agent. Cela se produit lorsque le temps d'attente dépasse la valeur du paramètre USER_WAIT_QUEUE_TIMEOUT du client de discussion.
Entrées de groupe de ressources pour la conversation d'agent

Le composant Conversation d'agent utilise les entrées de groupe de ressources suivantes :

Clé de groupe de ressources Description
systemComponent_AgentConversation_conclusionMessage Message automatisé envoyé au client lorsque l'utilisateur entre un mot-clé de sortie, que l'action agentLeft est déclenchée ou que l'agent met fin à la conversation sans envoyer l'une des actions d'agent. Par défaut :

Chat session ended. Thanks for chatting with us.

systemComponent_AgentConversation_errorMessage Message affiché par la discussion en cas de problème de connexion à Oracle B2C Service. Par défaut :

Chat session error. The reason is: {0}.

systemComponent_AgentConversation_exitKeywords Liste des mots de sortie standard séparés par des virgules utilisés par un client pour terminer la conversation avec l'agent physique. Par défaut :

bye, take care, see you, goodbye

systemComponent_AgentConversation_expiryMessage Message affiché lorsque l'action expired est déclenchée. Le message par défaut est :

Chat session expired. Thanks for chatting with us.

conclusionMessage n'est pas généré si expiryMessage est généré.

En outre, ce message n'est pas généré lorsque la conversation est terminée car la valeur USER_WAIT_QUEUE_TIMEOUT de Service Cloud a été dépassée.

systemComponent_AgentConversation_userLeftMessage Message affiché lorsque l'utilisateur a quitté la discussion. Le message par défaut est :

User left the chat.

systemComponent_AgentConversation_waitExpiryMessage Message affiché à l'utilisateur lorsque la discussion expire pendant l'attente d'un agent. Par défaut :

The request for live chat expired while waiting for an agent.

Reportez-vous à la section Modify a Resource Bundle Entry pour connaître les étapes à suivre pour modifier le message par défaut d'une entrée de groupe de ressources.

Transfert d'agent

Utilisez le composant de transfert d'agent dans les assistants numériques en tant qu'agents pour renvoyer la conversation au service de discussion. La conversation sera acheminée vers un agent physique selon les règles de discussion qui ont été configurées dans le service de discussion.

Ce composant est destiné aux conversations provenant d'un service de discussion, tel que décrit dans La structure d'assistant numérique en tant qu'agent en action. Pour les conversations qui proviennent de la brique, utilisez plutôt le modèle Communication avec l'agent.

Propriété Description
Durée maximum d'attente (secondes) Nombre maximal de secondes d'attente estimées autorisées. Lorsque le service de discussion reçoit la demande de transfert, il répond avec le temps d'attente estimé. Si cette valeur dépasse le temps d'attente maximal (secondes), l'action rejected se produit. La valeur par défaut de cette propriété est -1, ce qui signifie qu'il n'existe aucun temps d'attente maximal. Lorsque cette propriété est définie sur -1, l'assistant numérique transfère l'utilisateur vers un agent humain quel que soit le temps d'attente estimé.

L'action rejected est basée sur le temps d'attente estimé et non sur le temps d'attente réel. Une fois la conversation transférée, l'assistant numérique ne contrôle pas la conversation et n'a pas accès aux informations la concernant. Par conséquent, le temps d'attente réel peut dépasser le temps d'attente estimé.

Nombre maximum de réactions en file d'attente Nombre maximal autorisé d'interactions dans la file d'attente de destination. Lorsque la demande de discussion est envoyée, le service de discussion répond avec le nombre actuel d'interactions dans la file d'attente. Si cette valeur dépasse le nombre maximal de réactions en file d'attente, l'action rejected se produit. La valeur par défaut est -1, ce qui signifie qu'il n'existe aucune limite sur les interactions. Pour B2B Chat, la réponse est toujours 0. Cette propriété n'a donc aucune valeur pour B2B.
Disponibilité d'agent StatusVariable Nom de la variable de type Correspondance à utiliser pour stocker les informations de statut de disponibilité de l'agent. Aucune information n'est stockée si la propriété n'est pas indiquée. Pour référencer une variable de correspondance, utilisez une expression de valeur comme suit : ${<mapVariableName>.value.<key>}. Par exemple, agentStatus.value.expectedWaitMinutes.

Pour en savoir plus sur les valeurs renvoyées dans cette variable, reportez-vous à Condition de transfert d'agent.

Autoriser le transfert si Spécifie les conditions dans lesquelles la brique doit transférer la session de discussion.
  • Les agents demandent de nouvelles interactions : (par défaut) pour les agents Oracle B2C Service qui doivent extraire des discussions (demander de nouvelles interactions), il s'agit de l'ensemble de conditions le plus restrictif, et l'utilisateur n'a pas à attendre trop longtemps avant de parler à un agent. La brique tente de transférer la conversation uniquement si des agents ont demandé de nouvelles interactions. Dans tous les autres cas, cette option adopte le même comportement que Les sessions d'agent sont disponibles. N'utilisez pas cette option pour Oracle Fusion Service car le nombre total d'agents demandant de nouvelles interactions pour ce service est toujours égal à 0.
  • Sessions d'agent disponibles : la brique tente de transférer la conversation si l'un des agents disponibles n'a pas atteint le nombre maximal de discussions simultanées qui lui sont autorisées. L'utilisateur devra peut-être attendre si les agents sont occupés par des conversations de longue durée ou effectuent un suivi après discussion.
  • Agents disponibles : la brique tente de transférer la conversation si des agents sont en ligne, qu'ils aient ou non atteint leur nombre maximal de discussions ou qu'ils demandent ou non de nouvelles interactions. Avec cette option, l'attente des utilisateurs peut être longue.

Si les conditions spécifiées ne sont pas remplies, l'action rejected se produit.

Propriétés personnalisées Correspondance contenant les informations à transmettre au service.
Actions de modification d'état pour le transfert d'agent

Le composant Transfert agent contient des actions de transaction intégrées qu'il peut renvoyer.

Vous pouvez mapper les transitions pour ces actions dans l'onglet Transitions de l'inspecteur de propriétés du composant.

Action Description
accepted La transition accepted est définie lorsque la discussion est transférée vers une file d'attente.

Une fois qu'une demande de discussion est acceptée, le flux doit se terminer par un état Fin du flux.

rejected La transition rejected est définie lorsque l'une des situations suivantes se produit :
  • Les conditions allowTransferIf n'ont pas été remplies.
  • Le temps d'attente estimé dépasse maxWaitSeconds.
  • Le nombre d'interactions dans la file d'attente dépasse maxEngagementsInQueue.
error La transition error est définie lorsqu'une erreur système empêche le transfert vers un agent humain.
Entrées de groupe de ressources pour le transfert d'agent

Le composant de transfert d'agent utilise également les propriétés suivantes, qui sont stockées dans le groupe de ressources de la brique :

Clé de groupe de ressources Description
systemComponent_AgentTransfer_acceptedMessage Message affiché aux utilisateurs chaque fois qu'un agent humain accepte la demande de discussion. Par défaut :

The chat has been transferred to another agent.

systemComponent_AgentTransfer_errorMessage Message présenté à l'utilisateur lorsqu'une erreur système se produit lors du transfert de la session de discussion vers un agent. Par défaut :

We were unable to transfer you to another agent because there was a system error.

Vous pouvez définir la propriété sur une chaîne vide ou vide pour supprimer la sortie du message.

systemComponent_AgentTransfer_rejectedMessage Message présenté aux utilisateurs lorsque l'un des événements suivants survient :
  • Les conditions Autoriser le transfert si n'ont pas été remplies.
  • Le temps d'attente estimé dépasse la valeur Temps d'attente maximal (secondes).
  • Le nombre d'interactions dans la file d'attente dépasse la valeur Nombre maximal d'interactions dans la file d'attente.

Le message par défaut est : Agent rejected.

Vous pouvez définir la propriété sur une chaîne vide ou vide pour supprimer la sortie du message.

systemComponent_AgentTransfer_waitingMessage Message présenté aux utilisateurs lorsqu'ils sont transférés vers une file d'attente. Le message par défaut est :

Agent chat session established. Waiting for agent to join.

Vous pouvez définir la propriété sur une chaîne vide ou vide pour supprimer la sortie du message.

Reportez-vous à la section Modify a Resource Bundle Entry pour connaître les étapes à suivre pour modifier le message par défaut d'une entrée de groupe de ressources.

Condition de transfert d'agent

Vous pouvez utiliser le composant Condition de transfert d'agent dans les assistants numériques DA-as-agent pour déterminer si des agents sont disponibles et, le cas échéant, le temps d'attente attendu.

Vous utilisez les propriétés du composant pour spécifier les conditions de transfert et il renvoie une action indiquant si les conditions ont été remplies. En outre, il définit les valeurs de la variable de correspondance nommée.

Propriété Description
Propriétés personnalisées Correspondance contenant les informations à transmettre au service. Reportez-vous à Transmission d'informations au service.
Durée maximum d'attente (secondes) Nombre maximal de secondes d'attente estimées autorisées. Lorsque le service de discussion reçoit la demande, il répond avec le temps d'attente estimé. Si cette valeur dépasse le temps d'attente maximal (secondes), l'action conditionsNotMet se produit. La valeur par défaut de cette propriété est -1, ce qui signifie qu'il n'existe aucun temps d'attente maximal.

L'action conditionsNotMet est basée sur le temps d'attente estimated et non sur le temps d'attente actual.

Nombre maximum d'engagements dans la file d'attente Nombre maximal autorisé d'interactions dans la file d'attente de destination. Lorsque la demande est envoyée, le service de discussion répond avec le nombre actuel d'interactions dans la file d'attente. Si cette valeur dépasse maxEngagementsInQueue, l'action conditionsNotMet se produit. La valeur par défaut est -1, ce qui signifie qu'il n'existe aucune limite sur les interactions.
Transfert d'agent si Spécifie l'ensemble de conditions de base qui doit être rempli.
  • Les agents demandent de nouveaux engagements : (valeur par défaut) pour les agents B2C qui doivent extraire des discussions (demander de nouvelles interactions), les agents doivent avoir extrait des discussions. Dans tous les autres cas, cette option adopte le même comportement que Les sessions d'agent sont disponibles.
  • Les sessions d'agent sont disponibles : nécessite que les agents demandent des discussions.
  • Les agents sont disponibles : exige qu'au moins un agent soit actif, qu'il ait atteint son nombre maximal de discussions ou qu'il demande de nouvelles interactions.

Si les conditions spécifiées ne sont pas remplies, l'action conditionsNotMet se produit.

Variable de statut de disponibilité de l'agent Nom de la variable de type map à utiliser pour stocker les informations de statut de disponibilité de l'agent. Aucune information n'est stockée si la propriété n'est pas indiquée. Pour référencer une variable de correspondance, utilisez une expression de valeur comme suit : ${<mapVariableName>.value.<key>}. Par exemple, agentStatus.value.expectedWaitMinutes.

Voici la structure de la valeur de la variable de statut de disponibilité de l'agent et les informations qui y sont stockées :

queueId (integer, optional): The engagement queue ID,
expectedTotalWaitSeconds (integer, optional): Expected wait time in the queue in seconds
        ( -1 if there's inadequate information, zero or greater otherwise ).,
expectedWaitSeconds (integer, optional): The number representing the "ss" segment of the expected wait time of format mm:ss 
        ( -1 if there's inadequate information, zero or greater otherwise ).,
expectedWaitMinutes (integer, optional): The number representing the "mm" segment of the expected wait time of format mm:ss 
        ( -1 if there's inadequate information, zero or greater otherwise ).,
availableAgentSessions (integer, optional): Total number of sessions available across all agents.,
totalAvailableAgents (integer, optional): Total number of agents whose status is available.,
totalUnavailableAgents (integer, optional): Total number of agents whose status is unavailable.,
totalAgentsRequestingNewEngagement (integer, optional): Total number of agents who are available and have capacity.
outsideOperatingHours (boolean, optional): True if outside operating hours. False if inside operating hours.,
engagementsInQueue (integer, optional): The number of engagements currently in the queue.
sessionId (string, optional): The session ID.,
clientId (integer, optional): The client ID.

Conseil :

Voici une définition de regroupement de ressources suggérée que vous pouvez utiliser pour afficher le temps d'attente attendu :
This might take {minutes, plural,
     =-1 {}
     =0 {}
     =1 {1 minute and }
     other {# minutes and }
}{seconds, plural,
     =-1 {a while}
     =0 {{minutes, plural,
          =0 {a short wait time}
          other {0 seconds}
        }}
     =1 {1 second}
     other {# seconds}
} to connect. Are you willing to wait?
Actions de modification d'état pour condition de transfert d'agent

Le composant Condition transfert agent contient des actions de transaction intégrées qu'il peut renvoyer.

Vous pouvez mapper les transitions pour ces actions dans l'onglet Transitions de l'inspecteur de propriétés du composant.

Action Description
conditionsMet La transition conditionsMet est définie lorsqu'elle se trouve dans les heures de bureau et que les conditions maxWaitSeconds, maxEngagementsInQueue et allowTransferIf sont remplies.
conditionsNotMet La transition conditionsNotMet est définie lorsque l'une des situations suivantes se produit :
  • C'est en dehors des heures de bureau.
  • Les conditions allowTransferIf n'ont pas été remplies.
  • Le temps d'attente estimé dépasse maxWaitSeconds.
  • Le nombre d'interactions dans la file d'attente dépasse maxEngagementsInQueue.
error La transition error est définie en cas de problème de connexion au service de discussion d'agent lors de la vérification des conditions de l'agent.

Vous pouvez définir ces actions de transition dans l'onglet Transitions de l'inspecteur de propriétés du composant.

Entrées de groupe de ressources pour la condition de transfert d'agent

Le composant de transfert d'agent utilise également la propriété suivante stockée dans le groupe de ressources de la brique :

Clé de groupe de ressources Description
systemComponent_AgentTransferCondition_errorMessage Message présenté à l'utilisateur lorsqu'une erreur système se produit lors du transfert de la session de discussion vers un agent. Par défaut :

We were unable to check the agent transfer conditions because there was a system error.

Vous pouvez définir la propriété sur une chaîne vide ou vide pour supprimer la sortie du message.

Reportez-vous à la section Modify a Resource Bundle Entry pour connaître les étapes à suivre pour modifier le message par défaut d'une entrée de groupe de ressources.

Appeler le service REST

Utilisez ce composant pour envoyer une demande HTTP à une adresse REST que vous avez configurée dans les paramètres des services d'API.

Voici les propriétés des composants :

Propriété Description
Service REST Nom du service REST de paramètres d'API qui définit la configuration de l'adresse. Reportez-vous à Ajout d'un service REST pour une adresse.
Type d'authentification Type d'authentification défini pour le service REST. Vous pouvez uniquement modifier cette valeur à partir de l'onglet Services REST.
Adresse URI défini pour le service REST. Vous pouvez uniquement modifier cette valeur à partir de l'onglet Services REST.
Méthode Sélectionnez la méthode configurée à utiliser pour cet appel REST.
Corps de la demande Pour les demandes POST, PATCH et PUT, spécifiez le corps de la demande à envoyer avec la demande REST.

Conseil :

Si le corps contient des expressions FreeMarker, vous pouvez basculer Expression sur Activé pour voir la coloration de la syntaxe FreeMarker. Toutefois, si vous le faites, la validation de la syntaxe JSON est désactivée.
Paramètres Pour les paramètres de chemin figurant dans l'adresse, ajoutez un paramètre de type Chemin, définissez la clé pour qu'elle corresponde au paramètre de chemin et définissez la valeur souhaitée. Notez que si un paramètre de chemin est défini dans la configuration du service REST et que vous souhaitez utiliser la valeur de ce paramètre, vous n'avez pas besoin de l'ajouter au composant.

Pour les paramètres de requête à transmettre dans la demande REST, ajoutez un paramètre de type Requête, définissez la clé pour qu'elle corresponde au paramètre de requête et définissez la valeur souhaitée. Notez que si un paramètre de requête est défini dans la configuration du service REST et que vous souhaitez utiliser la valeur de ce paramètre, vous n'avez pas besoin de l'ajouter au composant.

Conseil :

Si la configuration des services REST définit un paramètre de requête que vous ne souhaitez pas utiliser dans cet appel, vous pouvez effacer ce paramètre en définissant sa valeur sur ${r""}.

Après avoir modifié le paramètre, cliquez sur bouton Enregistrer pour l'ajouter à la liste.

Mode de réponse

Indiquez la réponse à renvoyer une fois l'appel terminé :

  • Utiliser la réponse d'API REST réelle : renvoie la réponse réelle du service REST.

  • Toujours utiliser une réponse REST statique : cette option renvoie la réponse statique configurée dans l'onglet Services REST. Cette réponse est utile lors des phases de développement et de test, entre autres utilisations.

  • Retour à l'aide d'une réponse statique : si la demande REST aboutit, la réponse REST est renvoyée. Sinon, la réponse statique configurée dans l'onglet Services REST est renvoyée.

Si la configuration du service REST n'a pas de réponse statique, le seul choix est Utiliser la réponse réelle.

Variable de résultat

Nom de la variable de correspondance pour le stockage des données de réponse. La correspondance contiendra une propriété responsePayload pour le corps de la réponse et une propriété statusCode pour le code de statut. La façon dont le corps de la réponse est stocké dans la variable dépend du fait que la réponse soit un objet JSON, un tableau JSON ou un texte brut (chaîne) :

  • Objet JSON : l'objet est stocké dans la propriété responsePayload.

  • Tableau JSON : le tableau est stocké dans la propriété responsePayload.responseItems.

  • Texte brut : le texte est stocké dans la propriété responsePayload.message.

Remarque

La taille de la charge utile de réponse pouvant être stockée dans la variable de résultat est limitée à 15 ko par défaut. Si vous avez besoin d'une limite plus élevée, enregistrez une demande de service auprès du support technique Oracle.

Le composant renvoie les actions suivantes :

Action Description
succès Le code de statut de la réponse est compris entre 100 et 399.
échec Code de statut de réponse en dehors de la plage 100-399.

Pour en savoir plus, reportez-vous à Accès aux back-ends à l'aide du composant de service REST.

Recherche dans la base de connaissances

Utilisez ce composant pour rechercher des informations sur un terme de recherche donné dans Oracle B2C Service Knowledge Foundation ou Oracle Fusion Service Knowledge Management et afficher les résultats.

Pour Oracle B2C Service, les résultats de la recherche dépendent du caractère public des réponses et des paramètres de niveau d'accès, de produit ou de catégorie.

Vous devez créer un service de recherche dans la base de connaissances pour pouvoir utiliser ce composant. Reportez-vous à Ajout d'un service de recherche dans la base de connaissances.

Voici les propriétés du composant de recherche de connaissances :

Propriété Description
Rechercher un nom de service Nom de l'intégration de recherche dans la base de connaissances tel que configuré dans Paramètres.
Terme à rechercher Texte à utiliser comme terme de recherche pour l'appel de la recherche dans la base de connaissances. Un terme de recherche est requis pour Oracle Fusion Service Knowledge Management. Pour Oracle B2C Service Knowledge Foundation, il renvoie les articles les plus populaires si aucun terme de recherche n'est fourni.

Pour les techniques de terme de recherche, voir Utiliser le composant Recherche dans la base de connaissances.

Texte à afficher avant les résultats Texte à présenter avant l'affichage du résultat de recherche.

Si cette propriété est Activée, la valeur KnowledgeSearch - searchPrelude du groupe de ressources de configuration est utilisée. La valeur par défaut est Désactivé, ce qui signifie qu'aucun texte n'est affiché.

Nombre maximal de résultats Nombre maximal de résultats à afficher.

Valeur par défaut : 10.

Version préférée des résultats Oracle B2C Service uniquement : version préférée à renvoyer lorsqu'il existe plusieurs versions d'un résultat. Vous pouvez définir cette propriété sur Answer ou Special Response.

Valeur par défaut : Answer.

Afficher uniquement la version préférée

Oracle B2C Service uniquement : lorsque la valeur est True, seuls les résultats disponibles dans la version préférée (tels que définis par la propriété Version préférée des résultats) doivent être affichés.

Si la propriété est définie sur False, elle inclut d'abord toutes les réponses correspondantes disponibles avec la version définie dans la propriété. Si le nombre de réponses incluses est inférieur à la limite, elle continue d'inclure des réponses dans la version non préférée jusqu'à ce que la limite soit atteinte.

La valeur par défaut est False.

Libellé du lien d'article Web Libellé à utiliser pour l'action d'URL (bouton) de la carte de résultat qui renvoie à la version Web des informations.

Si vous définissez cette propriété sur Désactivé, le bouton de lien de l'article Web n'est pas affiché et le texte intégral est généré à la place. Cela n'est pas recommandé si vous avez des articles très longs qui seraient difficiles à lire dans un widget de compétence de taille standard. La valeur par défaut est Activé, ce qui signifie que la valeur KnowledgeSearch - resultLinkLabel du groupe de ressources de configuration est utilisée.

Libellé du lien de la page de recherche Web

Oracle B2C Service : libellé à utiliser pour l'action de charge utile de message de carte liée à la page Web avec la liste complète des résultats de recherche.

Oracle Fusion Service : Libellé à utiliser pour l'action de charge utile de message de carte liée à la page de recherche d'accueil.

Si cette propriété est Activée, la valeur KnowledgeSearch - searchLinkLabel du groupe de ressources de configuration est utilisée. La valeur par défaut est Désactivé, ce qui signifie que le message de la carte n'affiche pas l'action.

Disposition de carte Indique si les cartes de résultat doivent être affichées verticalement ou horizontalement. La valeur par défaut est horizontal.
Rechercher à l'aide de l'environnement local La valeur par défaut est la valeur de la variable profile.locale.

Pour les services d'intégration des connaissances multi-interfaces d'Oracle B2C Service, code d'environnement linguistique ISO ou BCP à cinq caractères indiquant l'interface à utiliser pour effectuer la recherche (par exemple, en_GB). Si aucune interface ne prend en charge les paramètres régionaux, l'interface par défaut est utilisée. Reportez-vous à Implémenter la recherche multilingue dans la base de connaissances.

Pour Oracle Fusion Service, il extrait les articles associés aux paramètres régionaux spécifiés. Si les articles correspondants n'existent pas pour les paramètres régionaux, il renvoie noResult.

Filtres de résultats Liste des filtres de résultats de recherche. Les types de filtre autorisés sont Product et Category. Chacun d'eux n'autorise qu'une seule déclaration de filtre.
Propriétés personnalisées Oracle B2C Service uniquement : correspondance de paires clé/valeur à envoyer au service de recherche. Actuellement, cette propriété prend uniquement en charge la clé word_connector. Utilisez la propriété word_connector définie sur AND pour ajouter au début de chaque mot du terme de recherche +.
Actions de transition pour la recherche de connaissances

Le composant Recherche connaissances contient des actions de transaction intégrées qu'il peut renvoyer.

Vous pouvez mapper les transitions pour ces actions dans l'onglet Transitions de l'inspecteur de propriétés du composant.

Action Description
resultSent La recherche a renvoyé au moins un résultat.
noResult Aucun résultat n'est associé au terme de recherche.
serverError Une erreur s'est produite sur le serveur du service de recherche dans la base de connaissances lors de l'appel, par exemple une erreur de serveur ou une erreur inattendue.

Lorsque cette erreur survient, le message d'erreur est stocké dans system.state.<state-name>.serverError.message.

Entrées de groupe de ressources pour la recherche dans la base de connaissances

Le composant Recherche dans la base de connaissances utilise également les propriétés suivantes, qui sont stockées dans le regroupement de ressources de la brique :

Clé de groupe de ressources Description
systemComponent_KnowledgeSearch_defaultAttachmentLabel Libellé par défaut à utiliser pour l'action d'URL de la carte de résultat liée à une pièce jointe du résultat de recherche si aucun nom d'affichage n'est déjà configuré pour cette pièce jointe. Lorsqu'il est utilisé, un numéro d'index y est ajouté. Par exemple, si la deuxième pièce jointe ne possède pas de nom d'affichage, le chiffre 2 est ajouté au libellé de pièce jointe par défaut.

La valeur par défaut est Download.

systemComponent_KnowledgeSearch_noResultText Texte à afficher lorsqu'aucun résultat de recherche n'est disponible.

Par défaut :

Sorry, no result was found in the knowledge search.

systemComponent_KnowledgeSearch_resultLinkLabel Libellé à utiliser pour l'action d'URL de la carte de résultat liée à la version Web de l'article de la base de connaissances.

La valeur par défaut est View Results.

Reportez-vous à la section Modify a Resource Bundle Entry pour connaître les étapes à suivre pour modifier le message par défaut d'une entrée de groupe de ressources.

Création d'incident

Utilisez le modèle Création d'incident pour créer un rapport d'incident sur un site de service client. Pour pouvoir utiliser ce composant dans votre instance, vous devez créer une intégration de service client à partir de la page Paramètres > Services supplémentaires > Intégration de service client.

Propriété Description
Nom du service d'incident Nom de l'intégration tel que configuré dans Paramètres > Services supplémentaires > Intégration du service client.
Objet de l'incident Texte de l'objet de l'incident.
URL de la pièce jointe URL d'un document ou d'une image lié à l'incident. Notez que l'ajout de pièces jointes n'est pas pris en charge pour les briques DA en tant qu'agent.
Filtre de rapport d'agent (Pour les incidents Oracle Fusion Service), texte permettant de filtrer les incidents.
Ajouter la transcription de la discussion à l'incident (Pour les incidents Oracle Fusion Service.) Lorsque la valeur est définie sur Vrai, la transcription de la discussion est ajoutée à l'incident.

Les analyses doivent être activées pour que la brique fonctionne.

Une transcription ne peut être ajoutée à l'incident que si vous utilisez un DA en tant qu'intégration d'agent en combinaison avec des incrustations Web Chat for Service ou Oracle Inlay Toolkit.

Champs personnalisés Contient la paire clé/valeur description et, éventuellement, la paire clé/valeur contactInfo, qui peut contenir une correspondance de détails supplémentaires sur l'incident.

Les paires clé/valeur ne sont pas validées en tant que version texte de l'objet et insérées dans le message d'incident en tant que note privée.

Propriétés du contact Paires clé/valeur contenant les informations requises pour rechercher ou créer les coordonnées du service client. Il doit contenir email et peut éventuellement contenir firstName et lastName.

Si aucun e-mail n'est fourni, vous devez indiquer à la fois firstName et lastName.

Variable de contexte de chaîne pour stocker le numéro d'incident Nom de la variable de chaîne dans laquelle stocker le numéro d'incident.

Intelligent Advisor

Utilisez ce composant pour accéder à une enquête Oracle Intelligent Advisor à partir d'une brique.

Vous devez créer une intégration de service Intelligent Advisor pour pouvoir utiliser ce composant. Reportez-vous à Ajout d'un service Intelligent Advisor. Par ailleurs, l'enquête doit avoir été déployée vers Intelligent Advisor Hub et activée sur le canal du service de discussion. L'enquête doit être destinée aux utilisateurs anonymes. Vous ne pouvez pas accéder aux enquêtes pour les utilisateurs de portail ou les utilisateurs d'agent.

Vous pouvez utiliser les propriétés du composant pour spécifier les paramètres d'enquête suivants :

  • Affichage ou non des titres et de l'explication
  • Libellés des boutons des options oui, non et incertain
  • Chaînes saisies par l'utilisateur pour réinitialiser l'enquête, revenir à la question précédente (annulation) et quitter l'enquête
  • Texte à afficher à la fin de l'enquête
  • Formulation de la question concernant l'affichage ou non de l'explication
  • Chaîne saisie par l'utilisateur pour indiquer qu'il a terminé le téléchargement des fichiers
  • Valeurs d'attribut et paramètres de connecteur à transmettre à l'enquête
  • Paramètres régionaux du projet à utiliser
Propriétés d'Intelligent Advisor

Voici les propriétés du composant Intelligent Advisor :

Propriété Description
Nom du service Intelligent Advisor Nom du service Intelligent Advisor configuré dans Paramètres > Services supplémentaires.
Nom du projet de déploiement Nom du projet de déploiement actif dans Intelligent Advisor Hub.
Variable pour les résultats de l'entretien Nom d'une variable de liste dans laquelle stocker les valeurs d'attribut de l'enquête à son retour de l'enquête vers la brique. Les valeurs d'attribut sont stockées sous la forme d'un tableau de paires clé/valeur.
Masquer tous les titres d'écran Indique si tous les titres d'écran de l'enquête doivent être masqués.
Afficher l'explication Indique si l'explication Intelligent Advisor doit être affichée. Les valeurs autorisées sont never, always et ask.

Si vous définissez la valeur ask, utilisez l'entrée de groupe de ressources systemComponent_IntelligentAdvisor_explanationAskLabel afin de spécifier le texte à utiliser pour demander à l'utilisateur s'il veut afficher l'explication.

Si vous ne définissez pas cette propriété, le comportement par défaut est never.

Données prédéfinies Correspondance des noms et des valeurs d'attribut Intelligent Advisor à transmettre à l'enquête. Pour les attributs de date et d'heure, utilisez les formats Intelligent Advisor standard. Par exemple : start_date: "2010-01-31".

L'option Prédéfinir à partir d'un paramètre d'URL doit être activée dans Policy Modeling pour l'attribut auquel vous transmettez la valeur. Pour plus d'informations sur l'utilisation de Policy Modeling, reportez-vous à Transmission de valeurs d'attribut et de paramètres de connexion.

Paramètres de connexion Correspondance des paramètres de connexion clé-valeur à transmettre au début de l'enquête. Cela est généralement nécessaire pour les enquêtes avec intégration de données externes.
Libellé du texte de l'entretien de fin Libellé affiché dans la discussion à la fin de l'enquête. Si ce paramètre est défini sur Désactivé, aucun message ne sera affiché dans la discussion à la fin de l'enquête. La valeur par défaut est Activé, ce qui signifie que la valeur systemComponent_IntelligentAdvisor_endLabel du groupe de ressources de configuration est affichée à la fin de l'enquête.
Supprimer les balises HTML de la sortie Indique si le balisage HTML doit être enlevé du texte. La valeur par défaut est false.
Paramètre régional de l'enquête Code d'environnement linguistique ISO ou BCP à cinq caractères (par exemple, en_GB) utilisé pour spécifier la langue de début de l'enquête.

Cette propriété affecte à la fois l'entretien cible et la résolution de date et de nombre.

Le composant lance la version de l'enquête nommée (déploiement) associée à la langue indiquée par la propriété locale du composant. S'il n'y a pas de déploiement Hub pour l'environnement local spécifié, le composant utilise l'environnement local par défaut associé au déploiement.

Pour l'entrée de DATE et de nombre, les valeurs sont résolues en fonction des paramètres d'entité DATE et NUMBER. Lorsque l'option Consider l'environnement linguistique de l'utilisateur final est activée pour l'entité, la valeur est résolue pour l'environnement linguistique spécifié par cette propriété (ou la valeur par défaut si elle n'est pas spécifiée). Reportez-vous à Résolution d'entité basée sur les paramètres régionaux.

Cette propriété est définie par défaut sur la valeur profile.locale. Si profile.locale n'a pas de valeur, il utilise l'environnement local du canal.

Devise prévue de l'entretien Code devise ISO-4217 pour la devise utilisée dans l'enquête. Lorsque ce code est spécifié, l'utilisateur peut uniquement saisir des valeurs de devise dans les formats autorisés pour cette devise. Vous pouvez définir cette propriété sur vide ou NULL si l'enquête ne demande pas de montants en devise ou ne s'attend pas à une certaine devise.
Entrées de groupe de ressources pour Intelligent Advisor

Le composant Intelligent Advisor utilise également les propriétés suivantes, qui sont stockées dans le regroupement de ressources de la brique :

Clé de groupe de ressources Description
systemComponent_IntelligentAdvisor_answerNotValid Message affiché pour les entrées d'enquête Intelligent Advisor de type Masqué lorsque la réponse de l'utilisateur n'est pas conforme au masque d'entrée spécifié.
systemComponent_IntelligentAdvisor_defaultValue Texte ajouté à une question lorsque l'entrée d'enquête Intelligent Advisor a une valeur par défaut.
systemComponent_IntelligentAdvisor_doneHelp Message d'aide affiché pour les entrées d'enquête Intelligent Advisor de type Chargement.
systemComponent_IntelligentAdvisor_doneLabel Texte que les utilisateurs saisissent pour indiquer qu'ils ont terminé le téléchargement d'un fichier.

La valeur par défaut est /done.

systemComponent_IntelligentAdvisor_endLabel Texte à afficher dans la discussion à la fin de l'enquête.

La valeur par défaut est Interview ended. Vous pouvez définir la propriété sur "" pour empêcher l'affichage du texte.

systemComponent_IntelligentAdvisor_exitLabel Texte que les utilisateurs saisissent pour indiquer qu'ils veulent quitter l'enquête.

La valeur par défaut est /exit.

systemComponent_IntelligentAdvisor_explanationAskLabel Question à poser lorsque la propriété showExplanation est définie sur ask.

La valeur par défaut est Do you want to see the explanation?

systemComponent_IntelligentAdvisor_maskLabel Texte ajouté à une question pour afficher le format attendu pour les entrées d'enquête Intelligent Advisor de type Zone de texte masquée.

La valeur par défaut est Answer format: {0}.

systemComponent_IntelligentAdvisor_noLabel Libellé à utiliser pour représenter les valeurs FALSE booléennes.

La valeur par défaut est Non.

systemComponent_IntelligentAdvisor_numberMinMax Message affiché lorsque l'utilisateur saisit une valeur en dehors de la plage spécifiée pour une entrée d'enquête Intelligent Advisor de type Curseur.

La valeur par défaut est Enter a number between {0} and {1}..

systemComponent_IntelligentAdvisor_outOfOrderMessage Message d'erreur affiché lorsque l'utilisateur touche un bouton dans un message d'enquête Intelligent Advisor précédent.

Par défaut :

You have already answered this question. When you want to step backwards to change a previous answer, say {0}.

systemComponent_IntelligentAdvisor_resetLabel Texte que les utilisateurs saisissent pour indiquer qu'ils veulent revenir à la première question.

La valeur par défaut est /reset.

systemComponent_IntelligentAdvisor_resumeSessionPrompt Question posée si l'utilisateur démarre une enquête qu'il avait précédemment quittée avant la fin de l'enquête.

Par défaut :

Do you want to restart the interview from where you previously left?

systemComponent_IntelligentAdvisor_uncertainLabel Libellé que l'utilisateur peut saisir s'il ne connaît pas la valeur. Ce libellé apparaît pour les boutons radio booléens facultatifs.

La valeur par défaut est Uncertain.

systemComponent_IntelligentAdvisor_undoLabel Texte que les utilisateurs saisissent pour indiquer qu'ils veulent revenir à la question précédente.

La valeur par défaut est /back.

systemComponent_IntelligentAdvisor_yesLabel Libellé à utiliser pour représenter les valeurs TRUE booléennes.

La valeur par défaut est Oui.

systemComponent_IntelligentAdvisor_yesNoMessage Message affiché lorsque l'utilisateur saisit une réponse non valide pour les entrées d'enquête Intelligent Advisor de type Bouton radio booléen.

Par défaut :

Enter either {0} or {1}

Reportez-vous à la section Modify a Resource Bundle Entry pour connaître les étapes à suivre pour modifier le message par défaut d'une entrée de groupe de ressources.

Composant de vue Web

Le composant de vue Web ouvre une vue Web dans votre brique ou dans un onglet de navigateur pour des briques qui s'exécutent dans un canal Web.

Propriété Description
Service de composant de vue Web Nom du service du composant de vue Web.
Entrées pour le service Liste des noms de variable séparés par des virgules. Ces noms de variable sont les paramètres envoyés à la vue Web à partir de la brique.
Sortie pour le service Nom de la variable (valeur de chaîne) identifiant la charge utile de vue Web renvoyée au bot une fois que l'utilisateur a terminé ses interactions dans la vue Web.

La charge utile étant stockée dans cette variable, vous pouvez y accéder ultérieurement dans la définition du flux de dialogue. Vous pouvez par exemple y faire référence dans un composant de sortie.

URL du service de composant URL de base vers laquelle les noms de variable définis pour la propriété Entrées vers le service sont envoyés en tant que paramètres. Il s'agit d'une adresse de base fournie par un serveur Web. Cette propriété n'est pas prise en charge dans la version actuelle (vous la configurez maintenant dans la boîte de dialogue Créer un service). Cependant, les compétences construites avec des versions antérieures fonctionneront toujours.
URL de l'image URL de l'image qui accompagne une invite.
Jeton d'autorisation Jeton d'autorisation envoyé avec les demandes à l'URL indiquée par la propriété URL de service de composant. Cette propriété se présente sous la forme Basic <token> ou Bearer <token>.
Paramètres de requête pour le service Objet JSON sous forme de chaîne dont les paires clé-valeur sont les paramètres de requête ajoutés à la fin de la demande POST.
Actions de transition pour le composant de vue Web

Le composant Webview contient des actions de transaction intégrées qu'il peut renvoyer.

Vous pouvez mapper les transitions pour ces actions dans l'onglet Transitions de l'inspecteur de propriétés du composant.

Transitions Description
cancel Déclenché lorsque l'utilisateur appuie sur le bouton Annuler.
system.textReceived Déclenché lorsque l'utilisateur saisit du texte au lieu d'appuyer sur l'un des boutons.
unexpectedAction Déclenché lorsque l'utilisateur appuie sur un bouton d'une réponse précédente.
Entrées de groupe de ressources pour le composant de vue Web

Le composant de vue Web utilise également les propriétés suivantes, qui sont stockées dans le regroupement de ressources de la brique :

Clé de groupe de ressources Description
systemComponent_Webview_cancelLabel Libellé du bouton d'annulation pour laisser cet état sans appeler la vue Web.

La valeur par défaut est Cancel.

systemComponent_Webview_linkLabel Intitulé du bouton permettant d'appeler la vue Web.

La valeur par défaut est Tap to continue.

systemComponent_Webview_prompt Message que l'utilisateur doit appuyer sur le lien pour appeler la vue Web.

La valeur par défaut est Please tap on the link to proceed.

Reportez-vous à la section Modify a Resource Bundle Entry pour connaître les étapes à suivre pour modifier le message par défaut d'une entrée de groupe de ressources.

Notifier l'utilisateur

Vous utilisez ce composant pour envoyer une notification à un utilisateur lorsqu'un événement cloud d'un type inscrit dans Oracle Digital Assistant s'est produit. Pour plus d'informations sur l'inscription des types d'événement et la configuration d'un assistant numérique afin qu'il utilise l'événement, reportez-vous à Evénements externes.

Propriété Description
ID utilisateur (Facultatif) Si vous souhaitez déterminer dynamiquement l'utilisateur à notifier de l'événement lorsqu'il est reçu, saisissez l'ID utilisateur unifié renvoyé par le service de messagerie de l'utilisateur. Si cette valeur est définie, lors de la génération de l'événement, Digital Assistant transmet cet ID au service de messagerie pour obtenir les données utilisateur, telles que le canal, et l'ID du canal pour l'utilisateur afin qu'il puisse en informer cet utilisateur particulier. Cette propriété ne fonctionne que pour les canaux Slack et Twilio et pour les utilisateurs qui ont déjà interagi avec Digital Assistant.
Message de notification Message renvoyé à l'utilisateur.

Dans le message, vous pouvez utiliser des expressions dans les formats suivants pour accéder aux informations de l'événement :

  • Contenu des données d'événement :
    ${skill.system.event.value.application.data.<propertyName>}
  • Contenu de contexte d'événement :
    ${skill.system.event.value.application.context.<propertyName>}

Evénement de publication

Vous utilisez ce composant pour publier en externe un événement cloud d'un type inscrit dans Oracle Digital Assistant. Pour plus d'informations sur l'inscription des types d'événement et la configuration d'un assistant numérique pour la publication et l'utilisation d'événements, reportez-vous à Evénements externes.

Propriété Description
Nom Nom du type de l'événement à publier
données Charge utile de l'événement au format JSON.

Voici un exemple de charge utile pouvant être utilisé comme valeur pour la propriété Data :

{
    "size": "Large",
    "type": "Veggie"
}

Modifications de composant dans le concepteur de flux visuel

Dans Visual Flow Designer, un certain nombre de composants qui faisaient partie de l'éditeur de flux de dialogue basé sur YAML ont été modifiés ou ne sont plus disponibles. Voici les principales modifications :

  • Les composants ConditionExists et ConditionEquals ne sont pas pris en charge. Vous pouvez utiliser le composant Switch à la place.
  • Les composants Text, List et Output ne sont pas pris en charge. Au lieu de cela, vous pouvez utiliser les modèles Envoyer un message, Poser une question et Résoudre un conteneur composite, ainsi que les modèles de la catégorie Messagerie utilisateur, dont la plupart sont des modèles basés sur le composant Réponse commune.
  • Les composants Résoudre l'entité et Réponse commune vont maintenant toujours tenter d'insérer des entités à partir de la variable system.nlpresult.

    Par conséquent, la propriété nlpResultVariable n'est plus nécessaire et a été supprimée de ces composants.

  • La variable autoNumberPostbackActions et la propriété de composant ne sont pas prises en charge. La numérotation automatique peut être configurée au niveau de la brique à l'aide du paramètre de configuration Activer la numérotation automatique sur les actions de postback dans les flux de tâches de la brique (ou au niveau de l'assistant numérique à l'aide du paramètre Activer la numérotation automatique sur les actions de postback de l'assistant numérique).
  • La variable autoTranslate et la propriété de composant translate ne sont pas disponibles. Ils sont remplacés par les propriétés Traduire le message d'entrée utilisateur et Traduire le message de réponse du bot, qui sont définies au niveau de la brique.
  • La propriété de composant transitionAfterMatch pour les composants Réponse commune et Résoudre l'entité n'est plus prise en charge. Pour obtenir cette fonctionnalité, vous pouvez utiliser un gestionnaire d'événements d'entité.
  • La valeur par défaut de la propriété useFullEntityMatches pour les composants Réponse commune et Entité de résolution est désormais true.

    Cela signifie que la valeur de l'entité résolue est renvoyée en tant qu'objet et que vous devez spécifier la propriété d'objet appropriée pour renvoyer une valeur de chaîne.

  • La valeur par défaut de la propriété cancelPolicy pour les composants Réponse commune et Résoudre l'entité est désormais immediate (au lieu de lastEntity).

    Cela signifie que la transition d'annulation se produit une fois que la valeur définie pour le maximum de tentatives de saisie utilisateur de l'élément de conteneur a été atteinte. Si cette valeur n'a pas été définie, le composant déclenche cette transition lorsque la valeur maxPrompts de niveau composant est atteinte.

  • Les propriétés de composant d'analyse insightsInclude et insightsEndConversation ne sont pas prises en charge. Les flux modulaires délimitent déjà la conversation. Par conséquent, insightsEndConversation n'est pas nécessaire. Une conversation se termine lorsque le dernier état d'un flux de niveau supérieur est atteint.

Gestion des messages pour les composants de message utilisateur

En règle générale, un utilisateur peut répondre à un message de l'une des manières suivantes :

  • en entrant du texte libre,

  • en envoyant son emplacement,

  • à l'aide d'une option multimédia pour envoyer une image, un fichier audio, une vidéo ou une pièce jointe,

  • en appuyant sur l'un des boutons de postback affichés dans la sortie de message la plus récente par le bot,

  • en faisant défiler l'écran jusqu'à un message précédent dans la conversation et en appuyant sur l'un de ses boutons.

Gestion du texte libre

Lorsqu'un utilisateur saisit du texte libre, les composants Réponse commune commencent par valider cette entrée en tant que valeur de variable spécifiée par la propriété variable. Lorsque le texte est une valeur valide, ces composants déclenchent la transition textReceived. Si vous ne définissez pas la transition textReceived, le moteur de boîte de dialogue passe à l'état défini par la transition next ou l'événement d'entrée utilisateur inattendue.

Conseil :

Utilisez textReceived pour gérer les messages utilisateur inattendus lorsque l'utilisateur doit appuyer sur un bouton, envoyer une pièce jointe ou un emplacement.

Gestion des messages multimédia

Lorsqu'un utilisateur envoie un fichier, une image, une vidéo ou un fichier audio, les composants de réponse commune stockent les informations de pièce jointe en tant qu'objet JSON dans la propriété de variable indiquée pour le composant. Cet objet a la structure suivante :
{
  "type": "video",
  "url": "https://www.youtube.com/watch?v=CMNry4PE93Y"
}
Par exemple, si une pièce jointe vidéo est stockée dans une variable appelée myVideo, vous pouvez accéder à cette vidéo à l'aide de l'expression FreeMarker, ${myVideo.value.url}.

Gestion des messages de localisation

Lorsqu'un utilisateur envoie sa position actuelle, les composants de réponse commune stockent les informations de localisation en tant qu'objet JSON dans la propriété de variable indiquée pour le composant. Cet objet a la structure suivante :
{
  "title": "Oracle Headquarters",
  "url": "https://www.google.com.au/maps/place/…",
  "longitude": -122.265987,
  "latitude": 37.529818
}
Par exemple, si la localisation est stockée dans une variable appelée location, vous pouvez accéder à la latitude à l'aide de l'expression FreeMarker, ${location.value.latitude}.

Actions de postback

Les actions dans le message de réponse, comme les boutons, les liens et les éléments de liste, sont implémentées en tant qu'actions de postback. Par exemple, lorsqu'un utilisateur appuie sur un bouton, son postback est affiché. Sa charge utile est un objet JSON contenant le nom de l'état, les valeurs définies pour les variables de flux de dialogue et les actions de transition. Par exemple, la charge utile suivante est affichée lorsqu'un utilisateur appuie sur le bouton Commander maintenant en regard d'une pizza aux pepperoni :
{
	"action": "order",
	"state": "OrderPizza",
	"variables": {
		"orderedPizza": "PEPPERONI",
		"orderPizzaImage": "http://pizzasteven/pepperoni.png"
	}

Détection des actions hors séquence

La propriété system.state de la charge utile qui identifie l'état pour lequel le postback a été affiché permet au système d'identifier lorsqu'un utilisateur effectue une action qui se produit en dehors de la portée en cours, par exemple en appuyant sur un bouton d'une réponse précédente.

        "system.postbackActions": {
          "small": {
            "postback": {
              "variables": {
                "size": "Small"
              },
              "system.botId": "44F2405C-F317-4A3F-8250-617F54F01EA6",
              "action": "Small",
              "system.state": "size"
Par exemple, un utilisateur peut appuyer sur le bouton Commander maintenant pour une pizza aux pepperoni, mais au lieu de terminer sa commande, il peut faire défiler l'écran jusqu'à un message précédent et cliquer sur Commander maintenant pour un plat de pâtes.

A ce stade, le système compare la propriété system.state de la charge utile de l'action de postback entrante à l'état en cours. Lorsque les deux éléments ne correspondent plus, la brique exécute une transition qui peut, selon la manière dont vous configurez votre flux de dialogue, répondre à la demande de l'utilisateur ou la refuser.

Par défaut, Digital Assistant autorise les actions hors séquence. Cela signifie que les valeurs de variable sont réinitialisées. A l'aide de l'action Message dans le désordre du flux et des variables skill.system.event.value.outOfOrderMessage.outOfOrderState et skill.system.event.value.outOfOrderMessage.currentState, vous pouvez personnaliser ce comportement pour la brique entière ou pour un état particulier dans le flux de dialogue.
  • skill.system.event.value.outOfOrderMessage.outOfOrderState : contient la valeur de la propriété state dans la charge utile de postback entrante, le message "hors séquence".

  • skill.system.event.value.outOfOrderMessage.currentState : contient la valeur de l'état actuel.
    Remarque

    Seuls les composants qui définissent la propriété d'état dans la charge utile de postback peuvent activer la brique pour répondre lorsque l'utilisateur revient en arrière dans le flux. Le composant OAuthAccountLink ne définit pas cette propriété.

Remplacement de la gestion des messages hors séquence par un état de gestion des messages

Vous pouvez modifier le comportement par défaut de la gestion des messages dans le désordre en mappant l'événement de transition système Message dans le désordre avec un composant Invoke Flow qui appelle un flux que vous avez fourni pour gérer les messages dans le désordre.