crm.md
8.24 KB
劲霸零售通与 CRM 对接文档
-
ticket
通讯密钥---详见沟通邮件说明---
-
劲霸零售通接口
服务器https://k-boxing.vchangyi.com/
-
CRM
服务器**
更新历史
v1.5.0
- 2017-09-26 绑定接口(CrmBind)同时允许处理解绑和绑定(提供 salesnumber 参数)动作
v1.4.0
- 2017-08-10 员工信息获取接口返回更多的信息字段
v1.3.1
-
/Contact/Open/User/CrmBind
绑定关系通知接口- 返回参数,只保留
userid
、salesnumber
- 返回参数,只保留
-
/Contact/Open/User/Detail
员工信息获取接口- 返回参数,只保留
userid
、mobile
、storecode
- 返回参数,只保留
- 统一字段名称
salesnumber
为导购编号
-
人员删除回调接口
-
导购编号
参数变更为salesnumber
-
v1.2.0
-
/Contact/Open/User/CrmBind
绑定关系通知接口- 请求参数,新增
requester
参数,该值固定为:crm
- 请求参数,更改
number
为salesnumber
- 返回参数,移除
requester
,实际是书写错误,本版移除
- 请求参数,新增
-
/Contact/Open/User/Detail
员工信息获取接口- 请求方式,原是
GET
实际是书写错误,已修复为POST
- 返回参数,新增
salesnumber
店员编号 - 返回参数,新增
storecode
门店编号 - 返回参数,新增
storename
门店名称
- 请求方式,原是
- 附录内容变更
- 新增对于请求参数
timestamp
的说明,不能与实际服务器时间偏差超过 300秒 - 新增对于公共请求参数的说明
- 新增对于请求参数
零售通提供接口
绑定、解绑关系通知接口
接口地址
https://k-boxing.vchangyi.com/A5AA220A0A69039F1E4115437BDC6FE7/Contact/Open/User/CrmBind
POST
请求参数
参数 | 必填 | 类型 | 说明 |
---|---|---|---|
userid | 是 | String | 企业微信 userid |
salesnumber | 否 | String | 导购编号,如果不提供该参数则会解绑指定人员的导购编号 |
timestamp | 是 | Int | (公共签名参数)Unix 时间戳(秒) |
noncestr | 是 | String | (公共签名参数)随机字符串,长度小于 32 位 |
signature | 是 | String | (公共签名参数)参数签名,参见:附录1 |
requester | 是 | String | (公共签名参数)请求者标识符,参见:附录2 |
返回参数
参数 | 类型 | 说明 |
---|---|---|
userid | String | 企业微信 userid |
salesnumber | String | 导购编号 |
返回结果预览
{
"errcode":"0",
"errmsg":"ok",
"errsdkcode": "",
"requestId": "",
"timestamp": 1498563409798,
"result":{
"userid":"WAGYI3241246343646736FASDADSFY"
}
}
员工信息获取接口
接口地址
https://k-boxing.vchangyi.com/A5AA220A0A69039F1E4115437BDC6FE7/Contact/Open/User/Detail
POST
请求参数
参数 | 必填 | 类型 | 说明 |
---|---|---|---|
userid | 是 | String | 企业微信 userid |
timestamp | 是 | Int | (公共签名参数)Unix 时间戳(秒),有效期为 300 秒 |
noncestr | 是 | String | (公共签名参数)随机字符串,长度小于 32 位 |
signature | 是 | String | (公共签名参数)参数签名,参见:附录1 |
requester | 是 | String | (公共签名参数)请求者标识符,参见:附录2 |
返回参数
参数 | 类型 | 说明 |
---|---|---|
userid | String | 企业微信 userid |
mobile | String | 手机号码 |
storecode | String | 门店(所在组织)编号 |
storename | String | 组织名称 |
salesnumber | String | 导购编号 |
storename | String | 组织名称 |
String | 邮箱 | |
name | String | 姓名 |
gender | Number | 性别, 0: 未知, 1:男; 2:女 |
weixin | String | 微信号 |
job | String | 岗位 |
role | String | 角色 |
telphoneField | String | 座机 |
accountOA | String | OA帐号 |
accountCRM | String | CRM帐号 |
accountDRP | String | DRP 帐号 |
accountCM | String | CM 帐号 |
accountOrderMeeting | String | 订货会帐号 |
birthday | String | 生日 |
joinDate | String | 入职日期 |
返回结果预览
{
"errcode": 0,
"errmsg": "ok",
"errsdkcode": "",
"requestId": "",
"timestamp": 1502365116986,
"result": {
"userid": "ASDFASFADS2545243525d.....",
"mobile": "13571313754",
"storecode": "K610001",
"username": "张三",
"salesnumber": "",
"storename": "东风街店",
"email": "",
"gender": 2,
"weixin": "",
"job": "导购",
"role": "终端导购",
"telphoneField": "",
"accountOA": "",
"accountCRM": "",
"accountDRP": "",
"accountCM": "",
"accountOrderMeeting": "",
"birthday": "",
"joinDate": ""
}
}
CRM 提供接口
人员删除回调接口
当 导购通 删除员工操作时,会请求该接口通知 CRM 进行自身的业务操作。
接口地址
…………………………………………………………
POST
请求参数
参数 | 必填 | 类型 | 说明 |
---|---|---|---|
userid | 是 | String | 企业微信 userid |
salesnumber | 是 | String | 导购编号 |
timestamp | 是 | Int | (公共签名参数)Unix 时间戳(秒) |
noncestr | 是 | String | (公共签名参数)随机字符串,长度小于 32 位 |
signature | 是 | String | (公共签名参数)参数签名,参见:附录1 |
返回参数
无具体返回结果
返回结果预览
{
"errcode":"0",
"errmsg":"ok",
"result":{
}
}
附录
1. 权限签名算法
- 约定通讯票据:ticket = XXXXX;
- 签名生成规则:对所有待签名参数按照字段名的 ASCII 码从小到大排序(字典序)后,使用 URL 键值对的格式 (即 key1=value1&key2=value2…)拼接成字符串 string1。这里需要注意的是所有参数名均为小写字符。对 string1 做 sha1 加密,字段名和字段值都采用原始值,不进行URL 转义。即 signature=sha1(string1) ;
- 接口数据传输:将所有字段后附加签名参数;
举例说明
假设参数如下:
ticket=ABDEFGHIJK
number=100001
mobile=13812345678
timestamp=1497859368
noncestr=bfdc3f35f39b27b43b2225e606c7959f
- 对所有参数进行从小到大字典排序,拼接成字符串 string1
mobile=13812345678&noncestr=bfdc3f35f39b27b43b2225e606c7959f&number=100001&ticket=ABDEFGHIJK×tamp=1497859368
- 对 string1 进行 sha1 签名,得到 signature
d9931eaeda0e977a72f23c0aba6cd5dcc469189b
注意事项
千万不要将双方约定的通讯票据 ticket 做为参数进行传输,票据 ticket 只做为签名加密来使用
传输参数中的时间戳 timestamp 是有时效性的,目前约定有效期是 300 秒
2. 关于请求者标识
- 为了区分不同的请求者,这里定义请求者参数:requester=crm
3. 公共请求参数说明
-
timestamp
请求的 Unix 时间戳,该值不能与标准时间偏差超过 300 秒,否则会认为是签名超时 -
noncestr
随机字符串,小于 32位 的字符串,可以是:a-z0-9 -
requester
请求者标识符,此处固定填写为crm
-
signature
请求参数签名值,具体算法见 附录1