Modèles de composant

Voici la description des modèles fournis pour les différents groupes de pages 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 à l'entrée de l'utilisateur.

Le groupe de pages Envoi messages possède la propriété suivante :

Propriété Description
Messages Messages qui sont affichés à l'utilisateur lorsque le composant est appelé.

Poser une question

Ce composant est conçu pour demander une entrée utilisateur, puis pour stocker cette entrée afin qu'elle puisse être utilisée ou traitée par d'autres composants.

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

Le nom Description
Question Texte affiché pour l'utilisateur.
Variable Variable qui contient la réponse de l'utilisateur à la question.

Ce composant peut retourner 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 entré du texte (par opposition, par exemple, à la sélection d'un bouton d'action).

Résoudre l'ensemble composite

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

Pour utiliser ce composant, vous avez besoin d'une entité composite et d'une variable de compétence pour cette entité composite.

Le composant Resolve Composite Bag possède la propriété suivante :

Le nom Description
Variable d'entité composite Texte affiché pour l'utilisateur.

Ce composant peut retourner les actions suivantes :

Action Description
cancel L'utilisateur a atteint le nombre maximal de tentatives pour fournir une valeur valide.
disambiguate L'entrée utilisateur doit être clarifiée pour déterminer quelle valeur d'entité 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.

À l'exception des modèles Résoudre l'entité et Rétroaction utilisateur, tous ces modèles sont basés sur le groupe de pages Réponse commune et sont adaptés à des fins spécifiques.

Modèles de composant de réponse commune

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 qui peut 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édias, 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 de réponse commune précédé d'un composant Définir une variable.

Dans la sous-catégorie Fonctions propres à un canal, il existe 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

À l'exception des groupes de pages Résoudre entités et Commentaires utilisateurs, les modèles de la catégorie Messagerie utilisateur sont basés sur le groupe Réponse commune. En tant que tels, ils utilisent chacun les propriétés du tableau suivant (ou un sous-ensemble d'entre eux).

Le nom Description
Métadonnées La réponse de clavardage créée par ce composant est guidée par les métadonnées ResponseItems propres au message. Voir Propriété de métadonnées dans les composants de réponse communs.
Traiter le message utilisateur

Réglez cette propriété à True pour indiquer au moteur de dialogue de revenir à cet état après que l'utilisateur entre du texte ou touche un bouton. Réglez cette propriété à False si aucune entrée utilisateur n'est requise (ou attendue).

Réglez cette propriété à True lors de la définition d'un emplacement.

Garder le virage

Valeur booléenne pour abandonner (False) ou conserver (True) le contrôle du flux de dialogue de la compétence. Réglez à True pour produire une séquence continue de messages de compétence où aucune interruption de l'utilisateur n'est acceptée.

Cette propriété s'applique uniquement lorsque vous réglez la propriété Traiter le message d'utilisateur à False.

Variable

Cette variable contient le nom d'une variable qui est alimentée lorsqu'un utilisateur répond en entrant du texte libre au lieu de toucher un bouton. Cette propriété est ignorée lorsqu'un utilisateur touche un bouton, car les données utiles du bouton déterminent quelles valeurs des variables sont définies. Si la propriété de variable a déjà été définie lorsque le moteur de dialogue passe à cet état, l'état est ignoré.

Pour les entités composites, référencez la variable de l'entité membre de l'entité composite. Les utilisateurs sont invités à entrer les valeurs pour cette entité. Lorsque toutes les valeurs d'entité sont définies, le composant passe à l'état suivant.

Nombre maximal d'invites

Avant que le composant ne charge la valeur de variable que vous avez spécifiée pour la propriété Variable à partir du texte entré par l'utilisateur, il valide cette valeur par rapport au type de variable. Ceci peut être une validation de type d'entité ou, dans le cas d'un type primitif, il s'agit d'une valeur qui peut être contrainte par le type primitif.

Lorsque le composant ne peut pas valider la valeur, le moteur de dialogue envoie de nouveau le texte et les options de message. (Vous pouvez modifier ce message pour refléter l'échec de la validation.) Pour éviter une boucle sans fin résultant de l'incapacité de l'utilisateur à entrer une valeur valide, utilisez cette propriété pour régler une limite au nombre de tentatives accordées à l'utilisateur. Lorsque l'utilisateur dépasse cette limite, le composant passe à l'action cancel. Voir Limitation du nombre d'invites utilisateur

Comme indiqué dans la section Créer une entité composite, chaque entité composite peut remplacer ce paramètre lorsque l'option Maximum User Input Attempts est définie.

Valeur multiple Indique si une variable d'entité peut stocker un tableau de valeurs correspondantes ou une seule valeur correspondante.
Annuler la politique Détermine le moment de la transition cancel :
  • Immediate (Immédiate) - Immédiatement après que la valeur définie pour l'entité Maximum User Input Attempts (Maximum de tentatives d'entrée utilisateur) a été atteinte. Si cette valeur n'a pas été définie, le composant déclenche cette transition lorsque sa propre valeur est Maximum Number of Prompts (Nombre maximal d'invites).

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

  • Dernière entité- Lorsque la dernière entité de l'entité composite a été mise en correspondance avec une valeur.

Cette propriété est ignorée si vous avez enregistré un programme de traitement d'événements d'entité avec un programme maxPromptsReached de niveau article ou événement.
Utiliser les correspondances complètes d'entité Lorsque la valeur True est définie, les valeurs d'entité personnalisée sont stockées en tant qu'objets JSON (comme les valeurs d'entité intégrées). Vous pouvez ainsi créer des expressions pour accéder à des propriétés telles que value, primaryLanguageValue et originalString, qui sont particulièrement importantes pour les compétences qui sont actuellement ou pourraient éventuellement devenir multilingues.
Transitions pour les composants de réponse communs
Les composants de réponse communs utilisent les transitions indiquées dans le tableau suivant. La gestion des messages pour les composants de message d'utilisateur décrit la façon dont ces transitions sont déclenchées.
Transition Description
cancel Déclenché lorsqu'un utilisateur dépasse les tentatives permises définies par la propriété maxAttempts ou réacheminer le flux.
textReceived Déclenché lorsqu'un utilisateur envoie du texte ou des émoticônes au lieu d'appuyer sur un bouton ou un lien d'action.
system.nonSequitur.onResume Utilisez cette action de transition pour fournir une autre navigation pour un état lorsque la conversation retourne à cet état après avoir traité une non séquence. Cela peut être utilisé pour actualiser l'état du composant, contourner l'état ou interroger de nouveau les informations affichées par l'état. En particulier, cette transition est utile dans les cas où l'état dépend de données nouvelles (en d'autres termes, il doit être interrogé à nouveau chaque fois qu'un utilisateur y revient).
system.outOfOrderMessage Définissez cette transition pour contourner un comportement d'utilisateur inattendu. Plus précisément, lorsqu'un utilisateur ne touche pas un élément d'action dans le message courant, mais touche à la place une action appartenant à un ancien message de la session de clavardage.
Transitions d'entité composite
Les composants de réponse communs 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 Obligatoire?
match Le composant déclenche cette action pour naviguer jusqu'à l'état spécifié lorsqu'au moins une entité de l'entité composite a mis en correspondance l'entrée utilisateur. Non
cancel Le composant déclenche cette action pour naviguer jusqu'à l'état spécifié en fonction du paramètre de la propriété cancelPolicy. Non

Résoudre l'entité

Propriété Description
Variable Référence la variable de flux de dialogue d'entité composite alimentée par ce composant. Si toutes les entités enfants 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 Indique le nombre de tentatives attribuées à l'utilisateur pour entrer une valeur valide qui correspond au type d'entité enfant. Si le nombre maximum de tentatives est dépassé pour la première entité enfant, cette propriété est réinitialisée à 0 et le robot présente l'invite de l'entité enfant suivante. Comme indiqué dans la rubrique Créer une entité composite, chaque entité composite peut remplacer ce paramètre lorsque l'option Maximum User Input Attempts (Nombre maximum de tentatives d'entrée utilisateur) est définie.
Valeur multiple Indique si une variable d'entité peut stocker un tableau de valeurs correspondantes ou une seule valeur correspondante.
Utiliser les correspondances complètes d'entité Lorsque la valeur True est définie, les valeurs d'entité personnalisée sont stockées en tant qu'objets JSON (comme les valeurs d'entité intégrées). Vous pouvez ainsi créer des expressions pour accéder à des propriétés telles que value, primaryLanguageValue et originalString, qui sont particulièrement importantes pour les compétences qui sont actuellement ou pourraient éventuellement devenir multilingues.
Invite Texte utilisé pour inviter l'utilisateur à entrer des entités intégrées.
Invite d'homonymie Texte utilisé pour inviter l'utilisateur à la désambiguïté lorsque l'entrée de l'utilisateur précédent correspond à plusieurs valeurs de l'entité intégrée. Cette propriété est ignorée si la propriété Multi-Valeur est résolue à Vrai.
Texte d'en-tête Message qui s'affiche avant que le composant invite l'utilisateur à entrer l'élément suivant de l'entité composite. Vous pouvez utiliser cet en-tête pour fournir des commentaires sur les entités précédentes de l'entité composite qui ont é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 pied de page Améliore la sortie sur les canaux textuels. Par exemple, vous pouvez utiliser des expressions FreeMarker pour définir le texte du pied de page pour les canaux textuels.
Annuler la politique Détermine le moment de la transition cancel :
  • Immediate (Immédiate) - Immédiatement après que la valeur définie pour l'entité Maximum User Input Attempts (Maximum de tentatives d'entrée utilisateur) a été atteinte. Si cette valeur n'a pas été définie, le composant déclenche cette transition lorsque sa propre valeur est Maximum Number of Prompts (Nombre maximal d'invites).

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

  • Dernière entité- Lorsque la dernière entité de l'entité composite a été mise en correspondance avec une valeur.

