监听对话事件
echatjs加载完成后可注册事件接收,实现自定义对话的部分高级效果
如:
1.在自定义图标上显示当前页面未读取的新消息数量
2.获取到新消息的内容,可自定义提示效果
3.获取到对话业务的相关数据提交到自己已有的数据分析 如:google analytics
注册监听事件必须在echat.js加载完成
示例:
<script type="text/javascript">
var _echatServer = ['e.echatsoft.com'];
window._echat=window._echat||function(){(_echat.q=_echat.q||[]).push(arguments)};_echat.l=+new Date;
_echat('initParam', { companyId: 1});
(function () {
var echat = document.createElement('script');
echat.type = 'text/javascript';
echat.async = true;
echat.id = 'echatmodulejs';
echat.setAttribute('charset','UTF-8');
echat.src = ('https:' == document.location.protocol ? 'https://' : 'http://') + 'es.echatsoft.com/visitor/echat.js';
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(echat, s);
})();
_echat('on',{
ready: function () {
//一洽配置加载完成
},
newMsg: function (num) {
//一洽新消息数量
},
newEvent: function (data) {
//一洽事件消息
}
});
</script>
13.1监听新消息数量
注册:newMsg:function(num){}
描述:num为当前页面在对话过程中客服或者是系统发送给访客的新消息数量,可在自定义图标位置显示角标
13.2监听一洽对话事件
注册:newEvent: function (event) {}
描述:如果使用页内窗口对话,可通过时间接收,接收到所有的对话事件。如果您是通过新窗口打开了对话那么对话事件中的新消息和评价事件则收不到。
参数描述:event为json对象 属性描述如下:
属性名 | 描述 |
---|---|
eventCategory | 事件分类 echat:对话相关事件 analytics:数据分析相关事件 |
eventAction | 事件的类别明细 |
eventLabel | 事件的详细信息 |
下面是每一类事件的详细介绍
eventCategory == 'echat' 分类的事件列表:
eventAction | eventLabel |
---|---|
chatStatus | 对话状态事件 waiting:等待接入对话 chatting:对话中 leaveDisabled:客服离线、留言禁用 leaveToService:客服离线进入留言 leaveToUrl:客服离线跳转至url end-[0-8]-0/1:对话结束 0-8含义为结束原因: 0:对话结束原因未知 1:访客结束对话 2:客服结束对话 5:客服退出结束对话 6:系统关闭对话 8:访客长时间为响应结束对话 0/1含义为是否需要评价 0:不需要评价 1:需要评价 |
staffStatus | 当前客服的在线状态 1:在线 2:离线 |
newMsg | 访客收到的新消息text/[file]/[image] text:收到的文本消息,消息中会有标签代表表情可直接拼接路径后获取表情图标地址如:表情的基础路径为http[s]://es.echatsoft.com [file]:收到了新的文件 [image]:收到了新的图片 |
chatStaffInfo | 对话的客服信息,json字符串 属性描述如下: staffId:客服ID staffNickName:客服的对外昵称 staffPhone:客服的对外电话 staffHead:客服的对外头像 staffInfo:客服的对外信息介绍 recordId:当前对话的ID 例如:1_12312 |
queuePostion | 客服的排队位置,排队位置变化后会收到此事件 |
visitorEvaluate | 客服的评价结果 0/1-1/2 0/1含义为是否提交了评价 0:访客取消评价 1:访客提交了评价 1/2含义为提交评价时的对话状态 1:访客对话中 2:对话已结束 |
visitorHide | 访客隐藏了对话窗口,eventLabel为空 |
visitorTrackInfo | 关键字信息: country:国家 province:省份 city:城市 searcher:搜索引擎 keyword:搜索关键字 biddingWord:搜索推广字 keywordType :访客点击类型 0:未知 1:SEO 2:竞价 |
echatPageStatus | 当前页面打开的内页对话窗口的状态。(打开-最小化)。页面状态json字段解释。 |
platformNewMsg | 平台客户新消息,eventLabel为新消息的json字符串,此事件只有在平台版本的平台账号下有新的未读消息时才会触发。详见下方平台客户新消息json描述。 |
平台客户新消息json字段解释:
示例
{
"chatUrl":"https://ps.echatsoft.com/visitor/mobile/chat.html?companyId=500029&platformSign=3rfef3ffsfsdwerwjljl",
"companyId":"500029",
"companyLogo":"http://pffile.echatsoft.com/group1/M00/00/00/wKgcPFzae_uAA112AAAZUUyrnC0829.png",
"companyName":"Nike旗舰店",
"msgContent":"[图片]",
"msgId":"123321",
"unreadMsgCount":5
}
字段 | 类型 | 说明 |
---|---|---|
companyId | string | 新消息所属账号ID |
companyName | string | 新消息所属账号名称 |
companyLogo | string | 新消息所属账号的logo |
msgContent | string | 新消息内容(可能为空,如果为空,说明只通知了未读消息数量) |
msgId | string | 消息ID 唯一值 |
chatUrl | string | 对话窗口地址,打开即可进入当前未读消息的对话页面 |
unreadMsgCount | int | 当前消息盒子的未读消息数量(次访客在平台以及平台所有商户的未读消息数量和) |
eventCategory == 'analytics' 分类的事件列表:
此部分事件推送为了方便用户将对话的数据提交给google analytics,如果您也需要将对话的时间提交给google analtyics的话那么请将
https://es.echatsoft.com/visitor/echatDataPlugin.js 通echat.js一同加入到您的网站上,一洽会自动识别ga账号并向ga提交对话相关的数据。注:此部分只有在您使用内页对话窗口是才会统计到可靠的数据。
一洽向google提交的eventCategory为:Echat LiveChat
eventAction | eventLabel |
---|---|
Button Clicked | 访客点击事件,label为空 |
Served by Agent | 对话接入事件,eventLabel为客服昵称 |
ChatEvaluate${val} val为1-5代表评价等级 | 评价事件,eventLabel为chating/end 代表提交评价时对话的状态 |
Chat_Evaluate_Cancel | 取消评价 eventLabel为chating/end 代表取消评价时对话的状态 |
Chat_Comment_submit | 访客提交了评价信息 eventLabel为chating/end 代表提交评价信息时对话的状态 |