Gli eventi personalizzati sono eventi definiti da te. Vengono utilizzati per gestire ciò che accadrà al di fuori della conversazione con l'utente finale. Ad esempio, l'utente finale ha fatto clic su un pulsante, è trascorso un determinato periodo di tempo, l'inventario disponibile è cambiato durante la conversazione, e così via.
Puoi richiamare questi eventi utilizzando fulfillment o l'API.
Richiamare gli eventi con l'API
La richiesta di una chiamata di tipo detectIntent
Sessions
contiene un campo queryInput.event
, utilizzato per invocare gli eventi.
Il tipo di questo campo è EventInput
e contiene campi per il nome dell'evento, i parametri facoltativi e il codice lingua.
Quando fornisci un evento a una chiamata di rilevamento dell'intenzione, non fornisci altri dati, ad esempio un'espressione dell'utente finale. L'unico scopo della chiamata è richiamare un evento e attivare un intent.
Richiamare eventi con completamento
Puoi richiamare gli eventi tramite
fulfillment
impostando il campo followupEventInput
del
WebhookResponse
.
Facoltativamente, puoi impostare il campo followupEventInput.parameters
affinché fornisca
parametri
all'intento.
Ad esempio:
{
"followupEventInput": {
"name": "event-name",
"parameters": {
"parameter-name-1": "parameter-value-1",
"parameter-name-2": "parameter-value-2"
},
"languageCode": "en-US"
}
}
Quando il parametro followupEventInput
è impostato per un WebhookResponse
,
Dialogflow ignora fulfillmentText
, fulfillmentMessages
,
e payload
campi.
Inoltre, il campo followupEventInput.languageCode
è obbligatorio,
ma Dialogflow ignora questo campo,
perché la lingua è già stata definita
nella richiesta di rilevamento dell'intent di origine.
Quando Dialogflow riceve una risposta webhook che include un evento, attiva immediatamente l'intent corrispondente in cui era definite.
Il seguente flusso descrive i passaggi:
- L'utente finale digita o pronuncia un'espressione.
- Dialogflow abbina l'espressione dell'utente finale a Intent-1, che è configurato per il completamento.
- Dialogflow invia una richiesta webhook al tuo server.
- Il server risponde con una risposta webhook che include un evento di follow-up.
- Invece di rispondere all'utente per la corrispondenza Intent-1, Dialogflow attiva Intent-2, che è configurato per l'evento.
- Dialogflow procede come se l'utente finale avesse avviato la corrispondenza per Intent-2 e gestisce i parametri e il completamento richiesti come dettato dalla configurazione di Intent-2.
Collegamento in serie delle corrispondenze dell'intenzione con gli eventi di risposta webhook
È possibile mettere in catena le corrispondenze di intenti con gli eventi di risposta webhook. Nel flusso descritto sopra, Per il completamento potrebbe anche essere configurato Intent-2. Se la risposta webhook del server fornisce un altro evento, Dialogflow procede con la corrispondenza di Intent-3 (configurato per l'evento) senza rispondere all'utente finale per Intent-2.
Dialogflow non risponde all'utente finale fino al termine della catena. Quando si concatenano gli intent in questo modo, ciascuna risposta webhook deve essere inviata restrizioni di timeout.