Eventos personalizados

Los eventos personalizados son eventos que tú defines. Puedes invocarlos mediante una entrega o la API. Por ejemplo, puedes establecer una alerta temporizada durante una conversación, lo que invoca un evento en un momento determinado. Este evento podría activar un intent que alerta al usuario final acerca de algo.

Invoca eventos con la API

La solicitud de una llamada detectIntent de tipo Sessions contiene un campo queryInput.event, que se usa para invocar eventos. El tipo de este campo es un EventInput y contiene campos para el nombre del evento, parámetros opcionales y el código de idioma.

Cuando proporcionas un evento a una llamada de detección de intent, no proporcionas otros datos, como una expresión de usuario final. El único propósito de la llamada es invocar un evento y activar un intent.

Invoca eventos con entrega

Puedes invocar eventos a través de la entrega mediante la configuración del campo followupEventInput de la WebhookResponse. De forma opcional, puedes configurar el campo followupEventInput.parameters para proporcionar parámetros al intent.

Por ejemplo:

{
  "followupEventInput": {
    "name": "event-name",
    "parameters": {
      "parameter-name-1": "parameter-value-1",
      "parameter-name-2": "parameter-value-2"
    },
    "languageCode": "en-US"
  }
}

Cuando se configura el parámetro followupEventInput para una WebhookResponse, Dialogflow ignora los campos fulfillmentText, fulfillmentMessages y payload. Cuando Dialogflow recibe una respuesta de webhook que incluye un evento, activa el intent correspondiente en el que se definió de inmediato.

El siguiente flujo describe los pasos:

  1. El usuario final escribe o dice una expresión.
  2. Dialogflow hace coincidir la expresión del usuario final con Intent-1, que está configurado para la entrega.
  3. Dialogflow envía una solicitud de webhook a tu servidor.
  4. Tu servidor contesta con una respuesta de webhook que incluye un evento de seguimiento.
  5. En lugar de responder al usuario respecto de la coincidencia del Intent-1, Dialogflow activa el Intent-2 que se configura para el evento.
  6. Dialogflow procede como si el usuario final iniciara la coincidencia para el Intent-2 y maneja los parámetros requeridos y la entrega según lo que dicta la configuración del Intent-2.

Encadena coincidencias de intents con eventos de respuesta de webhook

Es posible encadenar coincidencias de intents con eventos de respuesta de webhook. En el flujo descrito anteriormente, el Intent-2 también podría configurarse para la entrega. Si la respuesta de webhook de tu servidor proporciona otro evento, Dialogflow hace coincidir el Intent-3 (configurado para el evento) sin responder al usuario final respecto del Intent-2.

Dialogflow no responde al usuario final hasta que la cadena haya finalizado. Cuando se encadenan intents de tal manera, cada respuesta de webhook debe enviarse dentro de las restricciones de tiempo de espera.