Événements et transitions

Dans les flux de dialogue développés avec Visual Flow Designer, les événements sont utilisés pour acheminer une conversation vers des flux ou des états au sein de flux.

Au niveau de la compétence, les événements sont répartis selon les types suivants :

  • Intention. Ces événements correspondent aux intentions de la compétence. Un tel événement se produit lorsque l'entrée utilisateur se résout en une intention donnée.
  • intégrée. Il s'agit d'événements standard pour les cas d'utilisation courants tels que l'intention non résolue, l'intention de réponse et l'erreur de dialogue.
  • Action de fin de flux. Il s'agit d'événements que vous définissez vous-même et qui peuvent être déclenchés par des actions dans les états de flux de fin (les deux états qui utilisent le composant de flux de fin et les états qui terminent implicitement le flux).

Au niveau du flux, les événements sont répartis selon les types suivants :

  • Transitions de système. Il s'agit d'événements intégrés pour des cas d'utilisation courants tels que l'entrée utilisateur non résolue, l'autorisation requise et les erreurs.
  • Transitions personnalisées. Il s'agit d'événements que vous pouvez définir vous-même et qui sont généralement associés à des actions de transition de composant. Lorsque le flux atteint une telle transition, l'événement correspondant est déclenché et l'état mappé à l'événement est appelé.

Événements intégrés pour le flux principal

Événement Lorsqu'elle est déclenchée Comment utiliser
Démarrer l'aptitude Lorsqu'une compétence commence pour la première fois. Mappez-les à un flux personnalisé pour effectuer des opérations telles que l'initialisation des systèmes dorsaux ou l'affichage d'un menu d'aide.
Erreur de dialogue Lorsqu'une erreur est générée par un composant au cours d'une conversation. Cet événement peut également être déclenché lorsqu'il y a une erreur dans un autre flux et que la transition système Erreur de dialogue de ce flux n'est pas mappée. Mapper à un flux de traitement des erreurs personnalisé. Si cet événement est déclenché mais qu'il n'y a pas de mappage, le flux courant est interrompu et la compétence retourne le message d'erreur par défaut ("Oops! I’m encountering a spot of trouble)".
Intention de la réponse Lorsqu'une intention de réponse est résolue. Mappage avec un flux personnalisé dédié aux intentions de réponse.
Intention non résolue Lorsque l'intention de l'utilisateur n'est pas résolue. Mappez-les à un flux d'aide personnalisé.
Aide sur l'assistant numérique Lorsque l'utilisateur exprime une demande d'aide. Cela ne s'applique que lorsque l'utilisateur a accédé à la compétence au moyen d'un assistant numérique et que la compétence se trouve dans le contexte courant de l'assistant numérique. Mappez-les à un flux d'aide personnalisé.
Bienvenue dans l'assistant numérique Lorsque l'utilisateur lance un contact avec l'assistant numérique. Cela ne s'applique que lorsque l'utilisateur a utilisé un appel explicite pour accéder à la compétence au moyen d'un assistant numérique, mais n'a pas exprimé d'intention. Mappez à un flux d'accueil ou d'aide personnalisé.
Note

En spécifiant des flux pour les événements Aide de Digital Assistant et Bienvenue dans Digital Assistant, vous n'écrasez pas complètement le comportement de l'aide de l'assistant numérique et des intentions de système unresolvedIntent. Si vous souhaitez modifier universellement ce comportement, vous le faites dans les paramètres de l'assistant numérique. Voir Spécifier les États pour les intentions système d'un assistant numérique.

Transitions de système pour les flux

Pour chaque flux, vous pouvez tirer parti des transitions système pour définir où vous gérez des événements tels que des erreurs de dialogue et des messages dans l'ordre.

Pour définir l'état utilisé pour gérer un événement donné :

  1. Dans l'onglet Configuration du flux, faites défiler l'affichage vers le bas et développez la section Mappages d'événements.

    Vous verrez la sous-section Transitions du système.

  2. Pour l'événement à mapper, sélectionnez l'état auquel vous voulez le mapper.

    Il s'agit généralement d'un composant Invoke Flow qui pointe vers le flux de l'utilitaire pour gérer l'événement. Voir Appeler un flux à partir d'un autre flux.

Voici les événements que vous pouvez mapper en tant que transitions système dans un flux.

Événement Lorsqu'elle est déclenchée Comment utiliser
Autoriser l'utilisateur Lorsqu'un état est atteint où son état Exige une autorisation est résolu à true. Mappez à un composant Invoke Flow qui appelle un flux d'autorisation.
Erreur de dialogue Une erreur inattendue s'est produite dans la conversation.

Mappez à un composant Invoke Flow qui appelle un flux pour le traitement des erreurs.

Si cet événement n'est pas mappé et qu'une erreur se produit dans le flux, le flux de traitement des erreurs qui est mappé à l'erreur de dialogue événement intégré pour le flux principal est appelé. Lorsque l'erreur de dialogue n'est mappée ni pour le flux ni pour le flux principal, la compétence retourne le message d'erreur par défaut (Oops! I’m encountering a spot of trouble) lorsqu'une erreur se produit.

Message dans le désordre L'utilisateur sélectionne une option à partir d'un message précédent dans la conversation au lieu du message courant. Mappez à un composant Invoke Flow qui appelle un flux que vous avez fourni pour le traitement des messages dans le désordre.
Entrée d'utilisateur inattendue L'utilisateur fournit une entrée textuelle au lieu de sélectionner l'une des options fournies dans le message. Mappez avec un composant Invoke Flow qui appelle un flux que vous avez fourni pour gérer une entrée inattendue.

Écoute et déclenchement d'événements

Lorsque vous avez des flux imbriqués (flux avec sous-flux) :

  • Le flux courant écoute et déclenche les événements d'action de flux intégrés et de fin.
  • Le flux d'appel écoute uniquement les événements d'action de flux de fin qui sont déclenchés par le flux courant. Ensuite, lorsque le sous-flux qui a déclenché un événement d'action de flux de fin est terminé, le flux parent agit sur l'événement déclenché.

    L'exemple principal est lorsque la propriété Action d'un sous-flux spécifie un événement d'action de flux de fin.