Eventos y Transiciones

En los flujos de diálogo desarrollados con el diseñador de flujos visuales, los eventos se utilizan para enrutar una conversación a flujos o estados dentro de flujos.

En el nivel de aptitud, los eventos se dividen en los siguientes tipos:

  • Intención. Estos eventos corresponden a las intenciones de la aptitud. Este evento se produce cuando la entrada del usuario se resuelve en una intención determinada.
  • Incorporado. Se trata de eventos estándar para casos de uso habituales, como intención no resuelta, intención de respuesta y error de cuadro de diálogo.
  • Finalizar acción de flujo. Estos son eventos que se definen a sí mismo y que pueden ser disparados por acciones en estados de flujo final (ambos estados que utilizan el componente de flujo final y estados que finalizan implícitamente el flujo).

En el nivel de flujo, los eventos se dividen en los siguientes tipos:

  • Transiciones del sistema. Se trata de eventos incorporados para casos de uso típicos, como entradas de usuario sin resolver, autorización necesaria y errores.
  • Transiciones personalizadas. Se trata de eventos que se pueden especificar y que normalmente se asignan a las acciones de transición de componentes. Cuando el flujo alcanza dicha transición, se dispara el evento correspondiente y se llama al estado asignado al evento.

Eventos incorporados para el flujo principal

Evento Cuando se dispara Cómo usar
Iniciar aptitud Cuando una aptitud comienza por primera vez. Asigne un flujo personalizado para realizar tareas como inicializar sistemas backend o mostrar un menú de ayuda.
Error de diálogo Cuando un componente devuelve un error durante una conversación. Este evento también se puede disparar cuando hay un error en otro flujo y la transición del sistema de errores de diálogo de ese flujo no está asignada. Asignar a un flujo de manejo de errores personalizado. Si este evento arranca pero no hay ninguna asignación, se termina el flujo actual y la aptitud muestra el mensaje de error por defecto ("Oops! I’m encountering a spot of trouble)".
Intención de respuesta Cuando se resuelve una intención de respuesta. Asigne un flujo personalizado dedicado a las intenciones de respuesta.
Intención no resuelta Cuando la intención del usuario no está resuelta. Asigne un flujo de ayuda personalizado.
Ayuda de Digital Assistant Cuando el usuario expresa una solicitud de ayuda. Esto solo se aplica cuando el usuario ha accedido a la aptitud a través de un asistente digital y la aptitud está en el contexto actual del asistente digital. Asigne un flujo de ayuda personalizado.
Bienvenido a Digital Assistant Cuando el usuario inicia el contacto con el asistente digital. Esto solo se aplica cuando el usuario ha utilizado una llamada explícita para acceder a la aptitud a través de un asistente digital, pero no ha expresado una intención. Mapa a una bienvenida personalizada o flujo de ayuda.
Nota

Al especificar flujos para los eventos de ayuda y bienvenida de Digital Assistant, no sobrescribe completamente el comportamiento de la ayuda del asistente digital y las intenciones del sistema unresolvedIntent. Si desea cambiar universalmente ese comportamiento, lo hace en la configuración del asistente digital. Consulte Especificación de estados para intenciones del sistema de un asistente digital.

Transiciones del sistema para flujos

Para cada flujo, puede aprovechar las transiciones del sistema para definir dónde gestiona los eventos, como los errores de diálogo y los mensajes fuera de orden.

Para definir el estado que se utiliza para manejar un evento determinado:

  1. En el separador Configuración del flujo, desplácese hacia abajo y amplíe la sección Asignaciones de eventos.

    Verá la subsección Transiciones del sistema.

  2. Para el evento que desea asignar, seleccione el estado al que desea asignarlo.

    Normalmente, este estado sería un componente Invoke Flow que apunta al flujo de utilidad para gestionar el evento. Consulte Llamada a un flujo desde otro flujo.

Estos son los eventos que puede asignar como transiciones del sistema en un flujo.

Evento Cuando se dispara Cómo usar
Autorizar Usuario Cuando se alcanza un estado donde el estado Requiere autorización se resuelve en true. Asignar a un componente Llamar a Flujo que llama a un flujo de autorización.
Error de diálogo Se produce un error inesperado en la conversación.

Asignar a un componente Llamar a Flujo que llama a un flujo para el manejo de errores.

Si este evento no está asignado y se produce un error en el flujo, se invoca el flujo de manejo de errores que está asignado al evento incorporado para el flujo principal de error de diálogo. Cuando el error de diálogo no se asigna ni para el flujo ni para el flujo principal, la aptitud muestra el mensaje de error por defecto (Oops! I’m encountering a spot of trouble) cuando se produce un error.

Mensaje fuera de orden El usuario selecciona una opción de un mensaje anterior en la conversación en lugar del mensaje actual. Asigne un componente Invoke Flow que llame a un flujo que haya proporcionado para el manejo de mensajes fuera de orden.
Entrada de usuario inesperada El usuario proporciona una entrada de texto en lugar de seleccionar una de las opciones proporcionadas en el mensaje. Asigne un componente Llamar a Flujo que llame a un flujo que haya proporcionado para gestionar entradas inesperadas.

Activación y escucha de eventos

Cuando tiene flujos anidados (flujos con subflujos):

  • El flujo actual escucha y dispara eventos de acción de flujo incorporados y finales.
  • El flujo de llamadas solo recibe los eventos de acción de flujo final disparados por el flujo actual. A continuación, cuando el subflujo que ha disparado un evento de acción de flujo final ha finalizado, el flujo principal actúa sobre el evento disparado.

    El ejemplo principal de esto es cuando la propiedad Action de un subflujo especifica un evento de acción de flujo final.