ボットセッション状態スニペット

このスニペットは、Textbot ExchangeVoicebot Exchangeのような、botSessionStateプロパティを持つアクションで使用するためのものです(以降、両方のアクションを単にExchangeと呼びます)。バーチャルエージェント閉じた ライブのヒューマンエージェントの代わりに顧客とのやり取りを処理するソフトウェアアプリケーション。が期待どおりに動作するには、botSessionStateプロパティを適切に設定する必要があります。

バーチャルエージェントプロバイダーは、コンタクトとバーチャルエージェント間の各会話に、一意の識別子を割り当てます。この識別子は、会話のターンごとに新しいセッションが作成されるのを防止できます。プロバイダーは、会話の開始時に識別子を作成し、最初の応答とともにスクリプトに渡します。スクリプトは、ExchangeアクションbotSessionStateVarName (out)プロパティで指定された変数に識別子を格納します。そして、その識別子をbotSessionStateプロパティに渡します。

ボットのセッション状態識別子を使用するには、スクリプトを正しく設定する必要があります。Exchangeアクションを使用する場合、スクリプトに最低2つのアクションインスタンスが必要です。ExchangeアクションのbotSessionStateプロパティは、それぞれ異なる方法で設定する必要があります。

  • 最初のExchangeアクションは、スクリプトの冒頭にあるBeginアクションの直後に配置されます。アクションのこのインスタンスでは、botSessionStateプロパティは空のままにしておかなければなりません。botSessionStateVarName (out)プロパティには、スクリプトに識別子を格納する変数名を設定する必要があります。
  • 2番目のExchangeアクションは、スクリプトの後の部分にあります。アクションのこのインスタンスでは、botSessionStateプロパティにbotSessionStateで使用した変数を設定する必要があります。変数にはボットのセッション状態識別子をJSON形式で格納する必要があります。botSessionStateVarName (out)プロパティには、スクリプトに識別子を格納する変数名を設定する必要があります。スクリプトに3つ以上のExchangeアクションがある場合、最初のアクション以外はこのように設定する必要があります。

この設定は、すべての仮想エージェントに必要です。

ボットセッション状態識別子をJSONに変換する

botSessionStateVarName (out)プロパティで使用されている変数の内容をJSONに変換して、スクリプトの2番目のExchangeアクションのbotSessionStateプロパティに渡す必要があります。これを行うには、Snippetアクションにコードを含めるか、プロパティを直接設定します。どちらのアプローチも許容できます。ただし、変換されたオブジェクトを保持する変数をSnippetに作成する利点は、変換が行われている場所を簡単に確認できることです。

Snippetアクションの使用

  1. ExchangeアクションのbotSessionStateVarName (out)プロパティに、セッション状態の識別子を保持する変数の名前を設定します。例えば、 botSessionState
  2. スクリプト内のExchangeアクションの前にあるSnippetに、次の行を追加します。

    ASSIGN botSessionStateOut = botSessionStateOut.asJSON()

    スクリプトで使用する変数名を使用してください。

  3. ExchangeアクションのbotSessionStateプロパティを、ASSIGNステートメントで使用した変数の名前に設定します。例えば、 botSessionStateOut

プロパティでの変換

botSessionStateプロパティで変数を変換する場合は、asJSON()関数でbotSessionStateVarName (out)変数を使用します。例:

  • botSessionStateVarName (out)botSessionState
  • botSessionState: botSessionState.asJSON()