Sesiones

Una sesión representa una conversación entre un agente de Dialogflow y un usuario final. La sesión se crea al comienzo de una conversación y se usa para cada turno de la conversación. Una vez terminada la conversación, se deja de usar la sesión.

No se debe usar la misma sesión para conversaciones simultáneas con diferentes usuarios finales. Una sesión permanece activa, y sus datos se almacenan por 30 minutos después de que se envía la última solicitud para la sesión.

Cada sesión se determina como única por un ID de sesión que generó tu sistema. Para crear una sesión nueva, debes proporcionar un ID de sesión nuevo en una solicitud de detección de intent y otros métodos de sesión. Un ID de sesión es una string de 36 bytes de tamaño como máximo. Tu sistema se encarga de generar ID de sesión únicos. Pueden ser números aleatorios, identificadores de usuario final con hash o cualquier otro valor que te resulte conveniente generar.

Consulta la documentación sobre regionalización para obtener información sobre el valor del ID de ubicación en el nombre de la sesión.

Sesiones de larga duración

De forma predeterminada, Dialogflow mantiene los datos de la sesión durante 30 minutos. Existen dos maneras de extender la vida útil de las sesiones:

  • (Opción preferida) Configura el TTL de la sesión con QueryParameters.session_ttl. El valor máximo permitido es de 24 horas.
  • Puedes revivir el estado de la sesión anterior si configuras QueryParameters.current_page y QueryParameters.parameters en DetectIntentRequest.

    Un flujo de trabajo de ejemplo se ve de la siguiente manera:

    1. El usuario final se comunica con el agente en la sesión A.
    2. El código registra el estado asociado con la sesión A que se muestra en la respuesta de la API, es decir, QueryResult.current_page y QueryResult.parameters.
    3. El usuario final deja de interactuar con el agente después de 50 minutos.
    4. El usuario final vuelve a hablar con el agente.
    5. El código envía la entrada del usuario final, junto con los QueryParameters.current_page y QueryParameters.parameters registrados en la solicitud, para detectar el intent con el estado de la sesión anterior. No necesitas usar el mismo ID de sesión que usa la sesión A.

Referencias

Para obtener información sobre los precios de las sesiones, consulta la página de precios.

Para obtener más información sobre las sesiones:

Selecciona un protocolo y una versión para la referencia de sesión:

Protocolo V3 V3beta1
REST Recurso de la sesión Recurso de la sesión
RPC Interfaz de la sesión Interfaz de la sesión
C++ SessionsClient No disponible
C# SessionsClient No disponible
Go SessionsClient No disponible
Java SessionsClient SessionsClient
Node.js SessionsClient SessionsClient
PHP No disponible No disponible
Python SessionsClient SessionsClient
Rita No disponible No disponible