问题
使用本文中描述的触发器的路由工作流自动路由聊天到部门不考虑特定部门的在线状态。是否只有当某个部门在线时,才可能在我的网页上显示Web小部件在线?
回答
免责声明:本文仅供教学之用。亚博Zendesk不支持或保证代码。在评论区发布你遇到的任何问题,或者尝试在网上搜索解决方案。
提示:本文提供了用于支持帐户中的Web Widget (Classic)的代码。要检查您的帐户中有哪个小部件,请参阅文章:我的Zendesk帐户中有哪个小部件?亚博
当特定部门在线时,本机不可能显示小部件,但是您可以使用Zendesk API创建自定义脚本。亚博使用自定义脚本,您可以配置Web Widget (Classic),使其仅在特定部门在线时才显示Chat。脚本将识别一个更改客户的部门状态和API将更新Web Widget (Classic)的设置根据当前部门的情况。
下面是使用此方法的示例API脚本。此示例显示Web Widget仅在CRM部门在线。如果部门CRM状态不在线,聊天被抑制。当Chat被禁止时,只有Web Widget的其他启用功能(经典)展示给来访者。例如,联系表单或帮助中心搜索。
<脚本id = " ze-snippet "
脚本src = " https://static.zdassets.com/ekr/snippet.js?key=ACCOUNT_KEY " > < / >
< >脚本
('webWidget:on', 'chat:departmentStatus', function(dept) {)
If (div .name === 'CRM' && department .status === 'online') {
= 'webWidget', ' updatessettings ', {
webWidget: {
聊天:{
部门:{
启用:["),
选择:“CRM'
},
压制:假
}
}
});
} else if (dept.name === 'CRM' &&部门状态!== '在线'){
= 'webWidget', ' updatessettings ', {
webWidget: {
聊天:{
压制:真
}
}
});
}
});
> < /脚本
19日的评论
这是一个很好的资源@……!以单数部门为例。“CRM”,多个部门的代码会是什么样子,比如“CRM”、“HR”和“Sales”?
我很高兴你觉得这篇文章很有帮助,@……!你知道,在我使用JavaScript还不那么危险的时候,就有人问过我这个问题,考虑到我使用API的方式,我认为这是不可能的——但是让我思考一下,我会在这里回答你。是否只有当部门的一个子集在线时,才将小部件显示为在线,而不自动设置要在小部件中使用的部门(让用户选择)?
你好,埃里克。
对我来说是很棒的文章!
然而在这里链接我说过,这是不可能发生的。
谢谢!
玛丽亚(女名)
你好玛丽亚,
感谢您联系Zendesk支持。亚博
关于您所关心的问题,下面的文章提到了如何在特定部门在线时呈现聊天。这意味着终端用户只能在特定或设置的部门代理在线时访问chat。
以下链接中的说明是自定义的,它不是Zendesk的原生功能。亚博正如本文中的免责声明所述,“本文仅供指导用途。亚博Zendesk不支持或保证代码。在评论区发表你遇到的任何问题,或者尝试在网上搜索解决方案。”
谢谢你!
亲切的问候,
小布埃纳维斯塔DJ |
客户维权专员|
谢谢大家
嗨@……
当我说“然而在这个。链接说这必须自动工作,但这不会发生。”我说的是这个链接:
https://support.亚博zendesk.com/hc/en-us/articles/4408836216218-Using-Web-Widget-Classic-to-embed-customer-service-in-your-website
“如果聊天是唯一启用的联系人选项,并且没有座席在线,启动器会自动启动不显示”。
我说的不是现在的联系。
你是这么说的吗?
玛丽亚(女名)
美好的一天!我将代表DJ回答你的问题。要做到这一点,您必须确保Chat是唯一的联络选项已启用在web小部件设置中(见下面的截图)。有时,由于缓存问题,保存后更改不会立即反映出来。所以,如果你已经启用了聊天选项,即使所有的代理都离线了,你仍然可以看到小部件出现,你可以试试清除缓存和cookie或在其他浏览器上打开帮助中心。
因为Zend亚博esk不保证上面的代码,如果你在你的小部件中添加了它们,这可能会影响它的原生功能,并可能损害它的一些预期行为。
我希望这对你有帮助!
我没有看到这个帖子上提出的第一个问题的明确答案。如果有多个部门,每个部门都有不同的操作时间,那么在部门B和C开放时,防止关闭部门a的聊天小部件的最有效方法是什么?我相信这在其他组织中并不罕见。
嗨,克里斯,
也许像这样修改javascript会有所帮助。但是,可用的部门将在一个下拉列表中显示。
在插入这个API并一切正常工作之前:
聊天:{
部门:{
启用:[' GROUP1 '),
选择:“GROUP1”
}
}
聊天按钮只有在部门在线时才会出现,即使有其他部门在活动。
为什么现在不起作用了?
这个bug会被修复吗?
非常感谢
您提供的脚本仍在工作。但是,它只直接适用于Chat。如果您在小部件上启用了Ticket Submission,它仍然会显示您的部门处于离线状态。
嗨丹麦人,
我禁用了联系人表单,禁用了离线聊天表单,但是在小部件中显示了离线表单(API指示的小部件的特定部门是离线的)。
小部件不关心API中指示的部门。
只有当所有部门都离线时才有效。
这个问题从3月1日开始出现。
我已经在我的终端上尝试过了,它通过禁用离线表单来工作。如果你也做了同样的事情,而同样的行为仍然存在,直接联系技术支持我们会进一步调查。
卢卡,
只是好奇你在这方面有没有进展。我们公司有多个部门,工作时间各不相同。聊天抑制代码的地方和联系形式已被禁用。尽管如此,当Zendesk试图将聊天从封闭部门路由到开放部门的座席时,我们每天都会看到“错过的对话”。亚博很难相信没有一个有效的方法来解决这个问题。
嗨e.campus,
我的技术人员已经构建了一个自定义代码来解决这个问题。我们用的是Eric写的代码。亚博Zendesk没有设置来管理开放和关闭的部门或直接与某些部门聊天。
卢卡,
谢谢卢卡!由于Zen亚博desk的帮助不大,您是否可以与我分享您的技术人员开发的自定义代码结构?
Eric Ypsilantis
这太棒了!这是我错过的一步
是否可以修改此脚本,使其在部门离线时自动响应?我们没有启用预聊天表单,因为我们不希望客户自己选择它,而是将其定向到分配给特定网页的部门。
我不确定这是否可以通过脚本。你可能需要张贴这个查询作为反馈在这里:反馈-聊天和信息(聊天).
但是,您可以启用脱机表单https://developer.亚博zendesk.com/api-reference/widget/settings/#offlineform:~:text=title-,offlineForm,-Set%20the%20offline用于脱机消息。
我希望这对你有帮助!
请登录留下评论。