Eventi e transizioni

Nei flussi di dialogo sviluppati con Visual Flow Designer, gli eventi vengono utilizzati per instradare una conversazione a flussi o stati all'interno dei flussi.

A livello di skill, gli eventi vengono suddivisi nei tipi riportati di seguito.

  • Intento. Questi eventi corrispondono agli intenti dello skill. Tale evento si verifica quando l'input dell'utente viene risolto in un determinato intento.
  • Incorporato. Si tratta di eventi standard per casi d'uso tipici come intento non risolto, intento di risposta ed errore di finestra di dialogo.
  • Azione Fine flusso. Si tratta di eventi che si definiscono personalmente e che possono essere attivati da azioni negli stati del flusso finale (sia stati che utilizzano il componente Flusso finale che stati che terminano implicitamente il flusso).

A livello di flusso, gli eventi vengono suddivisi nei tipi riportati di seguito.

  • Transizioni di sistema. Si tratta di eventi integrati per casi d'uso tipici quali input utente non risolti, autorizzazione richiesta ed errori.
  • Transizioni personalizzate. Si tratta di eventi che è possibile specificare personalmente e che in genere vengono assegnati alle azioni di transizione dei componenti. Quando il flusso raggiunge tale transizione, viene attivato l'evento corrispondente e viene richiamato lo stato mappato all'evento.

Eventi integrati per il flusso principale

Evento Quando licenziato Come utilizzare
Avvia competenza Quando un'abilità inizia per la prima volta. Eseguire il mapping a un flusso personalizzato per eseguire operazioni quali l'inizializzazione dei sistemi backend o la visualizzazione di un menu della Guida.
Errore finestra di dialogo Quando un componente genera un errore durante una conversazione. Questo evento può essere attivato anche quando si verifica un errore in un altro flusso e la transizione di sistema Errore finestra di dialogo del flusso non è mappata. Eseguire il mapping a un flusso di gestione degli errori personalizzato. Se questo evento viene attivato ma non esiste un mapping, il flusso corrente viene interrotto e la competenza restituisce il messaggio di errore predefinito ("Oops! I’m encountering a spot of trouble)".
Intento risposta Quando un intento di risposta viene risolto. Eseguire il mapping a un flusso personalizzato dedicato agli intenti di risposta.
Intento non risolto Quando l'intento dell'utente non viene risolto. Eseguire il mapping a un flusso della Guida personalizzato.
Guida di Digital Assistant Quando l'utente esprime una richiesta di aiuto. Ciò si applica solo quando l'utente ha avuto accesso allo skill tramite un assistente digitale e lo skill si trova nel contesto corrente dell'assistente digitale. Eseguire il mapping a un flusso della Guida personalizzato.
Benvenuti nell'assistente digitale Quando l'utente avvia il contatto con l'assistente digitale. Ciò si applica solo quando l'utente ha utilizzato un richiamo esplicito per accedere allo skill tramite un assistente digitale, ma non ha espresso un intento. Eseguire il mapping a un flusso di benvenuto o di assistenza personalizzato.
Nota

Specificando i flussi per gli eventi di Guida di Digital Assistant e Benvenuti di Digital Assistant, non si sovrascrive completamente il comportamento per la Guida di Digital Assistant e gli intenti di sistema unresolvedIntent. Se vuoi cambiare universalmente quel comportamento, lo fai nelle impostazioni dell'assistente digitale. Vedere Specificare gli stati per gli intenti di sistema di un assistente digitale.

Transizioni di sistema per flussi

Per ogni flusso, è possibile utilizzare le transizioni di sistema per definire la posizione in cui gestire eventi quali gli errori di finestra di dialogo e i messaggi fuori ordine.

Per definire lo stato utilizzato per gestire un determinato evento:

  1. Nella scheda Configurazione del flusso, scorrere verso il basso ed espandere la sezione Mapping eventi.

    Verrà visualizzata la sottosezione Transitions di sistema.

  2. Per l'evento da mappare, selezionare lo stato a cui si desidera mapparlo.

    Questo stato in genere è un componente Richiama flusso che punta al flusso della utility per la gestione dell'evento. Vedere Richiama un flusso da un altro flusso.

Di seguito sono riportati gli eventi che è possibile mappare come transizioni di sistema in un flusso.

Evento Quando licenziato Come utilizzare
Autorizza utente Quando viene raggiunto uno stato in cui il relativo stato Richiede autorizzazione viene risolto in true. Eseguire il mapping a un componente Richiama flusso che richiama un flusso di autorizzazione.
Errore finestra di dialogo Errore imprevisto nella conversazione.

Eseguire il mapping a un componente Richiama flusso che richiama un flusso per la gestione degli errori.

Se questo evento non viene mappato e si verifica un errore nel flusso, viene richiamato il flusso di gestione degli errori mappato all'evento integrato per il flusso principale Errore finestra di dialogo. Quando l'errore della finestra di dialogo non viene mappato né per il flusso né per il flusso principale, la competenza restituisce il messaggio di errore predefinito (Oops! I’m encountering a spot of trouble) quando si verifica un errore.

Messaggio fuori ordine L'utente seleziona un'opzione da un messaggio precedente nella conversazione anziché dal messaggio corrente. Eseguire il mapping a un componente Richiama flusso che richiama un flusso fornito per la gestione dei messaggi non ordinati.
Input utente imprevisto L'utente fornisce input di testo invece di selezionare una delle opzioni fornite nel messaggio. Eseguire il mapping a un componente Richiama flusso che richiama un flusso fornito per la gestione dell'input imprevisto.

Ascolto e attivazione degli eventi

Quando sono presenti flussi nidificati (flussi con flussi secondari):

  • Il flusso corrente ascolta e attiva gli eventi di azione del flusso incorporato e finale.
  • Il flusso di chiamata ascolta solo gli eventi dell'azione del flusso finale attivati dal flusso corrente. Quindi, quando il flusso secondario che ha attivato un evento di azione del flusso finale è terminato, il flusso padre agisce sull'evento attivato.

    L'esempio principale è quando la proprietà Azione di un flusso secondario specifica un evento di azione del flusso finale.