快速入门-动态更改Web小部件(经典)设置
Web Widget(经典)api由更改Web Widget(经典)属性的客户端设置或执行操作的命令组成。通常,API设置是在小部件页面加载时设置的。然而,<一个href="https://developer.zendesk.com/api-reference/widget/core/">updateSettings API一个>允许您在运行时自定义小部件API设置。这对于单页面应用程序(spa)特别有用,您可以根据用户操作动态更改小部件设置。
需求
一个亚博Zendesk支持帐户与聊天或试用帐户。你可以<一个href="https://developer.zendesk.com/documentation/developer-tools/getting-started/getting-a-trial-or-sponsored-account-for-development/">申请一个赞助测试帐户一个>它不像试用账户那样在14天后到期。
小部件支持的web浏览器,如中所述<一个href="https://support.zendesk.com/hc/en-us/articles/203908456">使用Web小部件(经典)在您的网站中嵌入客户服务一个>.
开始
为了演示如何使用updateSettings API,您将创建一个SPA。对于小部件,将启用联系人表单、聊天和帮助中心。
在<一个href="https://support.zendesk.com/hc/en-us/articles/217743418">管理中心一个>,转至渠道>经典>Web部件,选择定制页签,打开“联系人表单”、“聊天”和“帮助中心”。
在您的网络浏览器中,转到<一个href="https://codepen.io/pen/">https://codepen.io/pen/一个>,并创建一个新笔。
在HTML编辑器中,粘贴以下代码。取代
{YOUR_KEY}
中提供的小部件键支持>管理>渠道>小部件>设置选项卡。
<超文本标记语言>
<头>
<元字符集="utf - 8">
头>
<身体>
<!——动态内容占位符——>
<divid="内容"风格="padding-top:20.px;">div>
<!——Web Widget——>
<脚本id="ze-snippet"src="https://static.zdassets.com/ekr/snippet.js?key= {YOUR_KEY}">脚本>
<!——hello template——>
<脚本id="hello-template"类型="文本/ x-handlebars-template">
<p>你好!</p>
<一个身份证=“link-goodbye”href=“#”>我我已经读完了这页面!</一个>
脚本>
<!——再见模板——>
<脚本id="goodbye-template"类型="文本/ x-handlebars-template">
<p>再见!</p>
<一个身份证=“link-hello”href=“#”>没有,带我回去!</一个>
脚本>
<!——显示模板——>
<脚本src="https://cdn.jsdelivr.net/npm/<一个href="https://developer.zendesk.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="345c555a5058515655464774001a071a07">(电子邮件保护)一个>/dist / handlebars.min.js">脚本>
<脚本>
(函数(){
// showHello函数
函数showHello(){
var源=文档.getElementById(“hello-template”).innerHTML;
var模板=车把.编译(源);
文档.getElementById(“内容”).innerHTML=模板();
varlinkGoodbye=文档.getElementById(“link-goodbye”);
linkGoodbye.addEventListener(“点击”,showGoodbye);
}
// showGoodbye函数
函数showGoodbye(){
var源=文档.getElementById(“goodbye-template”).innerHTML;
var模板=车把.编译(源);
文档.getElementById(“内容”).innerHTML=模板();
varlinkHello=文档.getElementById(“link-hello”);
linkHello.addEventListener(“点击”,showHello);
}
//显示hello内容
showHello();
})();
脚本>
身体>
超文本标记语言>
页面通过切换句柄模板来响应单击事件来创建动态内容。有关实现细节,请参阅代码注释。
示例:设置每个页面的启动器颜色
为了演示小部件设置如何根据用户操作动态更改,您将为每个页面设置Web小部件(Classic)启动器颜色。
(函数(){
// showHello函数
函数showHello(){
var源=文档.getElementById(“hello-template”).innerHTML;
var模板=车把.编译(源);
文档.getElementById(“内容”).innerHTML=模板();
updateWidgetSettings((themeColor=“# 0058 a3”));
varlinkGoodbye=文档.getElementById(“link-goodbye”);
linkGoodbye.addEventListener(“点击”,showGoodbye);
}
// showGoodbye函数
函数showGoodbye(){
var源=文档.getElementById(“goodbye-template”).innerHTML;
var模板=车把.编译(源);
文档.getElementById(“内容”).innerHTML=模板();
updateWidgetSettings((themeColor=“991111 #”));
varlinkHello=文档.getElementById(“link-hello”);
linkHello.addEventListener(“点击”,showHello);
}
updateWidgetSettings函数
函数updateWidgetSettings(themeColor){
泽(“webWidget”,“updateSettings”,{
webWidget:{
颜色:{
主题:themeColor,
},
},
});
}
//显示hello内容
showHello();
})();
您添加了以下JavaScript代码:
- 一个
updateWidgetSettings
函数使用themeColor
参数。参数用于应用<一个href="https://developer.zendesk.com/api-reference/widget/settings/">颜色设置一个>通过<一个href="https://developer.zendesk.com/api-reference/widget/core/">updateSettings API一个> - 在
showHello
函数,updateWidgetSettings
函数调用时,themeColor
为蓝色指定了十六进制颜色代码 - 在
showGoodbye
函数,updateWidgetSettings
函数调用时,themeColor
为红色指定了十六进制颜色代码
在“你好!”页面时,小部件启动器的颜色为蓝色。当你切换到“再见!”页面时,小部件启动器的颜色为红色。
示例:在单页应用程序中分配聊天部门
在前面示例的基础上,您将使用<一个href="https://developer.zendesk.com/api-reference/widget/settings/">部门API一个>通过<一个href="https://developer.zendesk.com/api-reference/widget/core/">updateSettings API一个>在每个页面上设置聊天部门。因此,当用户在Web小部件(经典)中发起聊天时,它将被路由到特定的部门。
在聊天中创建部门
首先,你需要在Chat中创建两个部门,分别叫“销售”和“支持”。
在“聊天”中选择设置>部门.点击添加部门.
完成以下细节:
- 部门状态:enabled
- 部门名称:销售
- 描述:“销售部”
- 部门职员:您自己加
点击创建部门.
重复上述过程,创建另一个名为“support”的部门。
为每个页面配置聊天部门
在CodePen HTML编辑器中,将以下突出显示的代码添加到自动执行的匿名函数:
(函数(){
// showHello函数
函数showHello(){
var源=文档.getElementById(“hello-template”).innerHTML;
var模板=车把.编译(源);
文档.getElementById(“内容”).innerHTML=模板();
updateWidgetSettings((themeColor=“# 0058 a3”),(部门=“支持”));
varlinkGoodbye=文档.getElementById(“link-goodbye”);
linkGoodbye.addEventListener(“点击”,showGoodbye);
}
// showGoodbye函数
函数showGoodbye(){
var源=文档.getElementById(“goodbye-template”).innerHTML;
var模板=车把.编译(源);
文档.getElementById(“内容”).innerHTML=模板();
updateWidgetSettings((themeColor=“991111 #”),(部门=“销售”));
varlinkHello=文档.getElementById(“link-hello”);
linkHello.addEventListener(“点击”,showHello);
}
updateWidgetSettings函数
函数updateWidgetSettings(themeColor,部门){
泽(“webWidget”,“updateSettings”,{
webWidget:{
颜色:{
主题:themeColor,
},
闲谈,聊天:{
部门:{
选择:部门,
},
},
},
});
}
//显示hello内容
showHello();
})();
您添加了以下JavaScript代码:
- 第二个参数
部门
到updateWidgetSettings
函数,用于通过updateSettings API设置聊天部门 - 在
showHello
函数,updateWidgetSettings
函数调用时,部门
赋值“support”,这是聊天支持部门的名称 - 在
showGoodbye
函数,updateWidgetSettings
函数调用时,部门
分配值“sales”,这是Chat销售部门的名称
在页面上测试Chat部门
修改自执行匿名功能后,您可以在每个页面试用“聊天”功能。
在聊天中,检查是否启用了在线可用性。
在CodePen中,在“Hello!”页面,点击Web Widget (Classic)启动器并发起聊天。它连接到支持部门。或者,切换到“再见!”页面,并在小部件中发起聊天,该小部件将路由到销售部门。
请注意:开始聊天后切换页面,继续与该部门进行对话。 在闲谈,聊天>游客,在下拉选项中选择按部门分组.您应该看到在部门标题下列出的聊天内容。