多商户管理
1.平台客服接入
平台客服接入和普通saas账号的接入方式一致,请参考:一洽客服系统渠道接入
2.子账号客服接入
我防止子账号客服系统用作他用以及企业子账号列表被恶意遍历请求,子账号接入客服时需提供平台的签名,其他参数和平台账号一致见:对话参数列表。
获取子账号的客服接入链接:
进入平台公司-更多配置-网页接入:
获取PC/手机对话窗口地址,此文档已手机端接入为例
chatWindowLink=${chatServer}/visitor/mobile/chat.html?companyId=${companyId}
- 组装子账号对话窗口地址
chatWindowLink=${chatServer}/visitor/mobile/chat.html?companyId=${subAccountId}&platformSign=${platformSign} - platformSign生成规则
生成过程如下:
1)将token、appId、subAccountId三个参数进行字典序排序 2)将三个参数字符串拼接成一个字符串进行sha1加密
检验platformSign的JAVA示例代码:
public String verifyUrl(String appId,String token, String subAccountId)
throws AesException {
String platformSign = SHA1.getSHA1(token, appId, subAccountId);
return platformSign;
}
一洽的签名生成方式和微信一致。
C# C++ Java PHP Python 微信代码示例下载:示例代码
3.消息中心接入
针对平台企业,一洽提供了平台消息中心模块,方便平台快速集成多账号客服中心。
示例:
- 接入地址
msgboxUrl=${chatServer}/visitor/mobile/platform/msgbox.html?companyId=${companyId}&platformSign=${platformSign}
支持参数列表:
参数名 | 类型 | 长度限制 | 描述 |
---|---|---|---|
companyId | int | 平台账号ID,必传 | |
platformSign | String | 255 | 平台签名。(平台账号ID、appId、token自然排序后的sha签名) |
echatTitleBar | int | 1 | 是否显示消息中心的标题栏 0:不显示 其他:显示 |
lan | String | 30 | 打开对话窗口的语言,比如:en、zh、ja、de等 |
metaData | String | 2048 | 会员对接中的会员加密身份信息,具体参见:业务系统集成 |
myData | String | 500 | 业务系统对接中传递的自定义业务数据,具体参见:业务系统集成 |
visEvt | String | 2048 | 图文消息,可对话开始前发送本次咨询的商品信息或者订单信息或者其他信息给客服。此属性的值为图文消息的json字符串,详细介绍请参见JS API文档 |
- 消息中心-js-app交互接口定义
对象注入和调用和对话窗口交互规则一致,详见:一洽会话js-app交互
4.消息通知接入
4.1 web页面
- 接入平台echat.js sdk,监听platformNewMsg事件
- 根据platformNewMsg事件的内容进行消息提示以及未读消息角标渲染
_echat("on", {
newEvent: function (eventData) {
if (eventData && eventData.eventAction && eventData.eventAction == "platformNewMsg") {
if(eventData.eventLabel){
var newMsgInfo = eval(eventData.eventLabel);
console.log("new msg:" + newMsgInfo.msgContent);
console.log("unreadMsgCount:" + newMsgInfo.unreadMsgCount);
}
}
}
})
4.2 APP
- 在一洽对话页面以及含有echat.js页面的webview中注入js-app交互对象
- 接收platformNewMsg事件
- unreadMsgCout渲染消息盒子的入口角标
- content以及账号信息进行本地推送
在消息盒子页面不可见时进行本地推送,否则不进行本地推送,消息盒子页面的判断规则:
监听echatPageStatus页面状态事件
如果event == 2 || event == 4 代表当前在消息盒子页面
其他状态自己app后台运行或者非echat页面运行时均为不可见状态
4.3 server端
4.3.1 实时接收
- 接收实时离线消息推送
- 根据离线消息后远程推送给APP、email、站内信等渠道
消息接收文档
4.3.2 主动查询
一洽支持企业开发者在需要的时候调用客服系统的对外接口来获取某个访客的未读消息数量,企业获取到该数量后通过企业有的渠道通知给客户。