Sesiones

Una sesión representa una conversación entre un agente de Conversational Agents (Dialogflow CX) 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. Esta se mantiene activa y sus datos se guardan durante 30 minutos después de que se haya enviado la última solicitud de esa sesión.

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 intenciones y en otros métodos de sesió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.

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, Conversational Agents (Dialogflow CX) mantiene los datos de sesión durante 30 minutos. Hay dos formas de ampliar la duración de las sesiones:

  • (Preferido) Define el TTL de la sesión con QueryParameters.session_ttl. El valor máximo permitido es de 24 horas.
  • Puedes restaurar el estado de la sesión anterior configurando QueryParameters.current_page y QueryParameters.parameters en DetectIntentRequest.

    Un ejemplo de flujo de trabajo sería el siguiente:

    1. El usuario final habla con el agente en la sesión A.
    2. Tu código registra el estado asociado a la sesión A devuelto 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. Tu código envía la entrada del usuario final, junto con los valores de QueryParameters.current_page y QueryParameters.parameters registrados anteriormente en la solicitud, para detectar la intención con el estado de la sesión anterior. No es necesario que uses el mismo ID de sesión que 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, consulta la .

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

Protocolo V3 V3beta1
REST Recurso de sesión Recurso de sesión
RPC Interfaz de sesión Interfaz de 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
Ruby No disponible No disponible