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

このヘルプページの情報は、StudioDesktop Studioの両方に適用されます。

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

botSessionStateプロパティは、コンタクトとバーチャルエージェント間の会話の一意の識別子を保持する変数を使用して、で設定する必要があります。 バーチャルエージェントプロバイダーによって自動的に割り当てられます。 識別子は、会話のターンごとに新しいセッションが作成されるのを防ぎ、バーチャルエージェントがターン間でコンテクストを維持するのに役立ちます。

プロバイダーは、会話の開始時に識別子を作成し、最初の応答とともにスクリプトに渡します。 スクリプトは、このアクションExchangeアクションで指定された変数に識別子を保存します。 最後に、スクリプトは前のターンのbotSessionStateVarName (out)プロパティの識別子をbotSessionStateプロパティに渡します。

スクリプトは、このプロパティまたはその変数に書き込んではなりません。 ボットセッション状態識別子を使用するには、スクリプトを正しく設定する必要があります。

スクリプトのセットアップ

Exchangeアクションを使用する場合、スクリプトに最低2つのアクションインスタンスが必要です。 各ExchangeアクションのbotSessionStateプロパティは、次のように別々に設定する必要があります。

  • Exchangeアクションの最初のインスタンスは、スクリプトの開始時のBeginアクションの直後に配置されます。 次のように設定します。
    • botSessionState:これは空でなければなりません。
    • botSessionStateVarName (out):スクリプトで識別子を保存する変数の名前を設定します。
  • 2番目のExchangeアクションは、スクリプトの後の部分にあります。 次のように設定します。
    • botSessionStateExchangeアクションの最初のインスタンスにおいてbotSessionStateVarName (out)で使用される変数を設定します。 変数は、ボットのセッション状態識別子をJSON形式で保持する必要があります。
    • botSessionStateVarName (out):スクリプトで識別子を保存する変数の名前を設定します。
  • Exchangeアクションの3番目以降のインスタンスはオプションです。 スクリプトにこれらのインスタンスが含まれている場合は、次のように設定します。
    • botSessionStateExchangeアクションの前のインスタンスにおいてbotSessionStateVarName (out)で使用される変数を設定します。 変数は、ボットのセッション状態識別子をJSON形式で保持する必要があります。 ボットセッション状態識別子は通常、ターン間で変更されません。 ただし、変更があった場合は、変更をキャプチャするようにアクションを設定する必要があります。
    • botSessionStateVarName (out):スクリプトで識別子を保存する変数の名前を設定します。

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

botSessionStateプロパティが正しく設定されていることを確認する

スクリプトトレースを使用して、このプロパティが正しく設定されていることを確認できます。

  1. バーチャルエージェントとコンタクトのインタラクションでスクリプトトレースを実行します。 継続的なトレースを使用するか、特定のANIまたはDNISのトレースをキャプチャできます(音声インタラクションの場合のみ)。
  2. トレースウィンドウで、最初のVirtual Agent Hubアクション(Voicebot Exchange またはTextbot Exchange)に対応する行をクリックします。
  3. 変数リストで、botSessionState変数を確認します。 その値はnull(空白)でなければなりません。
  4. トレースウィンドウで、最初のVirtual Agent Hubアクションの後にある次の行をクリックします。
  5. botSessionState変数の値をメモしてください。
  6. トレースウィンドウで、後続のVirtual Agent Hubアクションに対応するトレースの行をクリックします。
  7. botSessionState変数の値を確認します。 ステップ5と同じである必要があります。

ボットセッション状態識別子を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()