Sessions

Une session représente une conversation entre un agent Dialogflow 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, Dialogflow conserve les données de session pendant 30 minutes. Il existe deux façons de prolonger la durée de vie des sessions:

  • (À privilégier) 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 session précédent en définissant QueryParameters.current_page et QueryParameters.parameters dans DetectIntentRequest.

    Voici un exemple de workflow :

    1. L'utilisateur final communique avec l'agent sous la session A.
    2. Votre code enregistre l'état associé à la session A renvoyé dans la réponse de l'API, à savoir QueryResult.current_page et QueryResult.parameters.
    3. L'utilisateur final cesse d'interagir avec l'agent après 50 minutes.
    4. L'utilisateur final communique à nouveau avec l'agent.
    5. Votre code envoie l'entrée de l'utilisateur final, ainsi que les valeurs QueryParameters.current_page et QueryParameters.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 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