セッションのストレージ

会話内の特定のユーザーのパラメータ値を、 セッション ストレージを使用します。保存した値は、後でプロンプトでアクションで使用できる Webhook のコードでセッション ストレージ内の値に こともできます。

会話中、types を使用して収集されたデータは、すべてセッションに保存されます。 ストレージです。Webhook 呼び出しを使用して、セッション ストレージ内のデータを操作することもできます。 Webhook 呼び出しの場合、セッション ストレージの状態が app.handle() で渡されます。 session オブジェクトに保存されます。

セッション ストレージに保存されたデータは、会話が終了すると期限切れになります。

セッション ストレージのデータの読み取りと書き込み

セッション ストレージ内の値を更新または新しい値を設定するには、 Webhook 呼び出しの session オブジェクトの params フィールド。次の例をご覧ください。 「exampleColor」を設定します「red」に変更in セッション ストレージ:

Node.js

// Assign color to session storage
app.handle('storeColor', conv => {
  let color = 'red';
  conv.session.params.exampleColor = color;
});
    

JSON

{
  "responseJson": {
    "session": {
      "id": "12345678901234567890",
      "params": {
        "exampleColor": "red"
      }
    },
    "prompt": {
      "override": false
    }
  }
}
    

セッション ストレージに保存されているデータにアクセスするには、そのデータを Webhook の変数に代入します あります。次の例では、「exampleColor」から値を取得していますセッション内 storage:

Node.js

// Retrieve color from session storage
app.handle('getStoredColor', conv => {
  let color = conv.session.params.exampleColor;
});
    

JSON

{
  "responseJson": {
    "session": {
      "id": "12345678901234567890",
      "params": {
        "exampleColor": "red"
      }
    },
    "prompt": {
      "override": false
    }
  }
}
    

以前に保存した値を消去するには、Webhook 呼び出しで値を null に設定します。 次の例では、「exampleColor」の値をクリアしていますセッション ストレージ内:

Node.js

// Clear color from session storage
app.handle('clearStoredColor', conv => {
  conv.session.params.exampleColor = null;
});
    

JSON

{
  "responseJson": {
    "session": {
      "id": "12345678901234567890",
      "params": {}
    },
    "prompt": {
      "override": false
    }
  }
}
    

プロンプト内で格納値を参照する

セッション ストレージに保存されている値をプロンプトで参照できます。参照 $session.params.PARAMETER_NAME 構文を使用します。 PARAMETER_NAME は、パラメータのときに Webhook に付けられた名前です。 設定されました。

たとえば、色の値をセッション ストレージに保存し、 パラメータ exampleColor。プロンプトでその値にアクセスするには、 $session.params.exampleColor を使用する値:

JSON

{
  "candidates": [{
    "first_simple": {
      "variants": [{
        "speech": "Your favorite color is $session.params.exampleColor."
      }]
    }
  }]
}
    

条件内で格納された値を参照する

セッション ストレージに保存されている値を条件で参照することもできます。宛先 値を参照するには、session.params.PARAMETER_NAME を使用します。 ここで、PARAMETER_NAME は Webhook に 確認します。

たとえば、色の値をセッション ストレージに保存し、 パラメータ exampleColor を値「red」と照合します。 あります。条件では、値を使用して格納された値を参照します。 session.params.exampleColor。この場合、条件式は次のようになります。

条件の構文

session.params.exampleColor == "red"