本页面介绍了如何从 Web SDK v2 升级到 Web SDK v3。 如果您是首次安装 Web SDK,请参阅 Web SDK v3 指南。
Web SDK v3 功能
以下是 Web SDK v3 中提供但在 Web SDK v2 中没有的功能:
自定义表单:客服人员可以直接 在 Web 聊天界面中发送自定义数据收集表单。如需了解详情,请参阅数据收集 表单。
可下载的聊天记录:让最终用户直接从微件下载聊天记录 。如需了解详情,请参阅下载聊天 记录(使用 Web SDK 和移动 SDK)。
高级主动聊天触发器:使用高级主动聊天 触发器,例如指定队列语言或使用复杂的 AND-OR 逻辑来指定网址关键字。如需了解详情,请参阅主动 Web SDK 触发器。
升级到 Web SDK v3
首先,在源代码中找到以下脚本:
<script type="module" src="https://websdk.ujet.co/v2/loader.js"></script>
然后,将其替换为以下脚本:
<script type="module" src="https://{your_ccaas_host}/web-sdk/v3/widget.js"></script>
需注意的差异
Web SDK v3 直接构建在 UJET 无头客户端之上。由于微件界面使用此无头结构,因此您可以通过以 ccaas.client 为目标来访问和调用无头 SDK 支持的所有底层方法,并监听事件。
本部分概述了 Web SDK v2 和 v3 之间的主要差异。
初始化
v2
const ccas = new UJET({
"companyId": "{companyId}",
"host": "https://{your_ccaas_host}",
"authenticate": getAuthToken
})
v3
var ccas = new UJET({
"companyId": "{companyId}",
"host": "https://{your_ccaas_host}",
"authenticate": getAuthToken
})
// v3 has a mount point
// ccaas.mount(HTMLElement | string)
ccaas.mount('#ccaas-widget')
选项
启动 Web SDK 时,您需要指定选项。本部分介绍了 Web SDK v2 和 v3 之间的差异。
v2
v2 不适用。
v3
在 v3 中,初始化选项与无头 SDK 相同。
interface ClientOption {
companyId: string;
authenticate: () => Promise<TokenResponse>;
tenant?: string;
host?: string;
lang?: string;
bridge?: string;
cobrowse?: {
enabled: boolean;
template?: string;
messages?: CobrowseMessages;
api?: string;
license?: string;
trustedOrigins?: string[];
capabilities?: string[];
registration?: boolean;
redactedViews?: string[];
unredactedViews?: string[];
};
}
可以使用 ccaas.config() 方法配置额外的选项:
ccaas.config({
disableAttachment: true
})
可用的配置选项:
interface ConfigOptions {
accent?: AccentColor;
logo?: string;
menuKey?: string;
ticketId?: string;
preferredChannel?: string;
disableAttachment?: boolean;
customData?: string | Record<string, any>;
messages?: Record<string, unknown>;
reCaptchaSiteKey?: string;
}
方法
在 v2 中,加载程序上有一些额外的方法,例如:
ccaas.createCobrowseCode()
ccaas.fetchWaitTimes({id: 123})
在 v3 中,微件界面使用无头客户端,您可以调用无头 SDK 支持的所有方法。
const client = ccaas.client
client.getCompany()
client.loadOngoingChat()
如需了解详情,请参阅无头 Web SDK 指南。
事件
在 v2 中,您可以使用以下代码监听事件:
ccaas.on('chat:update', (chat) => {
console.log(chat)
})
在 v3 中,您可以使用无头客户端监听事件:
const client = ccaas.client
client.on('chat.updated', (chat) => {
console.log(chat)
})
如需了解 更多事件,请参阅无头 Web SDK 指南。
主题自定义
Web SDK v3 采用更新后的主题自定义方法。如需了解详情, 请参阅主题 自定义。