カスタムコンテキストは、キーまたは値のペアのコレクションです。 どのキーでもプリミティブ値のみが許可されます。 キーは、関連付けられたワークストリームに対して作成されたコンテキスト変数に対応している必要があります。 論理名が一致するライブ ワークストリームでコンテキスト変数が作成されていない場合、変数は実行時に型を String と仮定して作成されます。 カスタムコンテキストプロバイダーは、新しいチャットが開始されると、ライブチャットウィジェットによって呼び出されます。 値では大文字と小文字が区別されるため、完全一致を使用してコンテキスト変数に渡します。 詳細: コンテキスト変数に関する考慮事項
Important
- setContextProvider は、認証されていないチャットでのみサポートされます。 認証されたチャットの場合は、JSON Web トークン (JWT) を使用する必要があります。 詳細: 認証トークンの送信
- 各チャットセッション中に渡すことができるカスタムコンテキスト変数は 100 個のみです。
顧客がポータルからチャットを開始すると、カスタム コンテキストを Customer Service 用オムニチャネルに渡すことができます。 このカスタムコンテキストを使用して、 ユーザーインターフェイスに情報を表示 し、最終的にチャットをルーティングする必要があるキューを決定するルーティングルールを作成できます。
チャットを開始するときにカスタムコンテキストを送信するには、次の手順に従います。
- ライブ チャット SDK メソッドは、 lcw:ready イベント イベントが発生した後に呼び出す必要があります。 このイベントをリッスンするには、ウィンドウオブジェクトに独自のイベントリスナーを追加します。
-
lcw:readyイベントが発生したら、setContextProvider メソッドを使用してカスタム コンテキスト プロバイダーをライブ チャットに登録します。 - startChat メソッドを使用してチャットを開始します。
サンプル コード
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': 'contextValue1', // string value
'contextKey2': 12.34, // number value
'contextKey3': true // boolean value
};
}
window.addEventListener("lcw:ready", function handleLivechatReadyEvent(){
// Handle LiveChat Ready event
// SDK methods are ready for use now
// Setting custom context provider to be used with Chat for Dynamics 365
// The custom context provided by custom context provider can be used for routing the chat to a particular queue
Microsoft.Omnichannel.LiveChatWidget.SDK.setContextProvider(contextProvider);
// Starting a new chat
Microsoft.Omnichannel.LiveChatWidget.SDK.startChat();
});
window.addEventListener("lcw:error", function handleLivechatErrorEvent(errorEvent){
// Handle LiveChat SDK error event
console.log(errorEvent);
});
会話の概要でコンテキスト変数を表示する方法については、「 カスタムコンテキストの表示」を参照してください。
関連情報
setContextProvider
getContextProvider (getContextプロバイダ)
removeContextProvider (コンテキストプロバイダーを除去)
ライブチャットSDK JavaScript APIリファレンス
ボットのコンテキスト変数を構成する