第三方接入小多客服系统
小程序接入
小程序的自定义参数是通过 进入会话事件 这个消费携带过来的。具体文档见:https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/customer-message/receive.html
其中SessionFrom为传给晓多的自定义参数(json字符串), 定义如下:
{
"nick": "小程序昵称",
"avatar": "头像地址",
"thirdpart_params":[{"key": "顾客信息自定义名称", "label": "顾客信息自定义值"}]
}
WEB B端接入
小多提供通行证登录的地址,调用这个地址后跳转到企业管理台或者客服工作台
登录请求参数:
参数 | 类型 | 描述 |
---|---|---|
pf | int | 平台ID (平台ID 为 2) |
name | string | 用户名 |
nick | string | 昵称 |
phone | string | 用户电话号码 (选填) |
face_url | string | 头像(选填) |
src | string | 渠道标识 (shopID) |
ts | int | 时间戳(请求时间与服务器时间差超过10分钟算非法操作) |
sname | string | 店铺名称 |
sid | string | 店铺ID |
tag{n} | string | 用户标签 (n为整数,例如店铺品类、地域等可表示为“tag1=农副产品&tag2=四川成都”) |
sign | string | md5签名 |
redirect_uri | string | urlEncode后的客服工作台或者企业管理台地址 |
签名生成规则如下:
1、参与签名的字段包括出sign和redirecturi外的所有请求参数,所以sign和redirect_uri必须放在url最后为sign=xx&redirect_uri=xx。
2、对所有待签名参数按照字段名的ASCII码从小到大排序(字典序)后,使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串string。
3、对2中得到的string+key作MD5加密,字段名和字段值都采用原始值,不进行URL转义.
4、把第三步结果转化为大写的十六进制
5、key为一个随机字符串,例如:qi#1!Ao934r9DFf&*(uf90fmmfSKDK)+|JFqKJWKLfffk!@#
注:(1) key为小多科技提供的签名秘钥,不要将key写在前端代码中。 (2) 在URL中传输中文都要先经过urlencoded
获取在线客服数量
测试地址:https://cvd-test.xiaoduoai.com/v1/cs/cs_online_num
正式地址:https://cvd.xiaoduoai.com/v1/cs/cs_online_num
登录请求参数:
参数 | 类型 | 描述 |
---|---|---|
pf | int | 平台ID (平台ID 为 2) |
src | string | 渠道标识 (shopID) |
ts | int | 时间戳(请求时间与服务器时间差超过10分钟算非法操作) |
sign | string | md5签名 |
签名生成规则 与B端接入相同
返回:
{
"error_code": 0,
"info": "OK",
"online_cs_num":1
}
WEB C端接入
小多提供一个URL地址,第三方在前端页面做一个按钮,嵌入这个URL,产生GET请求
- 点击后,弹出新页面
- 新页面中,从refer中,获取从哪个页面跳转过来
- 本URL中带渠道参数
- 本URL中带cookie或token
- 本URL中带用户id(如果用户登录了的话)
<a href="https://cvd.xiaoduoai.com/c/index.html?pf=1&name=shopid&nick=haha&src=shopid&ts=123123123&sign=3E6377099A9CDCC69D283C5F3CD50FA8" target="_blank">联系客服</a>
或者
JS方式弹出对话窗口:
function open_win(){
window.open("https://cvd.xiaoduoai.com/c/index.html?pf=1&name=shopid&nick=haha&src=shopid&ts=123123123&sign=3E6377099A9CDCC69D283C5F3CD50FA8","client","top=30,left=500,width=520,height=570,location=0,menubar=0,scrollbars=0,status=0,toolbar=0,resizable=0");
}
参数 | 类型 | 描述 |
---|---|---|
pf | int | 平台ID (平台ID 为 2) |
nick | string | 用户昵称(选填) |
src | string | 来源渠道shopID |
tid | int | 用户id(需要唯一标识,选填) |
phone | string | 用户的电话号码(选填) |
faceurl | string | 用户头像(选填) |
title | string | 商品名称选填 (选填) |
ts | int | 时间戳(请求时间与服务器时间差超过10分钟算非法操作) |
sign | string | md5签名 |
price | string | 商品价格(选填) |
productimg | string | 商品图片地址 (选填) |
thirdpart_params | string | 客服工作台顾客信息区域展示的自定义字段(选填) |
签名生成规则与B端接入相同
注:nick、faceUrl、title、productimg、thirdpart_params要先urlencoded之后再传递
// thirdpart_params说明
// 值是一个JSON数组,对象里面包含key和label两个属性
// 注意在url传参数时,需要做url编码 例如: encodeURIComponent(JSON.stringify(thirdpart_params))
let thirdpart_params = [{key: '顾客信息自定义名称', label: '顾客信息自定义值'}]