Une session représente une conversation entre un agent de conversation (Dialogflow CX) et un utilisateur final. Vous créez une session au début d'une conversation et vous l'utilisez pour chaque tour de conversation. Une fois la conversation terminée, vous arrêtez d'utiliser cette session.
N'utilisez pas la même session pour des conversations simultanées avec différents utilisateurs finaux. Une session reste active et ses données sont stockées pendant 30 minutes après l'envoi de la dernière requête de la session.
Chaque session est déterminée de manière unique par un ID de session généré par votre système. Pour créer une session, vous devez fournir un nouvel ID de session dans une requête de détection d'intent et d'autres méthodes de session. Un ID de session est une chaîne de caractères d'une taille maximale de 36 octets. Votre système est chargé de générer des ID de session uniques. Il peut s'agir de nombres aléatoires, d'ID d'utilisateurs finaux hachés ou de toute autre valeur que vous pouvez facilement générer.
Consultez la documentation sur la localisation pour en savoir plus sur la valeur de l'ID de zone géographique dans le nom de la session.
Sessions de longue durée
Par défaut, les agents conversationnels (Dialogflow CX) conservent les données de session pendant 30 minutes. Il existe deux façons d'étendre la durée de vie des sessions :
- (Recommandé) Définissez la valeur TTL de la session à l'aide de
QueryParameters.session_ttl
. La valeur maximale autorisée est de 24 heures. Vous pouvez rétablir l'état de la session précédente en définissant
QueryParameters.current_page
etQueryParameters.parameters
dansDetectIntentRequest
.Voici un exemple de workflow :
- L'utilisateur final communique avec l'agent sous la session A.
- Votre code enregistre l'état associé à la session A renvoyé dans la réponse de l'API, à savoir
QueryResult.current_page
etQueryResult.parameters
. - L'utilisateur final cesse d'interagir avec l'agent après 50 minutes.
- L'utilisateur final communique à nouveau avec l'agent.
- Votre code envoie l'entrée de l'utilisateur final, ainsi que les valeurs
QueryParameters.current_page
etQueryParameters.parameters
précédemment enregistrées dans la requête, pour détecter l'intent doté de l'état de session précédent. Vous n'avez pas besoin d'utiliser le même ID de session que celui de la session A.
Références
Pour en savoir plus sur la tarification de la session, consultez la page Tarifs.
Pour plus d'informations sur les sessions :
Sélectionnez un protocole et une version pour la référence de session :
Protocole | V3 | V3beta1 |
---|---|---|
REST | Ressource de session | Ressource de session |
RPC | Interface de la session | Interface de session |
C++ | SessionsClient | Non disponible |
C# | SessionsClient | Non disponible |
Go | SessionsClient | Non disponible |
Java | SessionsClient | SessionsClient |
Node.js | SessionsClient | SessionsClient |
PHP | Non disponible | Non disponible |
Python | SessionsClient | SessionsClient |
Ruby | Non disponible | Non disponible |