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 l'evasione o l'API.
Richiamare gli eventi con l'API
La richiesta di un
Sessions
la chiamata di tipo detectIntent
contiene un campo queryInput.event
,
che viene utilizzato per richiamare 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
.
Se vuoi, puoi impostare il campo followupEventInput.parameters
per fornire
parametri
all'intent.
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'intento di origine.
Quando Dialogflow riceve una risposta webhook che include un evento, attiva immediatamente l'intent corrispondente in cui è stato definito.
La procedura seguente 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 fulfillment richiesti come dettato dalla configurazione di Intent-2.
Concatenamento delle corrispondenze di intent con eventi di risposta webhook
È possibile concatenare le corrispondenze di intent con eventi di risposta webhook. Nel flusso descritto sopra, Per il completamento potrebbe anche essere configurato Intent-2. Se la risposta del webhook del server fornisce un altro evento, Dialogflow procede a abbinare 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.