setContextProvider

Customer Service 用オムニチャネルには、Dynamics 365 Customer Service Enterprise の機能を拡張する一連の機能が用意されていて、組織はデジタル メッセージング チャネルを通して顧客と即座につながり、やり取りできるようになります。 Customer Service 用オムニチャネルにアクセスする際は、追加のライセンスが必要です。 詳細については、Dynamics 365 Customer Service 価格の概要 と Dynamics 365 Customer Service 価格プラン ページを参照してください。

ライブ チャット チャネルのコンテキスト プロバイダーを設定します。 コンテキスト プロバイダー関数が呼び出されると、チャット セッションの初期化に使用するコンテキストが返されます。

Important

  • setContextProvider メソッドは、認証されていないチャットでのみサポートされます。 認証されたチャットの場合は、JSON Web トークン (JWT) を使用する必要があります。 詳細: 認証トークンの送信
  • 各チャットセッション中に渡すことができるカスタムコンテキスト変数は 100 個のみです。
  • ライブ チャット SDK メソッドは、 lcw:ready イベント が発生した後に呼び出す必要があります。 このイベントをリッスンするには、ウィンドウオブジェクトに独自のイベントリスナーを追加します。
  • setContextProvider SDK API を使用してコンテキストを渡し、チャット セッションを初期化する場合は、startChat メソッドを使用する必要はありません。

構文

Microsoft.Omnichannel.LiveChatWidget.SDK.setContextProvider(contextProvider);

パラメーター

パラメーター タイプ Description
コンテキストプロバイダ 機能 呼び出されたときにカスタムコンテキストを返す関数

戻り値

None

Example

window.addEventListener("lcw:ready", function handleLivechatReadyEvent(){
        // Set the custom context provider
        // Throws error if contextProvider is not a function
        Microsoft.Omnichannel.LiveChatWidget.SDK.setContextProvider(function contextProvider(){
                   //Here it is assumed that the corresponding work stream would have context variables with logical name of 'contextKey1', 'contextKey2', 'contextKey3'. If no context variable exists with a matching logical name, items are created assuming Type:string               
	               return {
                             'contextKey1': {'value': 'contextValue1', 'isDisplayable': true},
                             'contextKey2': {'value': 12.34, 'isDisplayable': false},
                             'contextKey3': {'value': true}
                   };
        });
});

前のサンプル コードでは、 value 属性にコンテキスト変数の値が含まれています。

isDisplayable 属性を true に設定すると、会話の会話の概要コントロールの 3 番目のタブに渡されたアイテムが表示されます。

注

論理名が一致するライブ ワークストリームの下にコンテキスト変数が作成されていない場合、変数は実行時に 文字列 タイプで作成されます。 詳細: コンテキスト変数

コンテキストキーを表示します。

顧客のセルフサービスをコンテキストとして渡す

顧客との会話の開始時に、顧客のセルフサービスをコンテキストとして渡すことができます。 setContextProvider メソッドは、顧客とエージェント間の新しい会話のために、セルフサービスタイプのコンテキストの一部として最近の顧客アクションを渡します。 セルフサービスアクションごとに訪問者ジャーニーレコードが作成されます。

setContextProvider メソッドの使用方法を示すサンプル コードを次に示します。

window.addEventListener("lcw:ready", function handleLivechatReadyEvent(){

Microsoft.Omnichannel.LiveChatWidget.SDK.setContextProvider(function contextProvider(){
    return {
            'SelfService': { 'value' : 
                '[ {"msdyn_displaytitle":"Page visited", "msdyn_starttime":"yyyy-mm-ddThh:mm:ssZ","msdyn_type":192350000}, \
                   {"msdyn_displaytitle":"Phrase searched", "msdyn_starttime":"yyyy-mm-ddThh:mm:ssZ","msdyn_type":192350001}, \
                   {"msdyn_displaytitle":"Knowledge article viewed", "msdyn_starttime":"yyyy-mm-ddThh:mm:ssZ","msdyn_type":192350002}, \
                   {"msdyn_displaytitle":"Custom action performed", "msdyn_starttime":"yyyy-mm-ddThh:mm:ssZ","msdyn_type":192350003} \
                 ]'
             }, // Additional context can be added as shown below
                //Here it is assumed that the corresponding work stream would have context variables with logical name of 'contextKey1', 'contextKey2', 'contextKey3'. If no context variable exists with a matching logical name, items are created assuming Type:string
                'contextKey1': {'value': 'contextValue1', 'isDisplayable': true},
                'contextKey2': {'value': 12.34, 'isDisplayable': false},
                'contextKey3': {'value': true}
         };
    });
});

セルフサービスポータルに含めることができるセルフサービスアクションを追跡するサンプルスクリプトについては、 セルフサービスサンプルコードを参照してください。

エラー コード

このメソッドでは、次のエラーが発生する可能性があります。

エラー コード エラーメッセージ
1 コンテキスト・プロバイダー・メソッドの実行に失敗しました

ライブチャットSDKのJavaScript APIリファレンス
カスタムコンテキストの表示