自定义上下文是键或值对的集合。 任何键只允许原始值。 键必须与为关联工作流创建的上下文变量相对应。 如果未在实时工作流下创建具有匹配逻辑名称的上下文变量,则在运行时创建变量,假设类型为 字符串。 当新聊天开始时,实时聊天小部件将调用自定义上下文提供程序。 由于这些值区分大小写,因此请使用完全匹配将它们传递给上下文变量。 详细信息: 上下文变量的注意事项
重要
- setContextProvider 仅支持未经身份验证的聊天。 对于经过身份验证的聊天,您必须使用 JSON Web 令牌 (JWT)。 详细信息: 发送身份验证令牌
- 在每个聊天会话期间只能传递 100 个自定义上下文变量。
当客户从门户开始聊天时,您可以将自定义上下文传递给 Customer Service 全渠道。 此自定义上下文可用于 在用户界面上显示信息 ,并创建路由规则,最终确定必须将聊天路由到的队列。
在开始聊天时,请按照以下步骤发送自定义上下文:
- 应在引发 lcw:ready 事件 事件后调用实时聊天 SDK 方法。 您可以通过在窗口对象上添加自己的事件侦听器来监听此事件。
- 引发事件后
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
removeContextProvider
实时聊天 SDK JavaScript API 参考
为机器人配置上下文变量