Interacciones con la API

Si no utiliza una de las opciones de integración, debe escribir código que interactúe directamente con el usuario final. También debes interactuar directamente con la API de Dialogflow en cada turno de conversación para enviar expresiones de usuario final y recibir coincidencias de intenciones. En el siguiente diagrama se muestra el flujo de procesamiento al interactuar con la API.

Diagrama que muestra el flujo de la API
  1. El usuario final escribe o dice una expresión.
  2. Tu servicio envía esta expresión del usuario final a Dialogflow en un mensaje de solicitud de detección de intención.
  3. Dialogflow envía un mensaje de respuesta de detección de intent a tu servicio. Este mensaje contiene información sobre la intención coincidente, la acción, los parámetros y la respuesta definida para la intención.
  4. Tu servicio realiza las acciones necesarias, como consultas de bases de datos o llamadas a APIs externas.
  5. Tu servicio envía una respuesta al usuario final.
  6. El usuario final ve o escucha la respuesta.

Configuración y autenticación de proyectos

Antes de llamar a la API, debes configurar un proyecto de GCP y la autenticación. Puedes seguir los pasos de la guía de inicio rápido.

Creación de agentes

En la mayoría de los casos, debes usar la consola de Dialogflow ES (consulta la documentación o abre la consola) para crear agentes. Para crear un agente, sigue los pasos que se indican en la página de inicio rápido de la consola. También puedes usar la API de Dialogflow para crear agentes en escenarios avanzados. Muchas páginas de conceptos se centran en el uso de la consola para crear agentes, pero también proporcionan enlaces a tipos de API relevantes.

REST, gRPC y bibliotecas de cliente

Puede acceder a la API de Dialogflow mediante REST, gRPC o una de las bibliotecas de cliente proporcionadas. Para obtener más información sobre estas opciones, consulta la descripción general del uso de las APIs.

Sesiones

Una sesión representa una conversación entre un agente de Dialogflow y un usuario final. Creas una sesión al principio de una conversación y la usas en cada turno de la conversación. Una vez que haya finalizado la conversación, dejarás de usar la sesión.

No debes usar la misma sesión para mantener conversaciones simultáneas con diferentes usuarios finales. Dialogflow mantiene los contextos activos de cada sesión activa. Dialogflow almacena los datos de las sesiones durante 20 minutos.

Cada sesión se determina como única mediante un ID de sesión generado por tu sistema. Para crear una sesión, debes proporcionar un nuevo ID de sesión en una solicitud de detección de intención. Un ID de sesión es una cadena de 36 bytes como máximo. Tu sistema es el responsable de generar IDs de sesión únicos. Pueden ser números aleatorios, identificadores de usuario final cifrados con hash o cualquier otro valor que le resulte cómodo generar.

Detectar un intent

Cuando usas la API para las interacciones, tu servicio interactúa directamente con el usuario final. En cada interacción, tu servicio envía expresiones de usuario final a Dialogflow llamando al método detectIntent o streamingDetectIntent del tipo Sessions. Dialogflow responde con información sobre la intención que coincide, la acción, los parámetros y la respuesta definidos para la intención. Tu servicio realiza las acciones necesarias (por ejemplo, consultas de bases de datos o llamadas a APIs externas) y envía un mensaje al usuario final. Este proceso continúa hasta que finaliza la conversación.

Puedes encontrar ejemplos de llamadas a la función de detección de intenciones en la página de inicio rápido de la API y en las páginas de instrucciones.