聊天API
Web Widget (Classic)包含一个聊天组件,允许用户与代理聊天。表示该组件闲谈,聊天
的对象webWidget
。
设置
的闲谈,聊天
对象具有以下设置:
- 抑制一个>
- 标题一个>
- 徽章一个>
- 礼宾部一个>
- connectOnPageLoad一个>
- 部门一个>
- hideWhenOffline一个>
- menuOptions一个>
- 导航一个>
- prechatForm一个>
- profileCard一个>
- offlineForm一个>
- 通知一个>
- 进行身份验证一个>
集成的聊天体验在<一个href=”https://support.zendesk.com/hc/en-us/articles/217743418">管理中心一个>下渠道>经典>Web部件然后打开聊天开关。如果您不是支持管理员,请让一个管理员为您启用它。
例子
<脚本类型=”text / javascript”>
窗口。zESettings={
webWidget:{
闲谈,聊天:{
抑制:假,
通知:{
移动:{
禁用:真正的
}
}
}
}
};
脚本>
命令
聊天组件有以下命令:
- 聊天:发送一个>
- 让聊天:isChatting一个>
- 让聊天:部门一个>
- 让聊天:部门一个>
- 聊天:结束一个>
- updatePath一个>
- 在聊天:连接一个>
- 在聊天:开始一个>
- 在聊天:一个>
- 在聊天:状态一个>
- 在聊天:departmentStatus一个>
- 在聊天:unreadMessages一个>
- 劣质冲浪板一个>
- 在聊天:劣质冲浪板一个>
- 聊天:addTags一个>
- 聊天:removeTags一个>
- 聊天:reauthenticate一个>
聊天:发送
zE('webWidget', 'chat:send', message
使访问者发送信息。启动一个聊天会话,如果一个还没有进行。
参数
消息
:字符串。要发送的消息
传递非字符串类型会导致错误。没有消息发送。
例子
<脚本类型=”text / javascript”>
泽(“webWidget”,聊天:发送的,“我要什锦饭,谢谢。”);
脚本>
让聊天:isChatting
泽(' webWidget: ', '聊天:isChatting ');
检查聊天会话是否正在进行中。
参数
没有一个
返回值
布尔
让聊天:部门
('webWidget:get', 'chat:department', department
返回一个对象,其中包含有关指定部门的信息,包括其id
,名字
,状态
。否则返回未定义的
如果没有找到部门或未启用部门。
请注意:此函数只应在小部件连接后调用。参见示例。
参数
部门
:整数或字符串。部门Id或名称
任何其他输入类型都会返回未定义的
。
例子
<脚本类型=”text / javascript”>
泽(“webWidget:”,“聊天:连接”,函数(){
常量部门=泽(“webWidget:”,“聊天:部门”,“会计”);
控制台。日志(部门);
});
脚本>
<脚本类型=”text / javascript”>
泽(“webWidget:”,“聊天:连接”,函数(){
常量部门=泽(“webWidget:”,“聊天:部门”,5);
控制台。日志(部门);
});
脚本>
返回值
- 对象,包含指定部门的id、名称、状态等信息
- 否则
未定义的
如果没有找到部门或未启用部门
让聊天:部门
泽(' webWidget: ', '聊天:部门”);
返回所有已启用部门的列表,其中包含有关每个部门的信息,包括其id
,名字
,状态
。返回未定义的
如果聊天未连接。
请注意:此函数只应在小部件连接后调用。参见示例。
参数
没有一个
返回值
- 一个对象数组,其中包含有关每个部门的信息,包括其部门
id
,名字
,状态
。
例子
<脚本类型=”text / javascript”>
泽(“webWidget:”,“聊天:连接”,函数(){
常量部门=泽(“webWidget:”,“聊天:部门”);
部门。forEach(部门= >{
控制台。日志(部门);
});
});
脚本>
聊天:结束
泽(' webWidget ', '聊天:结束');
结束当前聊天会话。
参数
没有一个
updatePath
zE('webWidget', 'updatePath', options
以编程方式更新访问者的web路径。
请注意:设置为“当访问者加载聊天小部件时”的聊天触发器将在访问者路径更改时被触发。
参数
选项
:对象(可选)。一个有两个键的对象:url
(用于页面的URL)和标题
(设置页面标题)。如果未指定或无效,将使用当前页面的位置和标题。
如果传递的是非对象类型或带有其他键的对象,则聊天将恢复到使用当前页面的位置和标题。
例子
<脚本类型=”text / javascript”>
//没有选项
泽(“webWidget”,“updatePath”);
脚本>
<脚本类型=”text / javascript”>
//带有选项
泽(“webWidget”,“updatePath”,{
url:“http://example.com”,
标题:“准备好摇滚吧!”
});
脚本>
在聊天:连接
('webWidget:on', 'chat:connected', callback
注册一个回调,当小部件成功连接到服务器时触发。
参数
回调
:函数。在聊天连接上执行的回调
例子
<脚本类型=”text / javascript”>
泽(“webWidget:”,“聊天:连接”,函数(){
控制台。日志(“成功连接Zendesk聊天!”亚博);
});
脚本>
在聊天:开始
('webWidget:on', 'chat:start', callback
注册一个回调函数,在聊天开始时触发。
参数
回调
:函数。在聊天开始时执行的回调
例子
<脚本类型=”text / javascript”>
泽(“webWidget:”,聊天:开始的,函数(){
控制台。日志(“成功启动Zendesk聊天!”亚博);
});
脚本>
在聊天:
('webWidget:on', 'chat:end', callback
注册一个回调函数,在聊天结束时触发。
聊天只有在访问者(而不是座席)结束聊天时才会结束,或者当访问者长时间空闲时才会结束。
参数
回调
:函数。在聊天结束时执行的回调
例子
<脚本类型=”text / javascript”>
泽(“webWidget:”,“聊天:结束”,函数(){
控制台。日志(“成功结束Zendesk聊天会话!”亚博);
});
脚本>
在聊天:状态
zE('webWidget:on', 'chat:status', function(status
注册一个回调函数,当帐户状态改变时触发。
参数
回调
:函数。在帐户状态更改时执行的回调。包含一个参数,状态
,字符串可以是'online'|'away'|'offline'之一
例子
<脚本类型=”text / javascript”>
泽(“webWidget:”,“聊天:状态”,函数(状态){
控制台。日志(“这个聊天会话现在开始”,状态);
});
脚本>
在聊天:departmentStatus
zE('webWidget:on', 'chat:departmentStatus', function(department
注册一个回调,当部门状态改变时触发。
参数
回调
:函数。对每个部门状态更改执行的回调。包含一个参数,部门
的对象名字
,id
和状态
换了部门。
例子
<脚本类型=”text / javascript”>
泽(“webWidget:”,“聊天:departmentStatus”,函数(部门){
控制台。日志(“部门”,部门。名字,“改为”,部门。状态);
});
脚本>
在聊天:unreadMessages
zE('webWidget:on', 'chat:unreadMessages', function(number
注册一个回调,当未读消息数量发生变化时触发。
参数
回调
:函数。对未读消息执行的回调。包含一个参数,数量
,一个整数,详细说明未读消息的数量。
例子
<脚本类型=”text / javascript”>
泽(“webWidget:”,“聊天:unreadMessages”,函数(数量){
控制台。日志(`看来你已经$ {数量}未读消息!`);
});
脚本>
劣质冲浪板
泽(“webWidget”,“可以”);
尝试在桌面上的新窗口中打开实时聊天小部件。当聊天状态为“在线”时,弹出命令起作用。它可能无法在某些设备或配置上工作。
重要的:此命令只能从用户事件侦听器回调调用。看到的例子。
参数
没有一个
例子
<一个href=”javascript:无效(泽('webWidget','劣质冲浪板'))”>在新窗口中打开聊天一个>
在聊天:劣质冲浪板
zE('webWidget:on', 'chat:popout', callback
注册一个回调,当聊天弹出窗口打开时执行。
参数
回调
:函数。当聊天弹出窗口打开时要执行的回调。
例子
<脚本类型=”text / javascript”>
泽(“webWidget:”,“聊天:劣质冲浪板”,函数(){
控制台。日志(在另一个窗口中打开了实时聊天工具);
});
脚本>
聊天:addTags
zE('webWidget', 'chat:addTags', tags
向给定的聊天会话添加标记以提供额外的上下文。
参数
标签
:数组。添加到给定聊天会话的标签。请注意,API还支持将标记作为单独的字符串参数提供(参见下面的示例)。
传递非字符串类型会导致错误。没有消息发送。
例子
<脚本类型=”text / javascript”>
泽(“webWidget”,“聊天:addTags”,[“help_center”,“change_password”]);
泽(“webWidget”,“聊天:addTags”,“help_center”,“change_password”);//分隔字符串参数
脚本>
聊天:removeTags
zE('webWidget', 'chat:removeTags', tags
从给定的聊天会话中删除标记。
参数
标签
:数组。要从给定的聊天会话中删除的标记。请注意,API还支持将标记作为单独的字符串参数提供(参见下面的示例)。
传递非字符串类型会导致错误。没有消息发送。
例子
<脚本类型=”text / javascript”>
泽(“webWidget”,“聊天:removeTags”,[“帮助中心”,“更改密码”]);
泽(“webWidget”,“聊天:removeTags”,“帮助中心”,“更改密码”);//分隔字符串参数
脚本>
聊天:reauthenticate
泽(' webWidget ', '聊天:reauthenticate ');
在会话期间重新验证用户。这个API在以下情况下特别有用:
- 在匿名会话期间登录新用户而不重新加载页面。
- 在前一个用户退出后登录一个新用户而不重新加载页面。
请注意: API仅在jwtFn
提供。请参阅<一个href=”https://developer.zendesk.com/api-reference/widget/settings/">进行身份验证一个>有关更多详细信息的设置。
例子
<脚本类型=”text / javascript”>
泽(“webWidget”,“聊天:reauthenticate”);
脚本>