9000
1.选择要接收的推送数据
2.接收留言回复推送
3.接收客服推送消息
4.接收未读消息推送
留言回复推送可设置只接收指定渠道的回复消息,客服在Echat系统回复访客留言时,可以根据访客留下的联系方式,回复到不同的渠道,系统会把客服选择的回复渠道下发给开发者的URL,开发者可以利用公司自有的系统(比如:邮件系统,短信平台,会员站内信,APP系统通知,微信公众平台)来回复留言
GET参数追加:dataType=staffPush&msgType=msgReply
请求地址示例:
http://api.myserver.com/echatDataReceiver?timestamp=myTimestamp&nonce=myNonce&signature=81ceaac69a2f44be4f98d4adbea202d5792c62bb&dataType=staffPush&msgType=msgReply
POST内容:客服回复消息的XML信息
明文XML示例:
<xml>
<msgId>345678</msgId>
<tm>1500000237041</tm>
<companyId>60</companyId>
<uid><![CDATA[28474495]]></uid>
<visitorType>1</visitorType>
<appId><![CDATA[公众号或者小程序的appId]]</appId>
<type>3</type>
<talkId><![CDATA[1733339]]></talkId>
<chatTime>1500000237041</chatTime>
<staffName><![CDATA[Allen]]></staffName>
<staffLogName><![CDATA[18038039853]]></staffLogName>
<staffNickName><![CDATA[Allen@Echat]]></staffNickName>
<echatTag><![CDATA[商品咨询]]></echatTag>
<routeName><![CDATA[商品咨询]]></routeName>
<chatDepartmentName><![CDATA[商品咨询]]></chatDepartmentName>
<chatChannel><![CDATA[webpc]]></chatChannel>
<replyChannel><![CDATA[email,sms]]></replyChannel>
<email><![CDATA[allen@echatsoft.com]]></email>
<mobile><![CDATA[18098922786]]></mobile>
<replyContent><![CDATA[客服回复的内容]]></replyContent>
<chatRecord><![CDATA[访客留言的内容]]></chatRecord>
<viewUrl><![CDATA[http://api.echatsoft.com/msgReply/xxx]]><viewUrl>
<myData><![CDATA[web/sdk渠道接入时客户传递的业务数据]]</myData>
<unreadMsgCount><![CDATA[3]]></unreadMsgCount>
</xml>
xml字段解释:
属性 | 类型 | 含义 |
---|---|---|
companyId | Long | 数据发生的账号ID |
msgId | Long | 消息ID |
uid | String | 用户的唯一ID,未登录是游客的ID,登录之后是会员的ID |
visitorType | String | 访客身份类型 -1未知,0-游客(web),1-会员(vip),2-SDK游客(sdk),4-微信(wechat),5-自定义接口(custom) |
mediaId | String | visitorType==5时,此值有效,值为自定义渠道的渠道ID |
appId | String | 公众号或者小程序的appId |
type | int | type=3是客服回复留言,type=4是客服推送消息 type=5是客服发送的对话消息 |
talkId | String | 消息所在回话记录的ID |
chatTime | Long | 消息发送的时间 |
staffName | String | 回复留言或者推送消息的客服名称 |
staffNickName | String | 发送消息的客服对外的昵称 |
staffLogName | String | 操作客服的登陆名 |
echatTag | String | 会话接入时的路由标签 |
routeName | String | 会话所在路由的路由名称 |
chatDepartmentName | String | 对话客服分组名称 |
chatChannel | String | 留言渠道,回复留言时默认回复到留言的渠道 |
replyChannel | String | 选择的其他回复渠道 |
String | 访客的邮箱 | |
mobile | String | 访客的手机 |
replyContent | String | 客服回复 |
chatRecord | String | 访客留言 |
viewUrl | String | 可查询当前留言详细信息的页面地址 |
myData | String | web/sdk渠道接入时客户传递的业务数据 |
unreadMsgCount | int | 当前访客的所有未读消息数量 |
接收客服推送可设置只接收指定渠道的推送消息,客服在Echat系统回复访客留言时,可以根据访客留下的联系方式,回复到不同的渠道,系统会把客服选择的回复渠道下发给开发者的URL,开发者可以利用公司自有的系统(比如:邮件系统,短信平台,会员站内信,APP系统通知,微信公众平台)来实时推送给访客
GET参数追加:dataType=staffPush&msgType=msgSend
请求地址示例:
http://api.myserver.com/echatDataReceiver?timestamp=myTimestamp&nonce=myNonce&signature=81ceaac69a2f44be4f98d4adbea202d5792c62bb&dataType=staffPush&msgType=msgSend
POST内容:客服推送消息的XML信息
明文XML示例:
<xml>
<msgId>345678</msgId>
<tm>1500000237041</tm>
<companyId>60</companyId>
<uid><![CDATA[28474495]]></uid>
<visitorType>1</visitorType>
<appId><![CDATA[公众号或者小程序的appId]]</appId>
<type>4</type>
<talkId><![CDATA[1733339]]></talkId>
<chatTime>1500000237041</chatTime>
<staffName><![CDATA[Allen]]></staffName>
<staffLogName><![CDATA[18038039853]]></staffLogName>
<staffNickName><![CDATA[Allen@Echat]]></staffNickName>
<chatChannel><![CDATA[webpc]]></chatChannel>
<replyChannel><![CDATA[email,sms]]></replyChannel>
<email><![CDATA[allen@echatsoft.com]]></email>
<mobile><![CDATA[18098922786]]></mobile>
<replyContent><![CDATA[客服回复的内容]]></replyContent>
<viewUrl><![CDATA[http://api.echatsoft.com/msgReply/xxx]]><viewUrl>
<myData><![CDATA[web/sdk渠道接入时客户传递的业务数据]]</myData>
<unreadMsgCount><![CDATA[3]]></unreadMsgCount>
</xml>
xml字段解释见留言回复推送的字段解释。
未读消息推送开启后可接收手机访客在离开手机屏幕之后客服发送给访客的消息,开发者可将此消息通过自己的APP推送或者其他渠道通知客户有新消息。
接口配置生效后需要在web路由中开启接收未读消息推送,开启后当前路由的手机访客的未读消息会推送到开发者的URL
GET参数追加:dataType=staffPush&msgType=chatSend
请求地址示例:
http://api.myserver.com/echatDataReceiver?timestamp=myTimestamp&nonce=myNonce&signature=81ceaac69a2f44be4f98d4adbea202d5792c62bb&dataType=staffPush&msgType=chatSend
访客端接入推送参数pushInfo,开发者通过此参数来确认访客的身份以及app推送信息。
pushInfo最大允许长度255。
访客端接入方式:
js sdk接入:
var _echatServer = ['e.echatsoft.com'];
window._echat=window._echat||function(){(_echat.q=_echat.q||[]).push(arguments)};_echat.l=+new Date;
_echat('initParam', { companyId: 203});
_echat('initParam', { pushInfo: '${pushInfo}'});
(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);
})();
对话窗口地址传参接入:
https://es.echatsoft.com/visitor/mobile/chat.html?companyId=203&pushInfo=${pushInfo}
POST内容:客服推送消息的XML信息
明文XML示例:
<xml>
<msgId>345678</msgId>
<tm>1500000237041</tm>
<companyId>60</companyId>
<uid><![CDATA[28474495]]></uid>
<visitorType>1</visitorType>
<type>5</type>
<talkId><![CDATA[1733339]]></talkId>
<lan><![CDATA[ZH-CN]]></lan>
<chatTime>1500000237041</chatTime>
<staffName><![CDATA[Allen]]></staffName>
<staffPhoto><![CDATA[http://vfile.rainbowred.com/group1/M00/37/FC/wKhCBFi-kY-AXWamAAAPfGESU5s664.PNG]]></staffPhoto>
<staffNickName><![CDATA[Allen@Echat]]></staffNickName>
<echatTag><![CDATA[商品咨询]]></echatTag>
<routeName><![CDATA[商品咨询]]></routeName>
<chatDepartmentName><![CDATA[商品咨询]]></chatDepartmentName>
<chatChannel><![CDATA[mobile]]></chatChannel>
<email><![CDATA[allen@echatsoft.com]]></email>
<mobile><![CDATA[18098922786]]></mobile>
<msgType>1</msgType>
<contentType>1</contentType>
<content><![CDATA[您好,请问有什么可以帮助到您?]]></content>
<myData><![CDATA[web/sdk渠道接入时客户传递的业务数据]]</myData>
<pushInfo><![CDATA[web/sdk渠道接入时客户传递的推送信息]]</pushInfo>
<unreadMsgCount><![CDATA[3]]></unreadMsgCount>
</xml>
xml字段解释:
属性 | 类型 | 含义 |
---|---|---|
companyId | Long | 数据发生的账号ID |
msgId | Long | 消息ID |
uid | String | 用户的唯一ID,未登录是游客的ID,登录之后是会员的ID |
visitorType | String | 访客身份类型 -1未知,0-游客(web),1-会员(vip),2-SDK游客(sdk),4-微信(wechat),5-自定义接口(custom) |
mediaId | String | visitorType==5时,此值有效,值为自定义渠道的渠道ID |
type | int | type=3是客服回复留言,type=4是客服推送消息 type=5是客服发送的对话消息 |
talkId | String | 消息所在回话记录的ID |
lan | String | 对话访客的语言 zh,en,fr,ko,jp等 |
chatTime | Long | 消息发送的时间 |
staffName | String | 发送消息的客服名称 |
staffPhoto | String | 发送消息的客服头像 |
staffNickName | String | 发送消息的客服对外的昵称 |
echatTag | String | 会话接入时的路由标签 |
routeName | String | 会话所在路由的路由名称 |
chatDepartmentName | String | 对话客服分组名称 |
chatChannel | String | 留言渠道,回复留言时默认回复到留言的渠道 |
replyChannel | String | 选择的其他回复渠道 |
String | 访客的邮箱 | |
mobile | String | 访客的手机 |
msgType | int | 发送消息的消息类型 1:系统消息 2:客服发送消息 |
contentType | int | 1:对话开始消息 2:忙碌提示语 3:长时间未回复警告提示语 4:对话结束消息 21:文本消息 22:图片消息 23:文件消息 24:邀请评价消息 25:图文消息 |
content | String | 发送的消息内容 contentType为:1、2、3、4、21、24时content为字符串文本 22、23、25:content内容为空 |
myData | String | web/sdk渠道接入时客户传递的业务数据 |
pushInfo | String | web/sdk渠道接入时客户传递的推送信息 |
unreadMsgCount | int | 当前访客的所有未读消息数量 |