Cette propriété est ignorée si vous avez enregistré un programme de traitement d'événements d'entité avec un programme maxPromptsReached de niveau article ou événement.

Commentaires de l'utilisateur

Le composant User Feedback (Rétroaction des utilisateurs) vous permet de collecter des données de rétroaction pour les données clés 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 de rétroaction d'utilisateur n'autorise pas les entrées dans le désordre. Si vous utilisez la trousse SDK 21.10 ou une version ultérieure, ce composant produit un système de notation en étoile horizontal.

Bien que vous puissiez modifier le comportement de ce composant à l'aide des propriétés du composant, vous pouvez en modifier l'aspect lorsque vous utilisez la trousse 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 rétroaction par une autre icône.

Le nom Description
Notation maximale Notation maximale qu'un utilisateur peut soumettre. Par défaut, la valeur maximale est 5. Vous pouvez ajuster cette valeur à la baisse.
Seuil Une valeur booléenne, qui, si elle est réglée à true, permet à l'utilisateur de soumettre une rétroaction texte si la notation est inférieure ou égale à la valeur threshold. Par défaut, cette propriété est réglée à false (aucune rétroaction activée).
Activer la rétroaction texte Valeur pour évaluer la transition entre les actions above et below. Par défaut, le seuil entre la rétroaction positive et la rétroaction négative est réglé à 2 pour la valeur maxRating par défaut, qui est 5.
Texte de pied de page Texte affiché au bas de la boîte de dialogue de rétroaction.

Ce composant peut retourner les actions suivantes :

Action Description
above Définir lorsque l'entrée utilisateur est une valeur valide supérieure à la valeur Threshold (Seuil).
below Définissez lorsque l'entrée de l'utilisateur est une valeur valide inférieure ou égale à la valeur Threshold (Seuil). ).
cancel Définissez le moment où les utilisateurs refusent la notation 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 - Retourne la notation de l'utilisateur.
  • system.userFeedbackText - Lorsque enableTextFeedback est réglé à true, votre compétence peut demander une rétroaction lorsque les notations sont inférieures à la valeur threshold. system.userFeedbackText retourne l'entrée de l'utilisateur (${system.userFeedbackText.value}).

Le texte d'affichage standard du composant est stocké dans les entrées d'ensemble de ressources. Ces entrées d'ensemble ont un texte par défaut, mais vous pouvez les personnaliser. Voici les entrées de ce groupe de pages :

Clé d'ensemble 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 entré une valeur non valide pour la notation.
Commentaires - ratingButtonLabels Liste des étiquettes, séparée par des virgules, affichée sur les boutons de notation.
Commentaires - skipLabel Étiquette du bouton permettant d'ignorer la rétroaction.
Commentaires - textFeedbackPrompt Invite affichée à l'utilisateur lui demandant de fournir une rétroaction textuelle lorsqu'il attribue une note inférieure à la valeur de la propriété Threshold (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 les variables

Copie les valeurs d'une variable dans une autre.

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

Les définitions de ces propriétés n'ont pas à se refléter. Bien que vous puissiez définir à la fois des variables de destination et des variables sources en tant que listes de variables, 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 spécifiée.

Réinitialiser les variables

Ce composant rétablit les valeurs des variables spécifiées à zéro.

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

Définir la variable

Le composant Set 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 comme littéral ou comme expression FreeMarker référençant 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 seulement des lettres, des chiffres 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 d'autres aspects de l'utilisation des compétences.

Modèles de langue

Détecter la langue

Le composant Detect Language (Détecter la langue) utilise le service de traduction pour détecter la langue de l'utilisateur à partir de l'entrée utilisateur.

Note

Ce composant n'est disponible que si vous avez créé votre compétence pour utiliser un service de traduction (c'est-à-dire qu'il n'est pas pris en charge de manière native).

Ce composant définit une variable nommée profile.languageTag avec la chaîne de paramètres régionaux. Vous pouvez définir des variables avec la langue courante lorsque vous utilisez cette variable dans une expression de valeur (${profile.languageTag}).

Note

La variable profile.languageTag est prioritaire par rapport à la variable profile.locale définie par le client de messagerie.
Propriété Description
Étiquette de langue du profil existant Lorsque cette option est réglée à True (Vrai), la compétence utilise immédiatement la langue détectée par l'assistant numérique. (Sinon, la compétence peut fournir un message ou une invite en anglais avant que la langue ne soit détectée (à nouveau).) Cette propriété s'applique uniquement aux compétences figurant 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 compétence, puis stocke la traduction en anglais. Il s'appuie sur la compétence configurée avec un service de traduction, qui reconnaît la langue de l'entrée de l'utilisateur et la convertit en anglais. Ce composant ne fonctionne pas avec les compétences qui utilisent le mode linguistique pris en charge de manière native.

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

Étant donné que ce composant tire parti du service de traduction, qui détecte la langue de l'utilisateur, il n'est pas nécessaire de suivre les états qui détectent ou définissent la langue.

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

Traduire la sortie

Le groupe de pages Traduire sortie permet de traduire le texte précisé 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 compétence 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 spécifiée par la propriété Variable.

Ce composant ne fonctionne pas avec les compétences qui utilisent le mode linguistique pris en charge de manière native.

Propriétés Description
Expression Expression FreeMarker qui référence une variable dont la valeur doit être traduite.
Variable Variable qui contient le texte traduit.

Entité de correspondance

Le composant Correspondance d'entité appelle le moteur d'intention 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 contenant la valeur d'entrée.
Variable Nom de la variable définie avec la valeur de l'entité extraite. La valeur de cette variable peut être utilisée dans un composant Définir une variable suivant pour 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 offre également deux transitions prédéfinies : match et nomatch.

Transition Description
match Indique à quel état doit passer le moteur de dialogue lorsque les entités correspondent.
nomatch Indique à quel état doit passer le moteur de dialogue lorsque les entités ne correspondent pas.
Note

Le composant Entité de correspondance 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 pour les services sécurisés par un code d'autorisation, par exemple LinkedIn, Twitter, Google ou Microsoft. Les composants personnalisés de la compétence peuvent échanger le code d'autorisation contre un jeton d'accès qu'ils utilisent ensuite pour appeler le service final.

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

Pour chaque état qui nécessite une autorisation avant d'être appelé, vous réglez le paramètre Requires Authorization (Exige une autorisation) à True. Voir Autorisation de l'utilisateur pour connaître les étapes de configuration.

Propriété Description
Variable Spécifie la variable de flux de dialogue dans laquelle stocker le code d'autorisation. Vous pouvez la déclarer en tant que chaîne ou un autre type de variable pris en charge. Il peut également s'agir d'une variable d'utilisateur.
Autoriser l'URL L'URL de connexion. La rubrique Propriété authorizeURL décrit comment configurer cette URL.
Texte de pied de page Améliore la boîte de dialogue d'ouverture de session en ajoutant du texte sous les options de connexion et d'annulation. Vous pouvez utiliser des expressions FreeMarker pour définir le texte du pied de page pour les canaux textuels.
Afficher l'étiquette d'annulation (Facultatif) Permet de spécifier si le bouton Cancel (Annuler) doit être affiché. Par défaut, cette propriété est réglée à True, c'est-à-dire que le bouton Cancel est affiché. Dans certains cas, comme pour les canaux de SMS, vous ne souhaitez pas afficher ce bouton. Vous pouvez configurer ce comportement avec une expression comme celle qui suit :
${(system.message.channelConversation.channelType=='twilio')?then('false','true')}

Ce composant peut retourner les actions suivantes :

Action Description
fail L'utilisateur a cliqué sur le bouton d'annulation.
pass Le code d'autorisation a été extrait.
textReceived L'utilisateur a entré 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 d'ensemble de ressources. Ces entrées d'ensemble ont un texte par défaut, mais vous pouvez les personnaliser. Voici les entrées de ce groupe de pages :

Clé d'ensemble de ressources Description
OAuthAccountLink - cancelLabel Utilisez cette option pour remplacer l'étiquette du bouton sur lequel les utilisateurs peuvent cliquer pour quitter l'état sans appeler la boîte de dialogue d'authentification. L'étiquette par défaut est Cancel (Annuler).
OAuthAccountLink - linkLabel Utilisez cette option pour remplacer l'étiquette du bouton sur lequel les utilisateurs peuvent cliquer pour appeler la boîte de dialogue d'authentification. L'étiquette par défaut est Log In (Connexion).
OAuthAccountLink - Invite Chaîne à utiliser pour inviter l'utilisateur à se connecter.

Voir Modifier une entrée d'ensemble de ressources pour connaître les étapes permettant de modifier le message par défaut d'une entrée d'ensemble de ressources.

Conseil :

Vous pouvez également modifier les messages Other - oauthCancelPrompt et Other - oauthSuccessPrompt dans l'ensemble de configuration.

Lorsque le moteur de dialogue détecte ce composant, le robot de compétence invite l'utilisateur avec deux liens — Login (Connexion) et Cancel (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 qui est nommé par l'action fail.

  • L'utilisateur ne clique sur aucun bouton mais entre du texte. Le composant passe à l'état qui est 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 en tant que vue Web, comme illustré dans l'exemple ci-dessous. Une fois l'autorisation reçue, le composant passe à l'état nommé par l'action pass (ou à l'état suivant s'il n'y a pas d'action pass), qui appelle généralement un composant personnalisé qui échangé le code d'autorisation contre 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 pour obtenir un jeton d'accès d'utilisateur OAuth2 (type d'autorisation Code) 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 termine toutes les étapes du flux OAuth2 à trois branches et retourne le jeton d'accès OAuth2.

