Web Widget(经典)api由更改Web Widget(经典)属性的客户端设置或执行操作的命令组成。通常,API设置是在小部件页面加载时设置的。然而,<一个href="https://developer.zendesk.com/api-reference/widget/core/">updateSettings API允许您在运行时自定义小部件API设置。这对于单页面应用程序(spa)特别有用,您可以根据用户操作动态更改小部件设置。

本教程展示了几个实现updateSettings API的示例。

相关信息:

需求

开始

为了演示如何使用updateSettings API,您将创建一个SPA。对于小部件,将启用联系人表单、聊天和帮助中心。

设置Web小部件和Web页面

  1. 在<一个href="https://support.zendesk.com/hc/en-us/articles/217743418">管理中心,转至渠道>经典>Web部件,选择定制页签,打开“联系人表单”、“聊天”和“帮助中心”。

  2. 在您的网络浏览器中,转到<一个href="https://codepen.io/pen/">https://codepen.io/pen/,并创建一个新笔。

  3. 在HTML编辑器中,粘贴以下代码。取代{YOUR_KEY}中提供的小部件键支持>管理>渠道>小部件>设置选项卡。

             
<超文本标记语言><><字符集utf - 8>><身体><!——动态内容占位符——><divid内容风格padding-top20.px>div><!——Web Widget——><脚本idze-snippetsrchttps://static.zdassets.com/ekr/snippet.js?key= {YOUR_KEY}>脚本><!——hello template——><脚本idhello-template类型文本/ x-handlebars-template><p>你好</p><一个身份证“link-goodbye”href“#”>我已经读完了页面</一个>脚本><!——再见模板——><脚本idgoodbye-template类型文本/ x-handlebars-template><p>再见</p><一个身份证“link-hello”href“#”>没有带我回去</一个>脚本><!——显示模板——><脚本srchttps://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函数函数showHellovar文档getElementById“hello-template”innerHTMLvar模板车把编译文档getElementById“内容”innerHTML模板varlinkGoodbye文档getElementById“link-goodbye”linkGoodbyeaddEventListener“点击”showGoodbye// showGoodbye函数函数showGoodbyevar文档getElementById“goodbye-template”innerHTMLvar模板车把编译文档getElementById“内容”innerHTML模板varlinkHello文档getElementById“link-hello”linkHelloaddEventListener“点击”showHello//显示hello内容showHello脚本>身体>超文本标记语言>

页面通过切换句柄模板来响应单击事件来创建动态内容。有关实现细节,请参阅代码注释。

“你好!内容显示“我已读完此页”链接,该链接切换到“再见”内容。“不,带我回去!”链接切换到“Hello”内容。小部件显示在两个内容页面上。

示例:设置每个页面的启动器颜色

为了演示小部件设置如何根据用户操作动态更改,您将为每个页面设置Web小部件(Classic)启动器颜色。

在CodePen HTML编辑器中,将以下突出显示的代码添加到自动执行的匿名函数:

             
函数// showHello函数函数showHellovar文档getElementById“hello-template”innerHTMLvar模板车把编译文档getElementById“内容”innerHTML模板updateWidgetSettingsthemeColor“# 0058 a3”varlinkGoodbye文档getElementById“link-goodbye”linkGoodbyeaddEventListener“点击”showGoodbye// showGoodbye函数函数showGoodbyevar文档getElementById“goodbye-template”innerHTMLvar模板车把编译文档getElementById“内容”innerHTML模板updateWidgetSettingsthemeColor“991111 #”varlinkHello文档getElementById“link-hello”linkHelloaddEventListener“点击”showHelloupdateWidgetSettings函数函数updateWidgetSettingsthemeColor“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中创建两个部门,分别叫“销售”和“支持”。

在Chat中创建部门

  1. 在“聊天”中选择设置>部门.点击添加部门

  2. 完成以下细节:

    • 部门状态:enabled
    • 部门名称:销售
    • 描述:“销售部”
    • 部门职员:您自己加
  3. 点击创建部门

  4. 重复上述过程,创建另一个名为“support”的部门。

为每个页面配置聊天部门

在CodePen HTML编辑器中,将以下突出显示的代码添加到自动执行的匿名函数:

             
函数// showHello函数函数showHellovar文档getElementById“hello-template”innerHTMLvar模板车把编译文档getElementById“内容”innerHTML模板updateWidgetSettingsthemeColor“# 0058 a3”部门“支持”varlinkGoodbye文档getElementById“link-goodbye”linkGoodbyeaddEventListener“点击”showGoodbye// showGoodbye函数函数showGoodbyevar文档getElementById“goodbye-template”innerHTMLvar模板车把编译文档getElementById“内容”innerHTML模板updateWidgetSettingsthemeColor“991111 #”部门“销售”varlinkHello文档getElementById“link-hello”linkHelloaddEventListener“点击”showHelloupdateWidgetSettings函数函数updateWidgetSettingsthemeColor部门“webWidget”“updateSettings”webWidget颜色主题themeColor闲谈,聊天部门选择部门//显示hello内容showHello

您添加了以下JavaScript代码:

  • 第二个参数部门updateWidgetSettings函数,用于通过updateSettings API设置聊天部门
  • showHello函数,updateWidgetSettings函数调用时,部门赋值“support”,这是聊天支持部门的名称
  • showGoodbye函数,updateWidgetSettings函数调用时,部门分配值“sales”,这是Chat销售部门的名称

在页面上测试Chat部门

修改自执行匿名功能后,您可以在每个页面试用“聊天”功能。

在页面上测试聊天部门

  1. 在聊天中,检查是否启用了在线可用性。

  2. 在CodePen中,在“Hello!”页面,点击Web Widget (Classic)启动器并发起聊天。它连接到支持部门。或者,切换到“再见!”页面,并在小部件中发起聊天,该小部件将路由到销售部门。

    请注意:开始聊天后切换页面,继续与该部门进行对话。

  3. 闲谈,聊天>游客,在下拉选项中选择按部门分组.您应该看到在部门标题下列出的聊天内容。

<一个href="https://support.zendesk.com/hc/en-us/community/topics" target="_blank" rel="noreferrer noopener" class="footer__LinkWithIcon-sc-1o148d7-4 gMsdeb"> 论坛<一个href="https://developerblog.zendesk.com" target="_blank" rel="noreferrer noopener" class="footer__LinkWithIcon-sc-1o148d7-4 gMsdeb"> 博客<一个href="https://docs.google.com/forms/d/e/1FAIpQLScm_rDLWwzWnq6PpYWFOR_PwMaSBcaFft-1pYornQtBGAaiJA/viewform" target="_blank" rel="noreferrer noopener" class="footer__LinkWithIcon-sc-1o148d7-4 gMsdeb"> 松弛 亚博加利福尼亚州旧金山市市场街989号,邮编:94103
隐私政策<一个href="//www.ying8.net/company/agreements-and-terms/master-subscription-agreement/" target="_blank" rel="noreferrer noopener">条款和条件<一个href="https://status.zendesk.com" target="_blank" rel="noreferrer noopener">系统状态<一个href="#onetrust-show-cookie-settings" class="ot-sdk-show-settings" id="onetrust-show-cookie-settings">Cookie设置