セッション

セッションは、Dialogflow エージェントとエンドユーザー間の会話を表します。会話の始めにセッションを作成し、会話のターンごとにセッションを使用します。会話が終了すると、セッションの使用も終了します。

同じセッションを別のエンドユーザーとの同時会話には使用しないでください。セッションはアクティブのままで、そのセッションへの最後のリクエストの送信から 30 分間、データが保存されます。

各セッションは、システムによって生成されたセッション ID によって一意に判別されます。 新しいセッションを作成するには、インテント検出リクエストなどのセッション メソッドに新しいセッション ID を指定します。セッション ID は最大 36 バイトの文字列です。 システムによって固有のセッション ID が生成されます。 この ID には、乱数、ハッシュ化されたエンドユーザー ID など、生成しやすい任意の値を使用できます。

セッション名のロケーション ID 値の詳細については、リージョン指定のドキュメントをご覧ください。

長期にわたるセッション

現在、Dialogflow は 30 分以上のセッション データのメンテナンスをサポートしていません。ただし、DetectIntentRequestQueryParameters.current_pageQueryParameters.parameters を設定すると、以前のセッション状態を回復できます。

ワークフローの例:

  1. エンドユーザーがセッション A でエージェントと会話します。
  2. コードは、API レスポンスで返されたセッション A に関連付けられた状態(QueryResult.current_pageQueryResult.parameters)を記録します。
  3. エンドユーザーは 50 分後にエージェントとの会話を停止します。
  4. エンドユーザーがエージェントと再度会話します。
  5. コードは、以前のセッション状態を持つインテントを検出するために、エンドユーザー入力を、リクエストにすでに記録されている QueryParameters.current_page および QueryParameters.parameters と一緒に送信します。セッション A と同じセッション ID を使用する必要はありません。

参照

セッションの料金については、料金ページをご覧ください。

セッションの詳細:

セッション リファレンスのプロトコルとバージョンを選択:

プロトコル V3 V3beta1
REST セッション リソース セッション リソース
RPC セッション インターフェース セッション インターフェース
C# 提供なし 利用できません
Go 提供なし 利用できません
Java SessionsClient SessionsClient
Node.js SessionsClient SessionsClient
PHP 提供なし 利用できません
Python SessionsClient SessionsClient
Ruby 提供なし 利用できません