Pour chaque état qui nécessite une autorisation avant d'être appelé, vous réglez le paramètre Requires Authorization (Exige une autorisation) à True. Voir Autorisation de l'utilisateur pour connaître les étapes de configuration.

Si vous devez obtenir un jeton d'accès avec le type d'autorisation Données d'identification client pour accéder aux ressources clients, voir OAuth 2.0 Client.

Afin de pouvoir utiliser ce composant dans une compétence, vous devez effectuer les tâches suivantes :

  1. Si ce n'est pas encore fait, inscrivez le client auprès du fournisseur d'identités comme décrit dans la rubrique Enregistrement au niveau du 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 période de conservation spécifiée pour le service d'authentification. Le système dorsal de l'assistant numérique peut utiliser le jeton d'actualisation, s'il est disponible, pour obtenir un nouveau jeton d'accès sans que l'utilisateur ait à se connecter de nouveau.

Propriété Description
Service d'authentification Nom du service de code d'autorisation que vous avez créé dans l'interface utilisateur des services d'authentification pour le fournisseur d'identités OAuth2.
Nom de la variable d'utilisateur authentifiée Indique la variable dans laquelle stocker le nom d'utilisateur authentifié (le nom connu par le fournisseur d'identités). Si la variable est de portée utilisateur, elle peut être partagée entre les compétences.
Nom de variable du jeton d'accès Spécifie la variable dans laquelle stocker le jeton d'accès. Si la variable est de portée utilisateur, elle peut être partagée entre les compétences.
Nom de variable du jeton d'accès à plusieurs portées Champ réservé pour la prise en charge future du jeton d'accès multi-portée.
Texte de pied de page Améliore la boîte de dialogue d'ouverture de session en ajoutant du texte sous les options de connexion et d'annulation. Vous pouvez utiliser des expressions FreeMarker pour définir le texte du pied de page pour les canaux textuels.
Afficher l'option Annuler (Facultatif) Permet de spécifier si le bouton Cancel (Annuler) doit être affiché. Par défaut, cette option est réglée à True, c'est-à-dire que le bouton Cancel est affiché. Dans certains cas, comme pour les canaux de SMS, vous ne souhaitez pas afficher ce bouton. Vous pouvez configurer ce comportement avec une expression comme celle qui suit :
${(system.message.channelConversation.channelType=='twilio')?then('false','true')}
Consentement à l'association obligatoire Réglez cette option à True (Vrai) si la compétence utilise le composant Notify User (Aviser 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 des comptes de canal pris en charge au compte de domaine d'identité IAM OCI authentifié OAuth à l'aide d'un identificateur d'utilisateur unifié.
Mettre à jour le profil d'utilisateur Si le fournisseur d'identités est un domaine d'identité IAM OCI et que vous voulez stocker le profil de l'utilisateur à partir d'IAM pendant la durée de la session, réglez cette propriété à True. Lorsqu'une authentification est demandée à l'utilisateur, si cette propriété est réglée à true, le composant tentera d'obtenir les données de profil d'utilisateur du fournisseur d'identités et de définir les résultats dans le mappage userProfile.<authorization service>. Voir Stocker un profil d'utilisateur pendant toute la durée de la session.
Activer l'authentification unique (S'applique aux canaux Microsoft Teams seulement) Si vous avez configuré l'authentification unique Microsoft Teams, le réglage de cette propriété à True permettra aux utilisateurs déjà connectés aux équipes de ne pas avoir à se connecter séparément à la compétence.
URL de redirection URL de redirection qui reçoit le code d'autorisation.
Note

La propriété Associer à un utilisateur unifié n'est plus disponible. Si vous voulez activer la liaison du canal pris en charge à une identité d'utilisateur unifiée, vous pouvez le faire pour l'ensemble de l'instance. Voir Activer la liaison de compte de canal.

Ce composant peut retourner les actions suivantes :

Action Description
fail L'utilisateur a cliqué sur le bouton d'annulation.
pass Le jeton d'accès a été extrait.
textReceived L'utilisateur a entré 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 d'ensemble de ressources. Ces entrées d'ensemble ont un texte par défaut, mais vous pouvez les personnaliser. Voici les entrées de ce groupe de pages :

Clé d'ensemble de ressources Description
OAuth2AccountLink - cancelLabel Utiliser pour remplacer l'étiquette du bouton sur lequel les utilisateurs peuvent cliquer pour quitter un état sans appeler la boîte de dialogue d'authentification. L'étiquette par défaut est Cancel (Annuler).
OAuth2AccountLink - linkLabel Utilisez cette option pour remplacer l'étiquette du bouton sur lequel les utilisateurs peuvent cliquer pour appeler la boîte de dialogue d'authentification. L'étiquette par défaut est Log In (Connexion).
OAuthAccount2Link - Invite Chaîne à utiliser pour inviter l'utilisateur à se connecter.
OAuthAccount2Link - consentNeverFinalConfirmationNoLabel Étiquette du bouton "Non" qui apparaît après l'invite pour confirmer que l'utilisateur veut 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 demandant aux utilisateurs de confirmer qu'ils souhaitent refuser que leur compte de canal soit associé à une identité unifiée.
OAuthAccount2Link - consentNeverFinalConfirmationYesLabe Étiquette du bouton "Oui" qui apparaît après l'invite pour confirmer que l'utilisateur veut refuser que son compte soit associé de manière permanente à une identité unifiée. La valeur par défaut est Confirm.
OAuthAccount2Link - consentNeverFinalPrompt Message confirmant aux utilisateurs qu'ils ont définitivement refusé que leur compte soit associé à une identité unifiée.
OAuthAccount2Link - consentNeverLabel Étiquette du bouton "Jamais" qui s'affiche 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 Étiquette du bouton "Pas maintenant" qui s'affiche 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 demandant aux utilisateurs de choisir s'ils consentent à associer leur compte de canal à l'identité de l'utilisateur authentifié.
OAuthAccount2Link - consentYesLabel Étiquette du bouton "Oui" qui s'affiche après l'invite demandant si l'utilisateur souhaite associer ses données de compte de canal à une identité unifiée.

Voir Modifier une entrée d'ensemble de ressources pour connaître les étapes permettant de modifier le message par défaut d'une entrée d'ensemble de ressources.

Conseil :

Vous pouvez également modifier les messages Other - oauthCancelPrompt et Other - oauthSuccessPrompt dans l'ensemble de configuration.

Lorsque le moteur de dialogue rencontre le composant, le robot de compétence 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).


Une description de oauth2accountlinksignin1.png suit
Description de l'illustration oauth2accountlinksignin1.png

