Eventi personalizzati

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:

  1. L'utente finale digita o pronuncia un'espressione.
  2. Dialogflow abbina l'espressione dell'utente finale a Intent-1, che è configurato per il completamento.
  3. Dialogflow invia una richiesta webhook al tuo server.
  4. Il server risponde con una risposta webhook che include un evento di follow-up.
  5. Invece di rispondere all'utente per la corrispondenza Intent-1, Dialogflow attiva Intent-2, che è configurato per l'evento.
  6. 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.