Una sesión representa una conversación entre un agente de agentes conversacionales (Dialogflow CX) 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, los agentes conversacionales (Dialogflow CX) mantienen los datos de la sesión durante 30 minutos. Existen dos formas de extender la vida útil de las sesiones:
- (Opción preferida) Establece 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
yQueryParameters.parameters
enDetectIntentRequest
.Un flujo de trabajo de ejemplo se ve de la siguiente manera:
- El usuario final se comunica con el agente en la sesión A.
- 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
yQueryResult.parameters
. - El usuario final deja de interactuar con el agente después de 50 minutos.
- El usuario final vuelve a hablar con el agente.
- El código envía la entrada del usuario final, junto con los
QueryParameters.current_page
yQueryParameters.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 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 |