Si l'utilisateur clique sur le lien pour obtenir un jeton d'accès, le moteur affiche la page de connexion ou la boîte de dialogue d'authentification du fournisseur d'identités comme indiqué par le service d'authentification. Une fois la connexion réussie, il obtient le jeton d'accès, définit les variables identifiées par accessTokenVariableName et authenticatedUserVariableName, puis passe à l'état qui est nommé par l'action pass (ou à l'état suivant en l'absence d'action pass). Si l'utilisateur annule, l'action de republication est réglée à fail. Si l'utilisateur entre du texte, l'action textReceived est retournée.


Une description de oauth2accountlinksignin2.png suit
Description de l'illustration oauth2accountlinksignin2.png

Comme mentionné précédemment, vous pouvez définir requiresAuthorization pour un état afin de garantir que l'utilisateur dispose de l'autorisation nécessaire avant d'appeler le composant de l'état. Si l'utilisateur n'a pas encore autorisé, le dialogue appelle l'événement Autoriser l'utilisateur.

OAuth 2.0 Client

Utilisez ce composant pour obtenir un jeton d'accès OAuth2 avec le type d'autorisation Données d'identification de client. Autrement dit, vous l'utilisez pour obtenir un jeton d'accès basé sur les données d'identification du client et non sur le nom et le mot de passe de l'utilisateur. Vous pouvez utiliser ce composant pour obtenir un jeton qui permet l'accès aux ressources de client protégées par le service Oracle Identity Cloud ou Oracle Access Manager (OAM).

Si vous devez accéder aux ressources pour le compte d'un utilisateur, voir OAuth Lien de compte 2.0 et OAuth Lien de compte.

Afin de pouvoir utiliser ce composant dans une compétence, vous devez effectuer les tâches suivantes :

  1. Si ce n'est pas encore fait, inscrivez le client auprès du fournisseur d'identités comme décrit dans la rubrique Enregistrement au niveau du fournisseur d'identités.
  2. Ajoutez un service d'authentification client pour le fournisseur d'identités, comme décrit dans la rubrique Services d'authentification.
Propriété Description
Service d'authentification Nom du service de données d'identification du client que vous avez créé dans l'interface utilisateur des services d'authentification pour le fournisseur d'identités OAuth2.
Nom de variable du jeton d'accès Spécifie la variable dans laquelle stocker le jeton d'accès. Vous pouvez la déclarer en tant que chaîne ou un autre type de variable pris en charge. Il peut également s'agir d'une variable de portée utilisateur. Par exemple : user.accessToken.
Nom de variable du jeton d'accès à plusieurs portées Champ réservé pour la prise en charge future du jeton d'accès multi-portée.

Ce composant ne comporte aucune action. Pour gérer les problèmes système qui peuvent survenir, ajoutez une transition next qui passe à un état pouvant traiter de telles 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é provenant du fournisseur d'identités que représente le service d'authentification. Il supprime également les jetons d'actualisation de la base de données. Pour l'utiliser, vous devez fournir l'URL de révocation du jeton d'actualisation du fournisseur d'identités dans l'interface utilisateur du service d'authentification.

La compétence doit inclure un état qui utilise le composant OAuth 2.0 Account Link pour le même service d'authentification et celui-ci doit être appelé avant l'état qui utilise ce composant.

Propriété Description
Service d'authentification Nom du service que vous avez créé dans l'interface utilisateur du service d'authentification pour le fournisseur d'identités OAuth2. Ce service doit avoir une URL de révocation du jeton d'actualisation valide.

Ce composant peut retourner 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 de la valeur d'une 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 mappée à 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 nulle.

Appeler le flux

Avec ce composant, vous appelez un flux enfant à partir du flux courant, en transmettant éventuellement des paramètres d'entrée. Lorsque le flux enfant est 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 qui sont définies dans le groupe de pages Flux fin 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 retournés à partir du flux appelé lorsqu'il est terminé. La valeur du paramètre doit être le nom d'une variable du flux courant utilisée pour stocker la valeur du paramètre lorsqu'elle est retournée par le flux appelé.

Appeler une aptitude

Avec ce composant, vous appelez le flux d'une compétence différente, en transmettant éventuellement des paramètres d'entrée. Lorsque le flux appelé est 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 compétence que vous appelez. Voir Appeler une autre compétence à partir d'un flux.

Propriété Description
Nom de l'aptitude Nom de la compétence à appeler. Seules les compétences ayant un ou plusieurs flux publics sont affichées.
Version de la compétence (Cette propriété s'affiche une fois que vous avez sélectionné une valeur pour Skill Name (Nom de la compétence).) Version de la compétence à utiliser. Si la compétence cible se trouve dans le même assistant numérique que la compétence courante, ce champ sera ignoré et la version de la compétence dans l'assistant numérique sera utilisée.
Nom du flux (Cette propriété s'affiche une fois que vous avez sélectionné une valeur pour Skill Name (Nom de la compétence).) Nom du flux à appeler à partir de la compétence. Seules les aptitudes qui ont été marquées comme publiques dans la compétence cible sont affichées.
Paramètres d'entrée (Cette propriété s'affiche une fois que vous avez sélectionné une valeur pour Nom du flux.) Paramètres transmis au flux appelé. Les valeurs peuvent inclure des expressions Freemarker.
Paramètres de sortie (Cette propriété s'affiche une fois que vous avez sélectionné une valeur pour Nom du flux.) Paramètres pouvant être retournés à partir du flux appelé lorsqu'il est terminé. La valeur du paramètre doit être le nom d'une variable du flux courant utilisée pour stocker la valeur du paramètre lorsqu'elle est retournée par le flux appelé.
Utiliser la maquette Réglez à True si vous devez utiliser temporairement des données fictives pour les paramètres de sortie. Cela vous permet de continuer à développer et tester le flux si le flux cible n'est pas encore disponible.
Paramètres de sortie de maquette Si vous devez utiliser temporairement des paramètres de sortie fictifs lors du développement du flux, entrez chaque paramètre sur une ligne distincte dans le formulaire :
ParamName: ParamValue

Fin de flux

Ce composant est utilisé pour terminer explicitement un flux.

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

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

Propriété Description
Action L'action est retournée au flux appelant, qui peut être utilisé pour définir des transitions dans le composant Invoke Flow.
Valeurs d'action Doit être défini lorsque la propriété Action contient une expression Freemarker et doit contenir une liste de valeurs possibles de l'expression Freemarker résolue.
Garder le virage Lorsque la valeur est Vrai, le moteur de dialogue continue d'exécuter l'état suivant dans le flux appelant en fonction des transitions définies dans le groupe de pages Flux appel. Cette propriété est IGNORÉE lorsque :
  • Un flux enfant est en cours d'exécution. Lorsqu'un flux d'enfant se termine, Keep Turn est toujours vrai.
  • un flux racine est en cours d'exécution et aucun message de robot 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 robot envoie un message à l'utilisateur, ce qui pourrait donner à l'utilisateur l'impression que le robot est suspendu.)
Paramètres de sortie Paramètres qui peuvent être retournés à un flux parent lorsque le flux courant est terminé.

Modèles d'intégration de services

Modèle de communication d'agent

Ce modèle comprend les groupes de pages Lancement agent et Conversation agent. Vous utilisez ces composants ensemble pour transférer la conversation d'une compétence vers un agent Oracle B2C Service.

  • Le composant Lancement de l'agent lance l'établissement d'une liaison avec le canal Intégration d'agent spécifié par la propriété Canal Intégration d'agent du composant.
  • Le composant Conversation d'agent gère l'échange entre la compétence et l'agent humain.

Ce modèle est destiné aux conversations provenant de la compétence. Ne l'utilisez pas pour les conversations provenant du clavardage Oracle B2C Service, comme décrit dans la rubrique Vue d'ensemble de l'utilisation d'un assistant numérique comme agent.

Lancement de l'agent

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

Propriété Description
Canal Intégration d'agent Nomme le canal Intégration d'agent. Cette valeur, le nom du canal Intégration d'agent et la propriété Canal 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 pour interrompre le clavardage et placer le flux à l'état défini pour l'action de transition. Dans la console du représentant du service à la clientèle, ces actions sont affichées sous forme de commandes à barre oblique lorsque la conversation de l'agent est lancée, comme illustré dans cet exemple :
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 avec un agent, vous devez entrer manuellement ces actions et les mapper aux états appropriés.
Objet Ligne d'objet qui s'affiche dans la console de l'agent après le transfert vers la plate-forme d'agents. 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 précédemment dans le flux. Par exemple, vous pouvez définir une variable de type string dont la valeur est définie avant le composant de lancement d'agent :

A customer needs help regarding ${flow_variable.value}

Variable de réponse au clavardage Nomme la variable de mappage contenant les informations de réponse de l'agent. Après la connexion du composant de lancement de l'agent, le mappage 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 Mappage qui contient l'ID 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 mappage, utilisez une expression de valeur comme celle-ci : ${mapVariableName.value}. Voir Transmettre des informations sur le client à un clavardage en direct.
ID 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 à laquelle les règles de clavardage Oracle B2C Service achemineront la conversation.

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

Autoriser le transfert si Indique les conditions dans lesquelles la compétence doit transférer la session de clavardage. Le composant utilise l'ID file d'attente pour identifier la file d'attente à partir de laquelle obtenir les statistiques. Vous devez vérifier que les règles de clavardage transfèrent réellement la conversation à la file d'attente identifiée, et non à une autre.
  • Les agents demandent de nouveaux engagements : Il s'agit du jeu de conditions le plus restrictif. La compétence tente de transférer la conversation uniquement si des agents ont demandé de nouveaux engagements (extrait des clavardages) et sont affectés à la file d'attente spécifiée, ou, si le serveur de clavardage pousse automatiquement les clavardages vers les agents, des agents sont disponibles pour les recevoir, qui n'ont pas atteint leur nombre maximal de clavardages et sont affectés à la file d'attente spécifiée. Avec cette option, l'utilisateur n'a pas à attendre trop longtemps avant de parler à l'agent.
  • Des sessions d'agent sont disponibles : La compétence tente de transférer la conversation s'il y a des agents disponibles qui n'ont pas atteint leur nombre maximal de clavardages et sont affectés à la file d'attente spécifiée. L'utilisateur peut devoir attendre si les agents sont engagés dans des conversations prolongées ou s'ils effectuent un suivi après le clavardage.
  • Des agents sont disponibles : La compétence tente de transférer la conversation si des agents en ligne sont affectés à la file d'attente spécifiée, qu'ils aient atteint leur nombre maximal de clavardages ou qu'ils demandent de nouveaux engagements, sont présents en ligne. Avec cette option, les utilisateurs risquent de devoir attendre plus longtemps.

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

Lorsque vous ajoutez cette propriété, vous devez également inclure la propriété ID file d'attente.

Format date/heure du relevé de notes Format de la date et de l'heure dans les messages de transcription de conversation transmis à l'agent. Consultez la classe Java DateTimeFormatter pour obtenir des 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 de l'autorité chargée des numéros affectés à Internet (IANA) du fuseau horaire à utiliser pour formater la transcription de conversation à l'aide de la propriété Format date/heure de la transcription. Si vous ne définissez pas la propriété Format date/heure de relevé de notes, cette propriété est ignorée.
Actions de transition pour lancement d'agent

Le composant Intégration d'agent retourne les actions accepted, rejected et error. Ces actions peuvent pointer chacune vers un état différent, avec l'action accepted qui 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 est terminé et l'état peut passer à l'état avec le composant Agent Conversation (Conversation d'agent).
error Un problème est survenu lors de l'établissement d'une connexion avec Oracle B2C Service. Par exemple, le mot de passe du canal Intégration d'agent n'est plus valide ou il y a un problème avec le serveur Service Cloud.
rejected Oracle B2C Service a rejeté la demande de connexion. Voici quelques-uns des motifs de rejet d'une demande de connexion :
  • Aucun agent n'est disponible (nécessite des propriétés Autoriser le transfert si et ID file d'attente)
  • Elle se produit 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 clavardage

Notez que si vous ne définissez pas les propriétés Autoriser le transfert si et ID 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 d'ensemble de ressources pour le lancement d'agent

Le composant Intégration d'agent utilise les propriétés suivantes, qui sont stockées dans l'ensemble de ressources de la compétence :

Clé d'ensemble 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. La valeur par défaut est :

\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 pour établir une connexion avec Oracle B2C Service. Par exemple, le mot de passe du canal Intégration d'agent n'est plus valide ou il y a un problème avec le serveur Service Cloud. La valeur par défaut est :

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

systemComponent_AgentInitiation_rejectedMessage Message qui s'affiche si l'établissement d'une liaison AgentInitiation a été rejeté, par exemple s'il se produit en dehors des heures d'ouverture configurées. La valeur par défaut est :

Agent rejected.

systemComponent_AgentInitiation_resumedMessage Message qui s'affiche lorsque le clavardage du client avec le représentant du service à la clientèle reprend. La valeur par défaut est :

Resuming chat with agent

systemComponent_AgentInitiation_waitingMessage Message qui s'affiche pendant que les clients attendent d'être connectés à un agent. La valeur par défaut est :

Agent chat session established, Waiting for agent to join.

Voir Modifier une entrée d'ensemble de ressources pour connaître les étapes permettant de modifier le message par défaut d'une entrée d'ensemble de ressources.

Conversation d'agent

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

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

Le groupe de pages Conversation agent 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 entrer l'un des mots clés de sortie (définis dans l'entrée d'ensemble de ressources systemComponent_AgentConversation_exitKeywords) pour quitter le clavardage avant qu'une de ces actions soient déclenchées.

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

Note

Les actions de la propriété Actions d'agent du composant de lancement d'agent ne s'affichent pas dans la liste déroulante des actions lors de leur ajout dans l'onglet Transitions du composant. Vous devez donc les entrer manuellement.

Voici la description des actions de transition intégrées :

Action Description
agentLeft L'agent a interrompu la session sans utiliser d'action à barre oblique (par exemple, /Order). Sinon, la session s'est terminée parce qu'il n'y a pas eu d'activité dans le délai spécifié par la configuration CS_IDLE_TIMEOUT d'Oracle B2C Service et que cette configuration est inférieure au paramètre Session Expiration (expiration de la session) du canal Intégration d'agent. Pour plus d'informations, voir l'action expired.

Notez que cette action n'est pas retournée lorsque l'utilisateur quitte la conversation en entrant un mot clé de sortie. Dans ce cas, les transitions de flux vers l'état qui est nommé par la transition next, ou, s'il n'y a pas de transition next, vers l'état suivant du flux.

error

Problème de connexion au service d'agent humain.

expired

Si la valeur CS_IDLE_TIMEOUT dans Oracle B2C Service est égale ou supérieure au paramètre Session Expiration (Expiration de session) pour le canal Intégration d'agent, cette action est déclenchée lorsque ni l'utilisateur ni l'agent n'envoie de message avant la fin de la session. Si la valeur CS_IDLE_TIMEOUT est inférieure au paramètre Session Expiration (expiration de session) du canal Intégration d'agent et qu'il n'y a aucune activité, Oracle B2C Service met fin au clavardage et l'action agentLeft est déclenchée.

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

L'action expired n'est pas retournée lorsque la conversation se termine, car le délai USER_WAIT_QUEUE_TIMEOUT du service en nuage a été dépassé. Envisagez de régler cette configuration à une valeur élevée, par exemple 7200 secondes (2 heures).

Pour voir ou modifier les paramètres de votre instance Oracle B2C Service, ouvrez la console du bureau, cliquez sur Navigation, sur le premier élément Configuration dans le menu, puis sur Paramètres de configuration. Recherchez ensuite le paramètre dans le dossier Chat.

waitExpired La demande de clavardage a expiré pendant que l'utilisateur était en 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 clavardage.
Entrées d'ensemble de ressources pour la conversation d'agent

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

Clé d'ensemble 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 de l'agent. La valeur par défaut est :

Chat session ended. Thanks for chatting with us.

systemComponent_AgentConversation_errorMessage Message affiché par le clavardage en cas de problème de connexion à Oracle B2C Service. La valeur par défaut est :

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

systemComponent_AgentConversation_exitKeywords Liste délimitée par des virgules de mots de sortie habituellement utilisés par un client pour mettre fin à la conversation avec l'agent humain. La valeur par défaut est :

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 le suivant :

Chat session expired. Thanks for chatting with us.

Notez que conclusionMessage n'est pas affiché si expiryMessage l'est.

De plus, ce message n'est pas sorti lorsque la conversation se termine, car le délai USER_WAIT_QUEUE_TIMEOUT du nuage de services a été dépassé.

systemComponent_AgentConversation_userLeftMessage Message affiché lorsque l'utilisateur a quitté le clavardage. Le message par défaut est le suivant :

User left the chat.

systemComponent_AgentConversation_waitExpiryMessage Message affiché à l'utilisateur lorsque le clavardage expire alors que celui-ci attend un agent. La valeur par défaut est :

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

Voir Modifier une entrée d'ensemble de ressources pour connaître les étapes permettant de modifier le message par défaut d'une entrée d'ensemble de ressources.

Transfert d'agent

Vous utilisez le composant de transfert d'agent dans les assistants numériques as-agent pour faire revenir la conversation dans le service de clavardage. La conversation sera transférée à un agent humain selon les règles de clavardage configurées dans le service correspondant.

Ce composant est destiné aux conversations provenant du clavardage d'un service, comme décrit dans la rubrique Vue d'ensemble de l'utilisation d'un assistant numérique comme agent. Pour les conversations provenant de la compétence, utilisez plutôt le modèle de communication de l'agent.

Propriété Description
Temps maximum d'attente (secondes) Nombre maximum de secondes d'attente estimatives autorisées. Lorsque le service de clavardage reçoit la demande de transfert, il répond en indiquant le délai d'attente estimatif. Si cette valeur dépasse le temps d'attente maximal (secondes), l'action rejected se produit. Cette propriété prend par défaut la valeur -1, ce qui signifie qu'il n'y a pas de délai d'attente maximum. Lorsque cette option est réglée à -1, l'assistant numérique transfère l'utilisateur à un agent humain, peu importe le délai d'attente estimatif.

Notez que l'action rejected est basée sur le délai d'attente estimatif et non sur le délai d'attente réel. Une fois la conversation transférée, l'assistant numérique ne la contrôle plus et n'a plus accès aux informations la concernant. Par conséquent, il est possible que le délai d'attente réel dépasse le délai estimatif.

Nombre maximal d'engagements en file d'attente Nombre maximal autorisé pour les engagements en attente dans la file d'attente de destination. Lorsque la demande de clavardage est envoyée, le service de clavardage répond en indiquant le nombre d'engagements en attente actuellement dans la file. Si cette valeur dépasse le nombre maximal d'engagements dans la file d'attente, l'action rejected se produit. La valeur par défaut -1 signifie qu'il n'y a pas de limite d'engagement. Notez que pour le clavardage B2B, 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 mappage à 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 spécifiée. Pour référencer une variable de mappage, utilisez une expression de valeur comme celle-ci : ${<mapVariableName>.value.<key>}. Par exemple : agentStatus.value.expectedWaitMinutes.

Pour en savoir plus sur les valeurs retournées dans cette variable, voir Condition de transfert d'agent.

Autoriser le transfert si Indique les conditions dans lesquelles la compétence doit transférer la session de clavardage.
  • Les agents demandent de nouveaux engagements : (par défaut) Pour les agents Oracle B2C Service qui doivent extraire des clavardages (demander de nouveaux engagements), il s'agit du jeu de conditions le plus restrictif, et l'utilisateur n'a pas à attendre trop longtemps avant de parler à un agent. La compétence ne tente de transférer la conversation que si des agents ont demandé de nouveaux engagements. Dans tous les autres cas, cette option se comporte comme Les sessions d'agent sont disponibles. N'utilisez pas cette option pour le service Oracle Fusion car le nombre total d'agents demandant de nouveaux engagements pour ce service est toujours égal à 0.
  • Sessions d'agent disponibles : La compétence tente de transférer la conversation si l'un des agents disponibles n'a pas atteint le nombre maximal de clavardages qu'il est autorisé à traiter en même temps. L'utilisateur peut devoir attendre si les agents sont engagés dans des conversations prolongées ou s'ils effectuent un suivi après le clavardage.
  • Des agents sont disponibles : La compétence tente de transférer la conversation si des agents sont en ligne, qu'ils aient atteint leur nombre maximal de clavardages ou qu'ils demandent de nouveaux engagements. Avec cette option, les utilisateurs risquent de devoir attendre plus longtemps.

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

Propriétés personnalisées Mappage qui contient des informations à transmettre au service.
Actions de transition pour le transfert d'agent

Le groupe de pages Transfert agents comporte des actions de transactions intégrées qu'il peut retourner.

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 le clavardage est transféré dans une file d'attente.

Notez qu'après l'acceptation d'une demande de clavardage, le flux doit se terminer par l'état Fin du flux.

rejected La transition rejected est définie lorsqu'une des situations suivantes se produit :
  • Les conditions allowTransferIf n'ont pas été satisfaites.
  • Le délai d'attente estimatif dépasse maxWaitSeconds
  • Le nombre d'engagements dans la file d'attente dépasse maxEngagementsInQueue.
error La transition error est définie lorsqu'une erreur de système empêche le transfert à un agent humain.
Entrées d'ensemble de ressources pour le transfert à un agent

Le composant Agent Transfer utilise également les propriétés suivantes, qui sont stockées dans l'ensemble de ressources de la compétence :

Clé d'ensemble de ressources Description
systemComponent_AgentTransfer_acceptedMessage Message affiché aux utilisateurs lorsqu'un agent humain accepte la demande de clavardage. La valeur par défaut est :

The chat has been transferred to another agent.

systemComponent_AgentTransfer_errorMessage Message présenté à l'utilisateur lorsqu'une erreur de système survient lors du transfert d'une session de clavardage à un agent. La valeur par défaut est :

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'une des situations suivantes se produit :
  • Les conditions Autoriser le transfert si n'étaient pas remplies.
  • Le temps d'attente estimatif dépasse la valeur Temps d'attente maximal (secondes).
  • Le nombre d'engagements dans la file d'attente dépasse la valeur Maximum Engagements In Queue (Nombre maximal d'engagements 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 lors qu'ils sont transférés à une file d'attente. Le message par défaut est le suivant :

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.

Voir Modifier une entrée d'ensemble de ressources pour connaître les étapes permettant de modifier le message par défaut d'une entrée d'ensemble 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 qui indique si les conditions ont été remplies. En outre, il définit les valeurs de la variable de mappage nommée.

Propriété Description
Propriétés personnalisées Mappage qui contient des informations à transmettre au service. Voir Transmettre des informations au service.
Temps maximum d'attente (secondes) Nombre maximum de secondes d'attente estimatives autorisées. Lorsque le service de clavardage reçoit la demande, il répond en indiquant le délai d'attente estimatif. Si cette valeur dépasse le temps d'attente maximal (secondes), l'action conditionsNotMet se produit. Cette propriété prend par défaut la valeur -1, ce qui signifie qu'il n'y a pas de délai d'attente maximum.

Notez que l'action conditionsNotMet est basée sur le délai d'attente estimatif et non sur le délai d'attente réel.

Nombre maximal d'engagements dans la file d'attente Nombre maximal autorisé pour les engagements en attente dans la file d'attente de destination. Lorsque la demande est envoyée, le service de clavardage répond en indiquant le nombre d'engagements en attente actuellement dans la file. Si cette valeur est supérieure à maxEngagementsInQueue, l'action conditionsNotMet se produit. La valeur par défaut -1 signifie qu'il n'y a pas de limite d'engagement.
Transfert d'agent si Spécifie le jeu de base de conditions qui doivent être remplies.
  • Les agents demandent de nouveaux engagements : (par défaut) Pour les agents B2C qui doivent extraire des clavardages (demander de nouveaux engagements), les agents doivent avoir extrait des clavardages. Dans tous les autres cas, cette option se comporte comme Les sessions d'agent sont disponibles.
  • Des sessions d'agent sont disponibles : Requiert que les agents demandent des clavardages.
  • Des agents sont disponibles : Nécessite qu'au moins un agent soit actif, qu'il ait atteint son nombre maximal de clavardages ou qu'il demande de nouveaux engagements.

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 spécifiée. Pour référencer une variable de mappage, utilisez une expression de valeur comme celle-ci : ${<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 d'ensemble 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 transition pour la condition de transfert d'agent

Le groupe de pages Conditions transfert agents comporte des actions de transaction intégrées qu'il peut retourner.

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 est en dehors des heures d'ouverture et que les conditions maxWaitSeconds, maxEngagementsInQueue et allowTransferIf sont remplies.
conditionsNotMet La transition conditionsNotMet est définie lorsqu'une des situations suivantes se produit :
  • C'est en dehors des heures de bureau.
  • Les conditions allowTransferIf n'ont pas été satisfaites.
  • Le délai d'attente estimatif dépasse maxWaitSeconds
  • Le nombre d'engagements 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 clavardage de l'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 d'ensemble de ressources pour la condition de transfert d'agent

Le composant de transfert d'agent utilise également la propriété suivante stockée dans l'ensemble de ressources de la compétence :

Clé d'ensemble de ressources Description
systemComponent_AgentTransferCondition_errorMessage Message présenté à l'utilisateur lorsqu'une erreur de système survient lors du transfert d'une session de clavardage à un agent. La valeur par défaut est :

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.

Voir Modifier une entrée d'ensemble de ressources pour connaître les étapes permettant de modifier le message par défaut d'une entrée d'ensemble de ressources.

Appeler le service REST

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

Voici les propriétés du composant :

Propriété Description
Service REST Nom du service REST des paramètres d'API qui définit la configuration du point d'extrémité. Voir Ajouter un service REST pour un point d'extrémité.
Type d'authentification Type d'authentification défini pour le service REST. Vous ne pouvez modifier cette valeur qu'à partir de l'onglet Services REST.
Point d'extrémité URI défini pour le service REST. Vous ne pouvez modifier cette valeur qu'à partir de l'onglet Services REST.
Méthode Sélectionnez la méthode configurée à utiliser pour cet appel REST.
Corps de 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 activer l'option Expression 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 qui se trouvent dans le point d'extrémité, 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 d'interrogation que vous voulez transmettre dans la demande REST, ajoutez un paramètre de type Interrogation, définissez la clé pour qu'elle corresponde au paramètre d'interrogation et définissez la valeur souhaitée. Notez que si un paramètre d'interrogation 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 d'interrogation que vous ne voulez pas utiliser dans cet appel, vous pouvez effacer ce paramètre en réglant sa valeur à ${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 réelle de l'API REST : Retourne la réponse réelle du service REST.

  • Toujours utiliser une réponse REST statique : Retourne 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 réussit, la réponse REST est retournée. Sinon, la réponse statique configurée dans l'onglet Services REST est retournée.

Notez que 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 mappage pour le stockage des données de réponse. Le mappage 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.

Note

La taille des données utiles de réponse pouvant être stockées dans la variable de résultat est limitée à 15 Ko par défaut. Si vous avez besoin d'une limite supérieure, soumettez une demande de service à Oracle Support.

Le groupe de pages affiche les actions suivantes :

Action Description
succès Le code de statut de la réponse se trouve dans l'intervalle 100-399.
échec Code de statut de réponse en dehors de l'intervalle 100-399.

Pour en savoir plus, voir Accéder aux serveurs dorsaux à l'aide du composant de service REST.

Recherche de connaissances

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

Pour Oracle B2C Service, les résultats de recherche dépendent du fait que les réponses sont publiques et des paramètres de niveau d'accès, de produit ou de catégorie.

Notez que vous devez créer un service de recherche de connaissances avant de pouvoir utiliser ce composant. Voir Ajouter un service de recherche de connaissances.

Voici les propriétés du composant Knowledge Search :

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

Pour les techniques de terme de recherche, voir Utiliser le composant de recherche de connaissances.

Texte à afficher avant les résultats Texte à produire lorsque le résultat de la recherche est affiché.

Si cette propriété est Activée, la valeur KnowledgeSearch - searchPrelude de l'ensemble 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.

La valeur par défaut est 10.

Version préférée des résultats Oracle B2C Service seulement : Version privilégiée à retourner lorsqu'il y a plusieurs versions pour un résultat. Vous pouvez régler cette propriété à Answer ou à Special Response.

La version par défaut est Answer.

Afficher uniquement la version préférée

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

Lorsque False, il inclut d'abord toutes les réponses correspondantes disponibles avec la version définie dans la propriété. Si leur nombre est inférieur à la limite, les réponses de la version non privilégiée sont ensuite incluses jusqu'à ce que la limite soit atteinte.

La valeur par défaut est False.

Étiquette de lien d'article Web Étiquette à utiliser pour l'URL de la carte de résultats (bouton) qui renvoie à la version Web des informations.

Si vous réglez cette propriété à Désactivé, le bouton de lien de l'article Web n'est pas affiché et le texte intégral est affiché à 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 de l'ensemble de ressources de configuration est utilisée.

Étiquette de lien de page de recherche Web

Oracle B2C Service : Étiquette à utiliser pour l'action de données utiles de message de carte qui est liée à la page Web avec la liste complète des résultats de recherche.

Service Oracle Fusion : Étiquette à utiliser pour l'action de données utiles de message de carte liée à la page d'accueil de recherche.

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

Disposition de carte Indique si les cartes de résultats doivent être affichées verticalement ou horizontalement. La valeur par défaut est horizontal.
Rechercher à l'aide des paramètres régionaux La valeur par défaut est la valeur de la variable profile.locale.

Pour les services d'intégration des connaissances à interfaces multiples d'Oracle B2C Service, code des paramètres régionaux ISO ou BCP à cinq caractères qui spécifie l'interface à utiliser pour effectuer la recherche (par exemple, en_GB). S'il n'y a pas d'interface prenant en charge les paramètres régionaux, l'interface par défaut est utilisée. Voir Mettre en oeuvre la recherche de connaissances multilingues.

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

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 seulement : Mappage des paires clé-valeur à envoyer au service de recherche. Actuellement, cette propriété prend uniquement en charge la clé word_connector. Vous utilisez la propriété word_connector réglée à AND pour ajouter au début de chaque mot du terme de recherche +.
Actions de transition pour la recherche de connaissances

Le groupe de pages Recherche connaissances comporte des actions de transaction intégrées qu'il peut retourner.

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 retourné au moins un résultat.
noResult Aucun résultat n'a été trouvé pour le terme de recherche.
serverError Une erreur est survenue sur le serveur du service de recherche de connaissances lors de l'appel, par exemple une erreur de serveur ou une erreur inattendue.

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

Entrées d'ensemble de ressources pour la recherche de connaissances

Le composant Knowledge Search (Recherche de connaissances) utilise également les propriétés suivantes, qui sont stockées dans l'ensemble de ressources de la compétence :

Clé d'ensemble de ressources Description
systemComponent_KnowledgeSearch_defaultAttachmentLabel Étiquette par défaut à utiliser pour l'action URL de la carte de résultats qui est liée à un fichier joint du résultat de recherche si aucun nom d'affichage n'est déjà configuré pour ce fichier. Lorsqu'elle est utilisée, un numéro d'index lui est ajouté. Par exemple, si le deuxième fichier joint n'a pas de nom d'affichage, 2 est ajouté à l'étiquette par défaut.

La valeur par défaut est Download.

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

La valeur par défaut est :

Sorry, no result was found in the knowledge search.

systemComponent_KnowledgeSearch_resultLinkLabel Étiquette à utiliser pour l'URL de la carte de résultats liée à la version Web de l'article de connaissances.

La valeur par défaut est View Results.

Voir Modifier une entrée d'ensemble de ressources pour connaître les étapes permettant de modifier le message par défaut d'une entrée d'ensemble de ressources.

Création d'incident

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

Propriété Description
Nom du service de l'incident Nom de l'intégration tel que configuré dans Paramètres > Services supplémentaires > Intégration du service à la clientèle.
Objet de l'incident Texte de l'objet de l'incident.
URL du fichier joint URL d'un document ou d'une image associé à l'incident. Notez que l'ajout de fichiers joints n'est pas pris en charge pour les compétences d'assistant numérique utilisé comme agent.
Filtre de rapport d'agent (Pour les incidents Oracle Fusion Service), texte permettant de filtrer les incidents.
Ajouter la transcription du clavardage à l'incident (Pour les incidents de service Oracle Fusion.) Lorsque cette option est réglée à Vrai, la transcription du clavardage est ajoutée à l'incident.

Les données clés doivent être activées pour que la compétence fonctionne.

Une transcription ne peut être ajoutée à l'incident que lors de l'utilisation d'une intégration d'assistant numérique utilisé comme agent en combinaison avec le clavardage Web pour le service ou les incrustations Oracle Inlay Toolkit.

Champs personnalisés Contient la paire clé-valeur de la description et, facultativement, la paire clé-valeur de la contactInfo, qui peut contenir un mappage de détails supplémentaires sur l'incident.

Les paires clé/valeur sont transmises non 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 des informations sur le contact du service à la clientèle. Il doit contenir un courriel et peut éventuellement contenir firstName et lastName.

Si le courriel n'est pas fourni, vous devez fournir à 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 entrevue Oracle Intelligent Advisor à partir d'une compétence.

Vous devez créer une intégration de service Intelligent Advisor avant de pouvoir utiliser ce composant. Voir Ajouter un service Intelligent Advisor. En outre, l'entrevue doit avoir été déployée sur le centre de gestion Intelligent Advisor et activée sur le canal de service de clavardage. L'entrevue doit être destinée aux utilisateurs anonymes. Vous ne pouvez pas accéder aux entrevues pour les utilisateurs du portail ou les utilisateurs d'agent.

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

  • L'affichage ou non des titres et de l'explication
  • Les étiquettes des boutons oui, non et incertain
  • Les chaînes que l'utilisateur entre pour réinitialiser, revenir à la question précédente (annuler) et quitter l'entrevue
  • Le texte à afficher à la fin de l'entrevue
  • La formulation de la question relative à l'affichage ou non de l'explication
  • La chaîne que l'utilisateur entre pour indiquer qu'il a terminé le chargement des fichiers
  • Les valeurs d'attribut et les paramètres de connecteur à transmettre à l'entrevue
  • Paramètres régionaux du projet à utiliser
Propriétés de Intelligent Advisor

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

Propriété Description
Nom du service Intelligent Advisor Nom du service Intelligent Advisor tel que configuré dans Paramètres > Services supplémentaires.
Nom du projet de déploiement Nom du projet de déploiement actif sur le centre de gestion Intelligent Advisor.
Variable pour les résultats d'entrevue Nom d'une variable de liste dans laquelle stocker les valeurs d'attribut de l'entrevue lors du retour de l'entrevue à la compétence. Les valeurs d'attribut sont stockées sous la forme d'un tableau de paires clé-valeur.
Masquer tous les titres d'écran Indique s'il faut masquer tous les titres d'écran de l'entrevue.
Afficher l'explication Indique si l'explication Intelligent Advisor doit être affichée. Les valeurs permises sont never, always et ask.

Si vous définissez la valeur ask, utilisez l'entrée d'ensemble de ressources systemComponent_IntelligentAdvisor_explanationAskLabel pour spécifier le texte demandant à l'utilisateur s'il veut voir l'explication.

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

Données de départ Mappage des noms et des valeurs des attributs Intelligent Advisor à transmettre à l'entrevue. Pour les attributs de date et d'heure, utilisez les formats standard de date et d'heure Intelligent Advisor. Par exemple : start_date : "2010-01-31".

L'option Seed from URL parameter (Données de départ du paramètre d'URL) dans la modélisation de politique doit être activée pour l'attribut auquel vous transmettez la valeur. Voir Transmettre les valeurs d'attribut et les paramètres de connexion pour plus de détails sur l'utilisation de la modélisation de politique.

Paramètres de connexion Mappage des paramètres de connexion clé-valeur à transmettre au début de l'entrevue. Cela est généralement nécessaire pour les entrevues avec l'intégration de données externes.
Étiquette de texte de fin d'entrevue Étiquette affichée dans le clavardage à la fin de l'entrevue. Si cette option est réglée à Désactivé, aucun message ne sera affiché dans le clavardage à la fin de l'entrevue. La valeur par défaut est On (Activé), ce qui signifie que la valeur systemComponent_IntelligentAdvisor_endLabel dans l'ensemble de ressources de configuration est affichée à la fin de l'entrevue.
Supprimer les balises HTML de la sortie Indique s'il faut supprimer le balisage HTML du texte. La valeur par défaut est false.
Localité de l'entrevue Code de paramètres régionaux ISO ou BCP à cinq caractères (par exemple, en_GB) utilisé pour spécifier la langue de début de l'entrevue.

Cette propriété affecte à la fois l'entrevue cible et la date et la résolution des numéros.

Le composant lance la version de l'entrevue nommée (déploiement) associée à la langue spécifiée par la propriété locale du composant. S'il n'y a pas de déploiement de concentrateur pour les paramètres régionaux spécifiés, le composant utilise les paramètres régionaux par défaut associés 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 End User Locale (Considérer les paramètres régionaux de l'utilisateur final) est activée pour l'entité, la valeur est résolue pour les paramètres régionaux spécifiés par cette propriété (ou la valeur par défaut si elle n'est pas spécifiée). Voir Résolution d'entité basée sur des paramètres régionaux.

La valeur par défaut de cette propriété est profile.locale. Si profile.locale n'a pas de valeur, il utilise les paramètres régionaux du canal.

Devise prévue de l'entrevue Code de devise ISO-4217 pour la devise utilisée dans l'entrevue. Lorsque ce code est spécifié, l'utilisateur ne peut entrer des valeurs de devise que dans les formats autorisés pour cette devise. Vous pouvez régler cette propriété à vide ou nulle si l'entrevue n'invite pas de montants de devise ou ne s'attend pas à une certaine devise.
Entrées d'ensemble de ressources pour Intelligent Advisor

Le composant Intelligent Advisor utilise également les propriétés suivantes, qui sont stockées dans l'ensemble de ressources de la compétence :

Clé d'ensemble de ressources Description
systemComponent_IntelligentAdvisor_answerNotValid Message affiché pour les entrées d'entrevue 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'entrevue Intelligent Advisor comporte une valeur par défaut.
systemComponent_IntelligentAdvisor_doneHelp Message d'aide affiché pour les entrées d'entrevue Intelligent Advisor de type Charger.
systemComponent_IntelligentAdvisor_doneLabel Texte que les utilisateurs tapent pour indiquer qu'ils ont terminé le chargement d'un fichier.

La valeur par défaut est /done.

systemComponent_IntelligentAdvisor_endLabel Texte à afficher dans le clavardage à la fin de l'entrevue.

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

systemComponent_IntelligentAdvisor_exitLabel Texte que les utilisateurs tapent pour indiquer qu'ils veulent quitter l'entrevue.

La valeur par défaut est /exit.

systemComponent_IntelligentAdvisor_explanationAskLabel Question à poser quand la propriété showExplication est réglée à 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 des entrées d'entrevue Intelligent Advisor de type Zone de texte masquée.

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

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

La valeur par défaut est Non.

systemComponent_IntelligentAdvisor_numberMinMax Message affiché lorsque l'utilisateur entre une valeur en dehors de l'intervalle spécifié pour une entrée d'entrevue 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'entrevue Intelligent Advisor précédent.

La valeur par défaut est :

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 tapent pour indiquer qu'ils veulent revenir à la première question.

La valeur par défaut est /reset.

systemComponent_IntelligentAdvisor_resumeSessionPrompt Question à laquelle on demande si l'utilisateur commence une entrevue qu'il avait précédemment laissée avant la fin de l'entrevue.

La valeur par défaut est :

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

systemComponent_IntelligentAdvisor_uncertainLabel Étiquette que l'utilisateur peut taper s'il ne connaît pas la valeur. Cette étiquette s'affiche pour les boutons radio booléens facultatifs.

La valeur par défaut est Uncertain.

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

La valeur par défaut est /back.

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

La valeur par défaut est Oui.

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

La valeur par défaut est :

Enter either {0} or {1}

Voir Modifier une entrée d'ensemble de ressources pour connaître les étapes permettant de modifier le message par défaut d'une entrée d'ensemble de ressources.

Composant de vue Web

Le composant Webview (Vue Web) ouvre une vue Web dans votre compétence, ou pour celles exécutées sur un canal Web, dans un onglet du navigateur.

Propriété Description
Service de composants Webview Nom du service de composants Webview.
Entrées pour le service Liste de noms de variable séparés par des virgules. Ces noms de variable sont des paramètres envoyés à la vue Web à partir de la compétence.
Sortie pour le service Nom de la variable (valeur de chaîne) qui identifie les données utiles de la vue Web retournées au robot une fois que l'utilisateur a terminé ses interactions dans la vue Web.

Puisque les données utiles sont stockées dans cette variable, vous pouvez y accéder ultérieurement dans votre définition de flux de dialogue. Par exemple, vous pouvez les référencer dans un composant de sortie.

URL du service de composant URL de base à laquelle les noms de variable définis pour la propriété Entrées dans le service sont envoyés en tant que paramètres. Il s'agit d'un point d'extrémité de base fourni par un serveur Web. Cette propriété n'est pas prise en charge dans la version courante (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 d'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é Component Service URL (URL du service de composant). Cette propriété se présente sous la forme Basic <token> ou Bearer <token>.
Paramètres d'interrogation pour le service Objet JSON sous forme de chaîne dont les paires clé-valeur sont les paramètres d'interrogation ajoutés à la demande POST.
Actions de transition pour le composant de vue Web

Le composant Webview comporte 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 touche le bouton Annuler.
system.textReceived Déclenché lorsque l'utilisateur entre du texte plutôt que de toucher l'un des boutons.
unexpectedAction Déclenché lorsque l'utilisateur touche un bouton d'une réponse précédente.
Entrées d'ensemble de ressources pour le composant Webview

Le composant Webview utilise également les propriétés suivantes, qui sont stockées dans l'ensemble de ressources de la compétence :

Clé d'ensemble de ressources Description
systemComponent_Webview_cancelLabel Étiquette du bouton d'annulation pour quitter cet état sans appeler la vue Web.

La valeur par défaut est Cancel.

systemComponent_Webview_linkLabel Étiquette du bouton pour appeler la vue Web.

La valeur par défaut est Tap to continue.

systemComponent_Webview_prompt Message permettant à l'utilisateur d'appuyer sur le lien pour appeler la vue Web.

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

Voir Modifier une entrée d'ensemble de ressources pour connaître les étapes permettant de modifier le message par défaut d'une entrée d'ensemble de ressources.

Aviser l'utilisateur

Vous utilisez ce composant pour envoyer un avis à un utilisateur lorsqu'un événement en nuage d'un type qui a été enregistré dans Oracle Digital Assistant s'est produit. Voir Événements externes pour plus d'informations sur l'enregistrement des types d'événement et la configuration d'un assistant numérique pour qu'il consomme l'événement.

Propriété Description
ID utilisateur (Facultatif) Si vous voulez déterminer dynamiquement l'utilisateur à aviser de l'événement lorsqu'il est reçu, entrez le code d'utilisateur unifié qui est retourné 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 des données utilisateur, telles que le canal, et l'ID du canal pour l'utilisateur afin qu'il puisse en aviser 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.
Avis Message retourné à 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 du contexte d'événement :
    ${skill.system.event.value.application.context.<propertyName>}

Événement de publication

Vous utilisez ce composant pour publier à l'externe un événement en nuage d'un type qui a été enregistré dans Oracle Digital Assistant. Voir Événements externes pour plus d'informations sur l'enregistrement des types d'événement et la configuration d'un assistant numérique pour la publication et la consommation d'événements.

Propriété Description
Name (Nom) Nom du type d'événement à publier
Données Données utiles de l'événement au format JSON.

Voici un exemple de données utiles qui peuvent être utilisées 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 principaux changements :

  • Les composants ConditionExists et ConditionEquals ne sont pas pris en charge. Vous pouvez utiliser le composant Changer à la place.
  • Les composants Text, List et Output ne sont pas pris en charge. À la place, vous pouvez utiliser les modèles Envoyer un message, Demander une question et Résoudre l'ensemble 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 d'entité de résolution et de réponse commune tenteront toujours d'insérer des entités à partir de la variable system.nlpresult.

    Ainsi, 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 compétence à l'aide du paramètre de configuration Enable Auto Numbering on Postback Actions in Task Flows (Activer la numérotation automatique pour les actions de republication dans les flux de tâches) de la compétence (ou au niveau de l'assistant numérique à l'aide du paramètre Enable Auto Numbering on Postback Actions (Activer la numérotation automatique pour les actions de republication) 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 Translate User Input Message (Traduire un message d'entrée utilisateur) et Translate Bot Response Message (Traduire un message de réponse du robot), qui sont définies au niveau de la compétence.
  • La propriété de composant transitionAfterMatch pour les composants Réponse commune et Entité de résolution n'est plus prise en charge. Pour obtenir cette fonctionnalité, vous pouvez utiliser un programme de traitement d'événements d'entité.
  • La valeur de la propriété useFullEntityMatches pour les composants de réponse commune et d'entité de résolution est désormais réglée par défaut à true.

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

  • La valeur de la propriété cancelPolicy pour les composants de réponse commune et d'entité de résolution est désormais réglée par défaut à immediate (au lieu de lastEntity).

    Cela signifie que la transition d'annulation a lieu une fois que la valeur définie pour le Nombre maximal de tentatives d'entrée utilisateur a été atteinte. Si cette valeur n'a pas été définie, le composant déclenche cette transition lorsque sa valeur maxPrompts est atteinte.

  • Les propriétés de composant de données clés insightsInclude et insightsEndConversation ne sont pas prises en charge. Les flux modulaires définissent déjà la conversation, de sorte que insightsEndConversation n'est pas nécessaire. Une conversation se termine lorsque le dernier état d'un flux de niveau supérieur est atteint.

Traitement des messages pour les composants de message d'utilisateur

En général, un utilisateur peut répondre à un message de l'une des façons suivantes :

  • En entrant du texte libre.

  • En envoyant son emplacement.

  • En utilisant une option multimédia pour envoyer une image, un fichier audio, une vidéo ou un fichier joint.

  • En touchant un des boutons de republication affichés dans le message le plus récent du robot.

  • En retournant dans un message précédent de la conversation et en touchant un de ses boutons.

Traitement du texte libre

Lorsqu'un utilisateur entre du texte libre, les composants de réponse commune valident d'abord cette entrée comme 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 dialogue passe à l'état défini par la transition next ou l'événement d'entrée utilisateur inattendue.

Conseil :

Utilisez textReceived pour traiter les messages inattendus de l'utilisateur alors que vous aviez prévu qu'il touche un bouton, envoie un fichier joint ou un emplacement.

Traitement 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 du fichier joint en tant qu'objet JSON dans la propriété de variable spécifiée pour lui. Cet objet présente la structure suivante :
{
  "type": "video",
  "url": "https://www.youtube.com/watch?v=CMNry4PE93Y"
}
Par exemple, si un fichier vidéo joint est stocké dans une variable nommée myVideo, vous pouvez accéder à la vidéo à l'aide de l'expression FreeMarker, ${myVideo.value.url}.

Traitement des messages sur l'emplacement

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

Actions de publication

Les actions dans le message de réponse, telles que les boutons, les liens et les éléments de liste, sont mises en oeuvre en tant qu'actions de republication. Par exemple, lorsqu'un utilisateur touche un bouton, sa republication est affichée. Ses données utiles constituent un objet JSON qui contient le nom de l'état, les valeurs définies pour les variables de flux de dialogue et les actions de transition. Par exemple, les données utiles suivantes sont rendues lorsqu'un utilisateur touche le bouton Order Now (Commander maintenant) pour une pizza pepperoni :
{
	"action": "order",
	"state": "OrderPizza",
	"variables": {
		"orderedPizza": "PEPPERONI",
		"orderPizzaImage": "http://pizzasteven/pepperoni.png"
	}

Détection des actions dans le désordre

La propriété system.state des données utiles, qui identifie l'état pour lequel la republication a été rendue, permet au système d'identifier quand un utilisateur exécute une action qui se produit hors de la portée courante, telle que le toucher un bouton à partir 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 toucher le bouton Order Now (Commander maintenant) pour une pizza pepperoni, mais au lieu de terminer la commande, il peut remonter jusqu'à un message précédent et cliquer sur Order Now pour un plat de pâtes.

À ce stade, le système compare la propriété system.state dans les données utiles de l'action de republication entrante à l'état courant. Si les deux ne correspondent plus, la compétence exécute une transition qui peut, selon la configuration du flux de dialogue, honorer la demande de l'utilisateur ou la refuser.

Par défaut, Digital Assistant permet des actions dans le désordre. Cela signifie que les valeurs de variable sont réinitialisées. À 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 l'ensemble de la compétence ou pour un état particulier du flux de dialogue.
  • skill.system.event.value.outOfOrderMessage.outOfOrderState-Contient la valeur de la propriété state dans les données utiles de postback entrantes, le message "dans le désordre".

  • skill.system.event.value.outOfOrderMessage.currentState-Contient la valeur de l'état courant.
    Note

    Seuls les composants qui définissent la propriété d'état dans les données utiles de republication peuvent activer la compétence afin qu'elle réagisse lorsque l'utilisateur remonte dans le flux. Le composant OAuthAccountLink ne définit pas cette propriété.

Remplacer le traitement des messages dans le désordre par un état de traitement des messages

Vous pouvez modifier le comportement par défaut du traitement des messages dans l'ordre en mappant l'événement de transition du système Message dans l'ordre à un composant Invoke Flow qui appelle un flux que vous avez fourni pour le traitement des messages dans l'ordre.