企微智客
# 企微智客
# 接口声明
调用流程
Token获取说明:
在调用接口时必须在https请求的header中携带"token"参数。
token是智齿客服接口开放平台全局唯一的接口调用凭据。
开发者在调用各业务接口时都需使用token,开发者需要进行妥善保存。token的存储至少要保留32个字符空间。token的有效期目前为24个小时,需定时刷新,或根据接口返回的token失效提示,进行重新获取。请求token接口,无论token是否存在,都会返回新的token,并重置token的过期时间(目前24小时)。
token使用方式说明:
1、开发者需要统一获取和管理token,在调用智齿客服各个业务开放接 口时都应该使用同一个的token,不应该每个业务都刷新获取新的 token,否则容易导致token失效,影响接口的正常调用;
2、目前token的有效期通过返回的expire_in来传达,目前是86400 秒之内的值。开发者需要根据这个有效时间提前去刷新新token。
3、开发者需要根据接口返回的token失效提示,进行重新获取token。
其他说明:
1、所有的接口需使用HTTPS协议、JSON数据格式、UTF8编码。
2、请求方式,标明接口调用的HTTP方法,区分HttpGet/HttpPost请求。
3、所有接口在调用失败时返回包里都有retCode、retMsg(部分接口在调用成功时没有返回retCode和retMsg)。开发者需根据retCode存在且不为000000判断为失败,否则为成功(retCode详见下方说明)。而retMsg仅作参考,后续可能会有变动,因此不可作为是否调用成功的判据。
4、为了接口安全, 所有接口都需要添加timestamp(请求时间戳)和nonce(随机值)两个参数。
5、所有接口单次推送的最大数据量为1000条。
# 接口调用
# 客户增长
# ● 新增渠道
接口说明:
保存渠道
请求方式:
POST
请求地址:
https://wxm.soboten.com/gateway/qywx-open/api/channel/manage/save
请求参数:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
channelName | string | 是 | 渠道名称 | 不能超过16个字符 |
返回参数:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
retCode | string | 是 | 返回编码 | |
retMsg | string | 是 | 返回信息 | |
item | long | 是 | 渠道id |
请求示例:
{
"channelName": "测试渠道"
}
2
3
返回示例:
{
"item": 125,
"retCode": "000000",
"retMsg": "操作成功"
}
2
3
4
5
# ● 查询渠道详情
接口说明:
查询渠道详情
请求方式:
GET
请求地址:
https://wxm.soboten.com/gateway/qywx-open/api/channel/manage/detail
请求参数:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
channelId | long | 是 | 渠道id |
返回参数:
参数 | 类型 | 名称 | 备注 |
---|---|---|---|
retCode | string | 返回编码 | |
retMsg | string | 返回信息 | |
channelId | long | 渠道id | |
channelName | string | 渠道名称 | |
creatorName | string | 创建人名称 | |
createTime | string | 创建时间 | (秒) |
请求示例:
{
"channelId": 125
}
2
3
返回示例:
{
"item": {
"channelId": 1,
"channelName": "测试2",
"creatorName": "测试人员1",
"createTime": 1657770296
},
"retCode": "000000",
"retMsg": "操作成功"
}
2
3
4
5
6
7
8
9
10
# ● 新增渠道活码
接口说明:
新增渠道活码
请求方式:
POST
请求地址:
https://wxm.soboten.com/gateway/qywx-open/api/channel_code/save
请求参数:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
channel_code_name | string | 是 | 渠道活码名称 | |
wechat_depart_ids | list | 否 | 企业微信部门id集合 | |
wechat_user_ids | list | 否 | 企业微信userId集合 | wechat_depart_ids和wechat_user_ids不能同时为空.并且传入的员工不能超过100个 |
channel_id | long | 是 | 投放渠道id | 由销售人员提供 |
返回参数:
参数 | 类型 | 名称 | 备注 |
---|---|---|---|
retCode | string | 返回编码 | |
retMsg | string | 返回信息 | |
wechat_config_id | string | 企微返回的configId | |
channel_code_id | string | 智齿渠道活码id | |
qr_url | string | 二维码图片的url | |
failInfos | list | 创建失败信息 | 渠道活码创建成功,但是有员工或者部门关联失败时返回 |
failInfos:
参数 | 类型 | 名称 | 备注 |
---|---|---|---|
err_code | string | 错误码 | |
err_msg | string | 错误原因 | |
id | string | 用户id或者部门id | |
id_type | int | id类型 | 0-用户id,1-部门id |
请求示例:
{
"channel_code_name": "测试",
"wechat_depart_ids": ["1"],
"wechat_user_ids": ["zhangshan","lisi"],
"channel_id": 1
}
2
3
4
5
6
返回示例:
{
"retCode": "000000",
"retMsg": "操作成功",
"item": {
"wechat_config_id": "1",
"channel_code_id": "1",
"qr_url": "https://soboten.com/crm/6d96952fbe804872a81981a916fca434/userImage/20211019193736935.png",
"failInfos": [
{
"err_code": "900011",
"err_msg": "此员工未绑定坐席!",
"id": "lisi",
"id_type": 0
}
]
}
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# ● 更新渠道活码
接口说明:
更新渠道活码
请求方式:
POST
请求地址:
https://wxm.soboten.com/gateway/qywx-open/api/channel_code/edit
请求参数:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
channel_code_id | string | 是 | 智齿渠道活码id | |
channel_code_name | string | 否 | 渠道活码名称 | |
wechat_user_ids | list | 否 | 企业微信userId集合 | 员工数量不能超过100个 |
wechat_depart_ids | list | 否 | 企业微信部门id集合 | |
channel_id | list | 否 | 投放渠道id |
返回参数:
参数 | 类型 | 名称 | 备注 |
---|---|---|---|
retCode | string | 返回编码 | |
retMsg | string | 返回信息 | |
failInfos | list | 修改失败信息 | 渠道活码修改成功,但是有员工或者部门关联失败时返回 |
请求示例:
{
"channel_code_id": "123232323",
"channel_code_name": "更新测试名称",
"wechat_user_ids": ["zhangshan","lisi"],
"channel_id": 1
}
2
3
4
5
6
7
返回示例:
{
"item": {
"fail_infos": [
{
"err_code": "900011",
"err_msg": "此员工未绑定坐席!",
"id": "lisi",
"id_type": 0
}
]
},
"retCode": "000000",
"retMsg": "操作成功"
}
2
3
4
5
6
7
8
9
10
11
12
13
14
# ● 引流短链查询
接口说明:
引流短链查询接口
请求方式:
POST
请求地址:
https://www.soboten.com/api/qywx/short_link/list/get
请求参数:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
start_time | long | 是 | 起始更新时间 | 起始更新时间-秒 |
end_time | long | 是 | 截止更新时间 | 截止更新时间-秒 |
page_no | int | 是 | 页码 | |
page_size | int | 是 | 分页数量 | 一页最多携带30条数据 |
返回参数:
参数 | 类型 | 名称 | 备注 |
---|---|---|---|
page_no | int | 页码 | |
page_size | int | 每页返回数量 | 一页最多携带30条数据 |
page_count | int | 总页数 | |
total_count | int | 总条数 | |
items | list | 返回的参数列表 | |
ret_code | string | 状态码 | |
ret_msg | string | 提示报文 |
返回对象参数:
参数 | 类型 | 名称 | 备注 |
---|---|---|---|
id | string | 短链id | |
link_name | string | 短链名 | |
short_link_url | string | 短链url | |
wxacode_url | string | 小程序二维码url | |
page_type | int | 短链类型 | 1:先进入海报页2:直接进入扫码页 |
返回示例:
{
"start_time": 1657641600,
"end_time": 1657728000,
"page_no": 1,
"page_size": 15
}
2
3
4
5
6
7
返回示例:
{
"ret_code":"000000",
"ret_msg":"成功",
"page_no":1,
"page_size":15,
"items":[
{
"id":"1",
"link_name":"短链",
"short_link_url":"testwxm.sobot.com/s/hh20U",
"wxacode_url":"https://sobot-test.oss-cn-beijing.aliyuncs.com/crm/qywx-qrcode/60b7e31daf15417aa0f521aa7d822ddd/miniprogram/wxacode/wxacode_tg_3433ee4d26c4493da78f08e8946258a0_1654596021464.png" ,
"page_type": 1
}
],
"page_count":1,
"total_count":1
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# ● 引流短链统计查询
接口说明:
引流短链统计查询接口
请求方式:
POST
请求地址:
https://www.soboten.com/api/qywx/short_link/statistics
请求参数:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
start_time | long | 是 | 起始更新时间 | 起始更新时间-秒 |
end_time | long | 是 | 截止更新时间 | 截止更新时间-秒 |
linkid_list | list | 否 | 引流短链id列表 | 与引流短链url列表不可同时为空,同时存在时以本参数为准。一次最多传30个。 |
link_url_list | list | 是 | 引流短链url列表 | 与引流短链id列表不可同时为空,同时存在时以引流短链id列表参数为准。一次最多传30个。 |
返回参数:
参数 | 类型 | 名称 | 备注 |
---|---|---|---|
page_no | int | 页码 | |
page_no | int | 页码 | |
page_no | int | 页码 |
返回对象参数:
参数 | 类型 | 名称 | 备注 |
---|---|---|---|
system_type | int | 操作系统类型 | 1:安卓 2:ios 3:其他 |
click_count | long | 短链点击数 | |
poster_count | long | 海报页面访问数 | |
poster_btn_count | long | 海报按钮点击数 | |
phone_auth_count | long | 手机号授权数 | |
qrcode_count | long | 加微页面访问数 | |
scan_qrcodes_count | long | 扫码数 | |
add_friend_count | long | 添加数 |
请求示例:
{
"start_time": 1657641600,
"end_time": 1657728000,
"linkid_list": ["02aaf1cc10b143c2af29e848ba607f36"]
}
2
3
4
5
6
返回示例:
{
"ret_code":"000000",
"ret_msg":"成功",
"page_no":1,
"page_size":15,
"items":[
{
"system_type":1,
"click_count":19,
"poster_count":9,
"poster_btn_count":9,
"phone_auth_count": 4,
"qrcode_count": 4,
"scan_qrcodes_count": 3,
"add_friend_count": 1
}
]
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# ● 查询引流短链添加客户详情
接口说明:
引流短链统计查询接口
请求方式:
POST
请求地址:
https://www.soboten.com/api/qywx/short_link/details
请求参数:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
start_date | string | 是 | 起始更新时间 | 起始更新时间yyyy-MM-dd格式 |
end_date | string | 是 | 截止更新时间 | 截止更新时间yyyy-MM-dd格式 |
linkid_list | list | 否 | 引流短链id列表 | 与引流短链url列表不可同时为空,同时存在时以本参数为准。一次最多传30个。 |
link_url_list | list | 否 | 引流短链url列表 | 与引流短链id列表不可同时为空,同时存在时以引流短链id列表参数为准。一次最多传30个。 |
page_no | int | 否 | 页码 | 不传默认为1 |
page_size | int | 否 | 页大小 | 不传默认为15,最大可为100 |
返回参数:
参数 | 类型 | 名称 | 备注 |
---|---|---|---|
items | list | 返回的参数列表 | |
ret_code | string | 状态码 | |
ret_msg | string | 提示报文 | |
page_no | int | 页码 | |
page_size | int | 页大小 |
返回对象参数:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
linkid | string | 是 | 短链id | |
crm_userid | string | 是 | 智客客户id | |
third_userid | string | 是 | 接待员工三方userid | |
build_userid | string | 否 | 接待员工自建userid | |
third_external_userid | string | 是 | 客户三方userid | |
build_external_userid | string | 否 | 客户自建userid | |
unionid | string | 否 | 客户unionid | |
contact_time | long | 是 | 添加时间戳-秒 | |
tel | list | 否 | 客户号码列表 |
请求示例:
{
"start_date": "2022-04-01",
"end_date": "2022-04-30",
"linkid_list": ["aqaf1cc10b143c2af29e848ba603lj7"]
}
2
3
4
5
返回示例:
{
"ret_code":"000000",
"ret_msg":"成功",
"page_no":1,
"page_size":15,
"items":[
{
"linkid":"start_date",
"crm_userid":"d37a65028dfc49d6b331cdd6aabd7493",
"third_userid":"wor8AYBgAAS9U7krICX__8PNBXXImiXQ",
"build_userid":"sharker",
"third_external_userid":"wmzcrEDAAAgHYGWMv-LVXbNmlbgNoaOw",
"build_external_userid":"wmr8AYBgAAXshOMYG8nV3SygzN1oUSrA",
"unionid":"owDrH5y2gNwbyKQUnkqjfhF1sAik",
"contact_time":1656677633000,
"tel":["1398796077"]
}
]
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 客户管理
# ● 查询客户信息
接口说明:
查询客户详情
请求方式:
GET
请求地址:
https://www.soboten.com/api/qywx/user/list_by_page
请求参数:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
search_type | String | 否 | 类型 | 1:客户昵称 2:真实姓名3:公司 4:电话 5:邮箱 |
search_value | String | 否 | 搜索值 | |
stageid | String | 否 | 跟进阶段id | |
create_start_time | String | 否 | 创建开始时间(秒) | |
create_end_time | String | 否 | 创建结束时间(秒) | |
user_label | List | 否 | 客户标签 | |
isblack | String | 否 | 是否黑名单 | 1是 0否 |
module_type | String | 否 | 模块分类 | 1.全部客户(默认) 2.首咨客户列表 3.待分配客户列表 4.跟进中的客户列表 5.公海客户列表 6.我负责的客户列表 |
page_no | Integer | 是 | 起始页码 | 1 |
page_size | Integer | 是 | 每页条数 | 默认每页15条 |
update_start_time | String | 否 | 更新开始时间(秒) | |
update_end_time | String | 否 | 更新截止时间(秒) |
返回参数:
参数 | 类型 | 必填 | 名称 |
---|---|---|---|
ret_code | String | 是 | 返回编码 |
ret_msg | String | 是 | 返回信息 |
page_no | String | 是 | 当前页数 |
page_count | String | 是 | 总页数 |
total_count | String | 是 | 总数量 |
page_size | String | 是 | 页码大小 |
items | Object | 是 | 查询信息 |
items:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
id | String | 是 | 客户id | |
nick | String | 是 | 客户昵称 | |
uname | String | 否 | 真实姓名 | |
visitorids | String | 否 | 访客id | |
partnerid | String | 否 | 对接id | |
String | 否 | 邮箱 | ||
tel | String | 否 | 手机号码 | |
String | 否 | QQ号 | ||
wx | String | 否 | 微信号 | |
sex | Ingeter | 否 | 性别 | 性别 1男,2女 |
remark | String | 否 | 备注 | |
enterpriseid | String | 否 | 企业ID(跟公司ID不同) | |
enterprise_name | String | 否 | 企业名称 | |
is_vip | String | 否 | 客户等级 | 0:普通 1:vip |
vip_level | String | 否 | VIP级别 | 固定字段,下拉列表用户可以自定义 |
user_status | String | 否 | 客户状态(黑名单标记) | 0正常,1黑名单 |
proviceid | String | 否 | 省id | |
provice_name | String | 否 | 省 | |
cityid | String | 否 | 市id | |
city_name | String | 否 | 市 | |
areaid | String | 否 | 区id | |
area_name | String | 否 | 区 | |
user_label | String | 否 | 业务标签id(逗号隔开) | |
liable_serviceid | String | 否 | 负责人id | |
liable_service_name | String | 否 | 负责人姓名 | |
helper_serviceid | String | 否 | 协助人id,多个用逗号隔开 | |
helper_service_name | String | 否 | 协助人姓名,多个用逗号隔开 | |
extend_fields | Object | 否 | 扩展字段 | |
fixed_fields | Object | 否 | 客户自定义-固定字段,客户自定义选项值 | |
ex_field_str | String | 否 | 客户自定义-扩展字段 | |
source | String | 否 | 客户来源 | |
wx_unionids | List | 否 | 微信unionid,字符串数组 | |
create_type | String | 否 | 创建者类型,操作者类型(1客服,2套电机器人、3接待机器人、4语音机器人、5电销机器人、6触发器、7定时任务) | |
create_time | String | 否 | 创建时间(秒) | |
create_date | String | 否 | 创建日期(秒) | |
update_time | String | 否 | 更新时间(秒) | |
wx_external_userid | List | 否 | 企微的外部联系人id,字符串数组 | |
create_serviceid | String | 否 | 创建人id | |
create_service_name | String | 否 | 创建人名称 | |
follow_user | Object | 否 | 添加的企微员工 | |
follow_user.userid | String | 否 | 企微员工的userid | |
follow_user.remark | String | 否 | 该成员对此外部联系人的备注 | |
follow_user.createtime | Long | 否 | 该成员添加此外部联系人的时间 | |
follow_user.add_way | Long | 否 | 该成员添加此客户的来源,具体含义详见 来源定义 | |
follow_user.status | int | 否 | 1:正常,有好友关系-1:员工删除客户-2:客户删除员工 | |
follow_user.external_userid | String | 否 | 该员工建立好友关系的外部联系人id | |
follow_user.channelid | String | 否 | 添加渠道id |
请求示例:
curl https://www.sobot.com/api/qywx/user/list_by_page?page_size=5&page_no=1&isblack=0&search_type=tel&search_value=13234333434&stageid=fb642ab91666472bb81c3beb1889b2dc&create_start_time=1625138677&create_end_time=1625397877&user_label=9693c1896bbc45779ac7a28485b0a854,201ff94ccfe242629b557042867a13ad&module_type=3 -X POST -H 'content-type: application/json' -H 'token: 4ac37cb2e9c740dba4b75a34d5358802'
返回示例:
{
"items": [
{
"id": "b7128cb83f6f4b739c2db7ab7dc8b763",
"pid": "60b7e31daf15417aa0f521aa7d822ddd",
"nick": "韩之晴",
"uname": "",
"qq": "",
"wx": "",
"sex": 2,
"source": 9,
"remark": "",
"status": 8,
"tels": [],
"emails": [],
"visitorids": "",
"proviceid": "",
"provice_name": "",
"cityid": "",
"city_name": "",
"areaid": "",
"area_name": "",
"enterpriseid": "",
"enterprise_name": "",
"departmentid": "",
"is_vip": "0",
"vip_level": "",
"user_status": 0,
"user_label": "a20e2c9ce1354cfab265291d9107fec7,c2db1a7ea4dd4bf4be4b0e638cee083d,c610588a75f44329903d8d33eaa82e9f,fef396b4a9be40d4966c80a5fd7f296a,fe274efe66834d2d86e73c2f4d45e50e",
"biz_label": "",
"extend_fields": {},
"fixed_fields": {},
"create_type": 1,
"create_time": 1629860274,
"create_date": 1629820800,
"create_serviceid": "653793b4b30e447dba698a452226076e",
"create_service_name": "",
"update_time": 1703062614,
"update_user_id": "5e7b506c5b404334a431ea120b1947ee",
"update_user_name": "刘金萌测试",
"liable_serviceid": "",
"liable_service_name": "",
"crm_status": 4,
"follow_user": [
{
"userid": "wor8AYBgAA4hQKumvkoF3vPcD-G9_GyA",
"external_userid": "wmr8AYBgAAutQHlJ9BNKITEyqnYJwBJA",
"remark": "韩之晴",
"createtime": 1703062614,
"status": 1,
"add_way": 202,
"channelid": ""
}
],
"wx_external_userids": [
"wmr8AYBgAAutQHlJ9BNKITEyqnYJwBJA",
"wmzcrEDAAAUvn2wnzsDj1Tr9JTPmxcGg",
"wmzcrEDAAAUvn2wnzsDj1Tr9JTPmxcGg"
],
"wx_unionids": [
"or-MA5wgJliNfNPHeQgonNa4hmr0"
],
"partnerids": [
"wmzcrEDAAAUvn2wnzsDj1Tr9JTPmxcGg"
]
}
],
"success": true,
"page_no": 1,
"page_count": 741,
"total_count": 11106,
"page_size": 15,
"ret_code": "000000",
"ret_msg": "操作成功"
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
# ● 客户分配记录
接口说明:
通过传入的客服id,查询起始时间,获取指定客服id在指定时间区间内分配到的客户的记录。
请求方式:
POST
请求地址:
https://www.soboten.com/api/scrm/5/user/cus_distribute_records
请求参数:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
liable_serviceid | string | 是 | 客服id | 需要查询的客服的id,一次请求传入一个 |
start_time | long | 是 | 查询开始时间 | 时间戳,精确至秒 |
end_time | long | 是 | 查询结束时间 | 时间戳,精确至秒 |
客户分配记录对象:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
assign_time | long | 是 | 分配时间 | 时间戳,精确至秒 |
user_id | string | 是 | 客户id | |
company_id | string | 是 | 查询数据的公司id | |
nick | string | 是 | 客户昵称 |
返回参数:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
ret_code | string | 是 | 返回编码 | |
ret_msg | string | 是 | 返回信息 | |
items | list | 否 | 客户分配记录列表 | 在指定的时间区间内,未查询到该客服被分配到客户,则该参数返回空数组 |
page_no | int | 是 | 当前页码 | |
page_count | int | 是 | 总页数 | |
total_count | int | 是 | 总数据条数 | |
page_size | int | 是 | 当前页大小 | 页大小最大为100 |
请求示例:
{
"liable_serviceid":"9616577c98f045e2a02b314708a8251d",
"start_time":1653580800,
"end_time":1654185599
}
2
3
4
5
6
返回示例: 有数据时
{
"items": [
{
"company_id": "60b7e31daf15417aa0f521aa7d822ddd",
"user_id": "eb00cf3b5aa54d8781cd42e396b7172c",
"nick": "让台湾",
"assign_time": 1654141377
}
],
"page_no": 1,
"page_count": 1,
"total_count": 1,
"page_size": 15,
"ret_code": "000000",
"ret_msg": "操作成功"
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
无数据时
{
"items": [],
"page_no": 1,
"page_count": 0,
"total_count": 0,
"page_size": 15,
"ret_code": "000000",
"ret_msg": "操作成功"
}
2
3
4
5
6
7
8
9
# ● 客户分配统计
接口说明:
通过传入的客服id,查询起始时间,获取指定客服id在指定时间区间内,每天分配到的客户的数量。
请求方式:
POST
请求地址:
https://www.soboten.com/api/scrm/5/user/cus_distribute_statistics
请求参数:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
liable_serviceid | string | 是 | 客服id | 需要查询的客服的id,一次请求传入一个 |
start_date | string | 是 | 查询开始时间 | yyyy-MM-dd的格式例:2022-06-01与查询结束时间的差值最大可为一个月 |
end_date | string | 是 | 查询结束时间 | yyyy-MM-dd的格式例:2022-06-01与查询开始时间的差值最大可为一个月 |
客户分配统计对象:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
liable_serviceid | long | 是 | 客服id | 客服id |
companyid | string | 是 | 公司id | |
assign_num | int | 是 | 分配数量 | 如果此项数据为0,系统将不会返回对应的客户分配统计对象 |
assign_date | string | 是 | 分配日期 | yyyy-MM-dd的格式例:2022-06-01 |
返回参数:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
ret_code | string | 是 | 返回编码 | |
ret_msg | string | 是 | 返回信息 | |
items | list | 否 | 客户分配统计列表 | 在指定的时间区间内,未查询到该客服的客户分配统计数据,则该参数返回空数组 |
请求示例:
{
"liable_serviceid":"4d932aa0ae704968be6e37d20de31d4c",
"start_date":"2022-05-02",
"end_date":"2022-06-02"
}
2
3
4
5
返回示例: 有数据时
{
"items": [
{
"liable_serviceid": "4d932aa0ae704968be6e37d20de31d4c",
"companyid": "60b7e31daf15417aa0f521aa7d822ddd",
"assign_num": 1,
"assign_date": "2022-05-09"
}
],
"ret_code": "000000",
"ret_msg": "操作成功"
}
2
3
4
5
6
7
8
9
10
11
12
13
无数据时
{
"items": [],
"ret_code": "000000",
"ret_msg": "操作成功"
}
2
3
4
5
# ● 客户联系统计
接口说明:
企业可通过此接口获取成员联系客户的数据,包括发起申请数、新增客户数、聊天数、发送消息数和删除/拉黑成员的客户数等指标
请求方式:
POST
请求地址:
https://[联系销售]/api/qywx/externalContact/getUserBehaviorData
请求参数:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
development_mode | Integer | 是 | 开发模式(1-纯三方,2-自建代开发) | |
userid | string[] | 是 | 成员ID列表,最多100个 | |
partyid | string[] | 否 | 部门ID列表,最多100个 | |
start_time | long | 否 | 数据起始时间 | (秒) |
end_time | long | 是 | 数据结束时间 | (秒) |
返回参数:
参数 | 类型 | 名称 | 备注 |
---|---|---|---|
stat_time | long | 数据日期,为当日0点的时间戳 | (秒) |
new_apply_cnt | int | 发起申请数 | |
new_contact_cnt | int | 新增客户数 | |
chat_cnt | int | 聊天总数 | |
message_cnt | int | 发送消息数 | |
reply_percentage | double | 已回复聊天占比 | |
avg_reply_time | long | 平均首次回复时长,单位为分钟 | |
negative_feedback_cnt | int | 删除/拉黑成员的客户数 |
请求示例:
{
"userid": [
"zhangsan",
"lisi"
],
"partyid":[
1001,
1002
],
"start_time":1536508800,
"end_time":1536595200
}
2
3
4
5
6
7
8
9
10
11
12
返回示例:
{
"retCode": "000000",
"retMsg": "操作成功",
"item": null
}
2
3
4
5
# ● 群聊信息查询
接口说明:
通过传入的开发模式、群主id、起始建群时间及截止建群时间,查询群聊信息列表。
请求方式:
POST
请求地址:
https://www.soboten.com/api/qywx/group_chat_label/get
请求参数:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
development_mode | int | 否 | 开发模式 | 1-纯三方,2-自建代开发,默认纯三方,如果没有安装自建代开发,即便传2也是返回三方数据 |
group_chat_ownerid | string | 否 | 群主id | 根据开发模式取三方群主id或者自建群主id |
start_time | long | 否 | 查询开始时间 | 时间戳,精确至秒 |
end_time | long | 否 | 查询结束时间 | 时间戳,精确至秒 |
群聊信息对象:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
development_mode | int | 是 | 开发模式 | |
group_chat_ownerid | string | 是 | 群主id | 如果此项数据为0,系统将不会返回对应的客户分配统计对象 |
group_chatid | int | 是 | 群聊id | |
create_time | long | 是 | 群聊创建日期 | 时间戳,精确到秒 |
group_chat_name | string | 是 | 群里名称 | |
group_chat_labelid_list | list | 是 | 群聊的群标签id列表 | |
member_num | int | 是 | 群成员数 | |
active_status | int | 是 | 活跃状态 | 当有会话存档且设置了群活跃状态时有此值 1代表活跃 -1代表不活跃 |
返回参数:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
ret_code | string | 是 | 返回编码 | |
ret_msg | string | 是 | 返回信息 | |
items | list | 否 | 群聊信息对象列表 | 未查询到该满足条件的数据,则该参数返回空数组 |
请求示例:
{
"development_mode":1,
"group_chat_ownerid":"wor8AYBgAAEscl54pB-4Fhn9rQ5dEhbg",
"page_no":1,
"page_size":15
}
2
3
4
5
6
返回示例:
有数据时
{
"items": [
{
"development_mode": 1,
"group_chat_ownerid": "wor8AYBgAAEscl54pB-4Fhn9rQ5dEhbg",
"group_chatid": "wrr8AYBgAAT86khnW2bFFFBAuqsH1BYw",
"create_time": 1652946392,
"group_chat_name": "贝斯",
"group_chat_labelid_list": [],
"member_num": 4
}
],
"page_no": 1,
"page_count": 1,
"total_count": 1,
"page_size": 15,
"ret_code": "000000",
"ret_msg": "操作成功"
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
无数据时
{
"items": [],
"page_no": 1,
"page_count": 0,
"total_count": 0,
"page_size": 15,
"ret_code": "000000",
"ret_msg": "操作成功"
}
2
3
4
5
6
7
8
9
# 成员管理
# ● 读取企微成员信息
接口说明:
在通讯录同步助手中此接口可以读取企业通讯录的所有成员的信息,而自建应用可以读取该应用设置的可见范围内的成员信息。
请求方式:
POST
请求地址:
https://www.soboten.com/api/qywx/user/get
请求参数:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
development_mode | int | 是 | 开发模式(1-纯三方,2-自建代开发) | |
userid | string | 是 | 成员UserID |
返回参数:
参数 | 类型 | 名称 | 备注 |
---|---|---|---|
userid | string | 成员UserID | |
name | string | 成员名称 | |
mobile | string | 手机号码 | |
department | int[] | 成员所属部门id列表 | |
order | int[] | 部门内的排序值 | |
position | string | 职务信息 | |
gender | string | 性别 | |
string | 邮箱 | ||
biz_mail | string | 企业邮箱 | |
is_leader_in_dept | int[] | 表示在所在的部门内是否为部门负责人 | |
direct_leader | string[] | 直属上级 UserID | |
avatar | string | 头像url | |
thumb_avatar | string | 头像缩略图url | |
telephone | string | 座机 | |
alias | string | 别名 | |
extattr | object | 扩展属性 | |
status | int | 激活状态 | 1=已激活,2=已禁用,4=未激活,5=退出企业 |
qr_code | string | 员工个人二维码 | |
external_profile | object | 成员对外属性 | |
external_position | string | 对外职务 | |
address | string | 地址 | |
open_userid | string | open_userid全局唯一 | |
main_department | int | 主部门 |
请求示例:
{
"developmentMode":1,
"userid":"u56thtf235e4sderr"
}
2
3
4
返回示例:
{
"retCode": "000000",
"retMsg": "操作成功",
"item": null
}
2
3
4
5
# ● 获取客服坐席信息
接口说明:
通过传入的客服id或员工企微userid及开发模式,来获取对应的客服信息。当客服id、员工企微userid、开发模式都为空,则查询全部客服数据。员工企微userid和开发模式必须同时存在,缺一不可当员工企微userid和客服id同时存在时,以员工企微userid作为查寻依据通过分页参数限制获得的客服信息,如果不传入分页参数,默认分页参数为:page_no:1 page_size:15
请求方式:
POST
请求地址:
http://www.soboten.com/api/qywx/cus_service/get
请求参数:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
development_mode | int | 否 | 开发模式 | 1-纯三方,2-自建代开发(默认纯三方,如果没有安装自建代开发,即便传2也是返回三方数据) |
qywx_userid | string | 否 | 员工企微userid | 需要查询的员工企微userid,一次请求传入一个 |
serviceid | string | 否 | 客服id | 需要查询的客服id,一次请求传入一个 |
page_no | int | 否 | 分页页码 | 默认为1 |
page_size | int | 否 | 每页大小 | 默认为15 |
客服信息返回对象:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
qywx_third_userid | string | 否 | 员工企微三方userid | 员工企微三方userid |
qywx_build_userid | string | 否 | 员工企微自建userid | 员工企微自建userid |
serviceid | string | 是 | 群标签信息对象列表 | 列表内存放企微标签信息对象 |
service_qywx_name | string | 否 | 企微员工名称 | 企微员工名称 |
返回参数:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
ret_code | string | 是 | 返回编码 | |
ret_msg | string | 是 | 返回信息 | |
items | list | 否 | 客服信息返回对象列表 | 未查询到满足条件的数据时,则该参数返回空数组 |
page_no | int | 是 | 当前页码 | |
page_count | int | 是 | 总页数 | |
total_count | int | 是 | 总数据条数 | |
page_size | int | 是 | 当前页大小 |
请求示例:
{
"development_mode":1,
"serviceid":"3479b5e3656b431883206ac21ee9cf49",
"qywx_userid":"wor8AYBgAAmOa0LQw8w9mYPr1Q-5lQRg",
"page_no":1,
"page_size":15
}
2
3
4
5
6
7
返回示例:
有数据时
{
"items": [
{
"qywx_third_userid": "wor8AYBgAAmOa0LQw8w9mYPr1Q-5lQRg",
"qywx_build_userid": "ShangShanRuoShui",
"serviceid": "ShangShanRuoShui",
"service_qywx_name": "江海华"
}
],
"page_no": 1,
"page_size": 15,
"ret_code": "000000",
"ret_msg": "操作成功"
}
2
3
4
5
6
7
8
9
10
11
12
13
14
无数据时
{
"items": [],
"page_no": 1,
"page_count": 0,
"total_count": 0,
"page_size": 15,
"ret_code": "000000",
"ret_msg": "操作成功"
}
2
3
4
5
6
7
8
9
# ● 获取企微单个部门详情
接口说明:
请求方式:
POST
请求地址:
https://www.soboten.com/api/qywx/department/get
请求参数:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
development_mode | int | 是 | 开发模式(1-纯三方,2-自建代开发) | |
id | string | 是 | 部门id |
返回参数:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
id | int | 是 | 部门id | |
name | string | 是 | 部门名称 | |
name_en | string | 是 | 部门英文名称 | |
department_leader | string[] | 是 | 部门负责人的UserID | |
parentid | int | 是 | 父部门id | |
order | int | 是 | 在父部门中的次序值 |
请求示例:
{
"developmentMode":1,
"id":"53454gvsdrxse4"
}
2
3
4
返回示例:
{
"retCode": "000000",
"retMsg": "操作成功",
"item": null
}
2
3
4
5
# 任务管理
# ● 获取任务类型查询
接口说明:
通过传入的参数获取任务类型接口。
请求方式:
POST
请求地址:
https://{联系销售人员}//api/task/sop/v1/get_task_type_list
请求参数:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
taskTypeId | string | 否 | 任务类型id | |
updateStartTime | Long | 否 | 更新查询开始时间(时间戳) | (秒) |
updateEndTime | Long | 否 | 更新查询结束时间(时间戳) | (秒) |
返回参数:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
ret_code | string | 是 | 返回编码 | |
ret_msg | string | 是 | 返回信息 | |
taskTypeName | string | 是 | 任务类型名称 | |
taskTypeId | string | 是 | 任务类型id | |
taskCreateTime | long | 是 | 创建时间(时间戳) | (秒) |
taskUpdateTime | long | 是 | 更新时间(时间戳) | (秒) |
请求示例:
https://www.soboten.com/zk-marketing-open/api/task/sop/v1/get_task_type_list?startTime=1667199225&endTime=1667203218
返回示例:
{
"items": [
{
"taskTypeName": "551111",
"taskTypeId": "b3bb75b1-cfc4-464b-9137-1509c4e61bf8",
"taskCreateTime": null,
"taskUpdateTime": null
}
],
"retCode": "000000",
"retMsg": "操作成功"
}
2
3
4
5
6
7
8
9
10
11
12
# ● 客户SOP 查询接口
接口说明:
通过传入的参数获取任务类型接口。
请求方式:
POST
请求地址:
https://{联系销售人员}//api/task/sop/v1/get_sop_info
请求参数
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
sopId | string | 否 | 客户sop的id | |
updateStartTime | Long | 否 | 更新查询开始时间(时间戳) | (秒) |
updateEndTime | Long | 否 | 更新查询结束时间(时间戳) | (秒) |
pageNum | Integer | 必填 | 查询页 | |
pageSize | Integer | 必填 | 页值 |
返回参数(列表):
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
ret_code | string | 是 | 返回编码 | |
ret_msg | string | 是 | 返回信息 | |
sopId | string | 是 | 客户sop的id | |
sopName | string | 是 | 客户sop名称 | |
createTime | long | 是 | 创建时间(时间戳) | (秒) |
updateTime | long | 是 | 更新时间(时间戳) | (秒) |
stageList | Sop阶段列表集合 | |||
stageId | string | 是 | 阶段id | |
stageName | string | 是 | 阶段名称 | |
sopNodList | sop阶段下节点列表 | |||
nodeId | string | 是 | sop节点id | |
nodeName | string | 是 | sop节点名称 | |
taskTypeId | string | 是 | 任务类型id | |
taskTypeName | string | 是 | 任务类型名称 | |
terminalType | string | 是 | 触发类型 | 1-企微消息;2-变更阶段;3-朋友圈;4-短信;5-外呼 |
executeType | string | 是 | 执行方式 | 1-企业群发;2-消息通知; |
请求示例:
https://www.soboten.com/zk-marketing-open/api/task/sop/v1/get_sop_info?startTime=1667199225&endTime=1667203218&pageSize=5&pageNum=1
返回示例:
{
"pageNo": 1,
"totalCount": 69,
"pageSize": 5,
"items": [
{
"sopId": "099b72f5fe5c4a49aa774c2e82aad81a",
"sopName": "看i发个烧豆腐 ",
"createTime": 1665397950,
"updateTime": 1665397950,
"stageList": [
{
"stageId": null,
"stageName": null,
"sopNodList": null
}
]
}
],
"retCode": "000000",
"retMsg": "操作成功"
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# ● 客户SOP任务流水查询接口
接口说明:
通过传入的参数获取任务类型接口。
请求方式:
POST
请求地址:
https://{联系销售人员}//api/task/sop/v1/get_task_flow
请求参数:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
sopStageNodeId | string | 否 | sop子节点id | |
updateStartTime | Long | 否 | 更新查询开始时间(时间戳) | (秒) |
updateEndTime | Long | 否 | 更新查询结束时间(时间戳) | (秒) |
pageNum | Integer | 必填 | 查询页 | |
pageSize | Integer | 必填 | 页值 |
返回参数(列表):
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
ret_code | string | 是 | 返回编码 | |
ret_msg | string | 是 | 返回信息 | |
sopStageNodeId | string | 是 | sop子节点id | |
taskFlowId | string | 是 | 任务流水id | |
taskTypeId | string | 是 | 任务类型id | |
serviceId | string | 是 | 执行人员id | |
userId | string | 是 | 员工id | |
executeStatus | string | 是 | 执行状态 | |
taskCreateTime | long | 是 | 任务创建时间(时间戳) | (秒) |
taskEffectiveTime | long | 是 | 任务生效时间(时间戳) | (秒) |
taskComTime | long | 是 | 任务完成时间(时间戳) | (秒) |
taskExpiryTime | long | 是 | 任务失效时间(时间戳) | (秒) |
taskContentList | 任务内容列表 | |||
materialType | Integer | 是 | 素材类型 | 0-文件,1-图文,2-海报,3-视频,4-表单,5-链接,6-文本,7小程序 |
title | string | 是 | 素材标题 | |
content | string | 是 | 文本内容 | |
materialContent | string | 否 | 素材详情 | |
taskClientIdList | string | 是 | 关联客户id | 列表 |
请求示例:
https://www.soboten.com/zk-marketing-open/api/task/sop/v1/get_task_flow?startTime=1667199225&endTime=1667203218&pageSize=2&pageNum=1
返回示例:
{
"totalCount": 4893,
"items": [
{
"sopId": "8ae3ed1156dc4fb398cdba9cdaca6da4",
"sopStageNodeId": "12c48bf4b3e342d69134266d214fd1cc",
"taskFlowId": "001a04a1f9974af9a3f670f20941c2d4",
"taskTypeId": "4940ac9a-cb24-4b28-ba30-a69f1f97f93c",
"serviceId": "9b66d621cc2347b78095b177cbfe6f34",
"userId": "wor8AYBgAA-5Z9KqFBkgdXk-wDPPrWpA",
"executeStatus": "-2",
"taskCreateTime": 1664265003,
"taskEffectiveTime": 1664265063,
"taskComTime": null,
"taskExpiryTime": 1664294340,
"extendType": 4,
"extendInfo": "{\"wxThirdExternalUserId\":null,\"serviceId\":\"9b66d621cc2347b78095b177cbfe6f34\",\"serviceName\":\"刘丹众服2\",\"userId\":null,\"nickName\":\"客户动态123、测试新增、测试推送、123、请问饿、1111、MIจุ๊บ、!、!、MIจุ๊บ、MIจุ๊บ、zerxam、!、+7、测试230、test\",\"customerPhone\":\"13333334555;133333345111、18303011289、18208123423、13333333333\",\"customerWechatNo\":\"\",\"assignedName\":\"\",\"assignedServiceId\":\"\",\"assignedTime\":\"1664265002\",\"assignedTimeFormat\":\"2022-09-27 15:50:02\"}",
"taskContentList": [
{
"materialId": null,
"materialType": 6,
"title": null,
"content": "0926被分配\n客户昵称:# 客户昵称\n客户手机号:# 客户手机号\n客户微信号:# 客户微信号\n分配人姓名:# 分配人姓名\n分配时间# 分配时间",
"materialContent": null
}
],
"taskClientIdList": [
null
],
"wxThirdExternalUserId": null,
"crmId": "fc9276cc27a546f6968d92a840be74c5",
"crmUserName": "客户动态123"
}
],
"retCode": "000000",
"retMsg": "操作成功"
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# 标签管理
# ● 查询企微标签接口
接口说明:
通过传入的企微标签id或企微标签组id,来获取对应的企微标签信息。当群标签id和群标签组id同时存在时,仅根据企微标签组id查询。如果群标签id和群标签组id都不存在,则获取所有企微标签组(含其下属群标签信息)信息通过分页参数限制获得的企微标签信息,如果不传入分页参数,默认分页参数为:page_no:1 page_size:15
请求方式:
POST
请求地址:
https://www.soboten.com/api/qywx/qywx_tag/get
请求参数:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
tagid | string | 否 | 企微标签id | 需要查询的企微标签的id,一次请求传入一个,当和tag_groupid、tag_group_bizid同时存在,本参数会被忽略 |
tag_groupid | string | 否 | 企微标签组id | 需要查询的企微标签组的id,一次请求传入一个,当和tagid、tag_bizid、tag_group_bizid同时存在时,仅根据本参数进行查询 |
tag_bizid | string | 否 | 企微标签在智齿数据库中的id | 需要查询的企微标签组的id,一次请求传入一个,当和tagid、tag_bizid、tag_group_bizid同时存在时,仅根据本参数进行查询 |
tag_group_bizid | string | 否 | 企微标签组在智齿数据库中的id | 需要查询的企微标签组在智齿库内的id,一次请求传入一个,当和tag_groupid同时存在时,本参数会被忽略当和tagid及tag_bizid同时存在时,仅根据本参数进行查询 |
page_no | int | 否 | 分页页码 | 默认分页页码为1 |
page_size | int | 否 | 每页大小 | 默认每页大小为15 |
企微标签组信息返回对象:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
tag_groupid | string | 是 | 企微标签组id | 企微标签组id |
tag_group_bizid | string | 是 | 企微标签组在智齿数据库内的id | 企微标签组在智齿数据库内的id |
tag_group_name | string | 是 | 企微标签组名称 | |
sort | int | 是 | 企微标签组排序字段 | |
tag_list | list | 是 | 企微标签信息对象列表 | 列表内存放企微标签信息对象 |
企微标签信息对象:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
tagid | string | 是 | 企微标签id | 企微标签id |
tag_bizid | string | 是 | 企微标签在智齿数据库内的id | 企微标签在智齿数据库内的id |
tag_name | string | 是 | 企微标签名称 | |
sort | int | 是 | 企微标签排序字段 |
返回参数:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
ret_code | string | 是 | 返回编码 | |
ret_msg | string | 是 | 返回信息 | |
items | list | 否 | 企微标签组信息返回对象列表 | 未查询到满足条件的数据时,则该参数返回空数组 |
page_no | int | 是 | 当前页码 | |
page_count | int | 否 | 总页数 | |
total_count | int | 否 | 总数据条数 | |
page_size | int | 是 | 当前页大小 | 页大小最大为100 |
请求示例:
{
"tag_groupid":"etdqx1CgAAccysDRwE00zN6E4DwBtfig",
"tagid":"et9oTGEgAAmJLtyMx1agRigBciktF0PA",
"page_no":1,
"page_size":15
}
2
3
4
5
6
返回示例: 请求参数中,企微标签组id存在的情况下,且有返回数据时
{
"items": [
{
"tag_groupid": "etdqx1CgAAccysDRwE00zN6E4DwBtfig",
"tag_group_bizid": "1a7627304826487987d86cf8a182acb2",
"tag_group_name": "客户等级",
"sort": 0,
"tag_list": [
{
"tagid": "etdqx1CgAA1nTYgwoaaXcRPR1B2Xz3yg",
"tag_bizid": "",
"tag_name": "核心1",
"sort": 2
}
]
}
],
"page_no": 1,
"page_count": 1,
"total_count": 1,
"page_size": 15,
"ret_code": "000000",
"ret_msg": "操作成功"
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
请求参数中,仅有企微标签id而没有企微标签组id,且有返回数据时
{
"items": [
{
"tag_groupid": "etdqx1CgAAccysDRwE00zN6E4DwBtfig",
"tag_group_name": "客户等级",
"sort": 0,
"tag_list": [
{
"tagid": "etdqx1CgAA1nTYgwoaaXcRPR1B2Xz3yg",
"tag_name": "核心1",
"sort": 2
}
]
}
],
"page_no": 1,
"page_count": 1,
"total_count": 1,
"page_size": 15,
"ret_code": "000000",
"ret_msg": "操作成功"
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
无数据时
{
"items": [],
"page_no": 1,
"page_count": 0,
"total_count": 0,
"page_size": 15,
"ret_code": "000000",
"ret_msg": "操作成功"
}
2
3
4
5
6
7
8
9
# ● 编辑客户的企微标签接口
接口说明:
通过传入的unionid或external_userid,add_tag或remove_tag来对unionid或external_userid对应的客户打标签或删除标签
请求方式:
POST
请求地址:
https://www.soboten.com/api/qywx/qywx_tag/mark
请求参数:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
unionid | string | 是 | 客户unionid | 与external_userid不能同时为空 |
external_userid | string | 是 | 客户外部联系人id | 与unionid不能同时为空 |
add_tag | list | 是 | 需要给用户添加的企微标签id列表 | 与remove_tag不可同时为空 |
remove_tag | list | 是 | 需要给用户移除的企微标签id列表 | 与add_tag不可同时为空 |
返回参数:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
ret_code | string | 是 | 返回编码 | |
ret_msg | string | 是 | 返回信息 |
请求示例:
{
"unionid":"owDrH58oZDhTBgWRSJzXha9h7Atw",
"add_tag":["etdr2ZEAAAqT4Ur6j6DSR93RjPBBHOwg","etdr2ZEAAAKX2L2jXusRLcsAq9pcsngA"],
"remove_tag":["etdqx1CgAA1nTYgwoaaXcRPR1B2Xz3yg"]
}
2
3
4
5
返回示例: 操作成功
{
"ret_code": "000000",
"ret_msg": "操作成功"
}
2
3
4
5
操作失败
{
"ret_code": "999999",
"ret_msg": "系统未知异常"
}
2
3
4
tagid参数缺失:
{
"ret_code": "800015",
"ret_msg": "tagid参数缺失"
}
2
3
4
接口调用超限:
{
"ret_code": "800004",
"ret_msg": "接口调用超限"
}
2
3
4
# ● 群标签获取接口
接口说明:
通过传入的群标签id或群标签组id,来获取对应的群标签信息。当群标签id和群标签组id同时存在时,仅根据群标签组id查询。如果群标签id和群标签组id都不存在,则获取所有群标签组(含其下属群标签信息)信息通过分页参数限制获得的群标签信息,如果不传入分页参数,默认分页参数为:page_no:1 page_size:15
请求方式:
POST
请求地址:
https://www.soboten.com/api/qywx/group_chat_label/get
请求参数:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
labelid | string | 否 | 群标签id | 需要查询的群标签的id,一次请求传入一个 |
label_groupid | string | 否 | 群标签组id | 需要查询的群标签组的id,一次请求传入一个 |
page_no | int | 否 | 分页页码 | 默认为1 |
page_size | int | 否 | 每页大小 | 默认为15 |
群标签组信息返回对象:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
label_groupid | string | 是 | 群标签组id | 群标签组id |
label_group_name | string | 是 | 群标签组名称 | |
label_list | list | 是 | 群标签信息对象列表 | 列表内存放企微标签信息对象 |
群标签信息对象:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
labelid | string | 是 | 群标签id | 群标签id |
label_name | string | 是 | 群标签名称 |
返回参数:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
ret_code | string | 是 | 返回编码 | |
ret_msg | string | 是 | 返回信息 | |
items | list | 否 | 群标签组信息返回对象列表 | 未查询到满足条件的数据时,则该参数返回空数组 |
page_no | int | 是 | 当前页码 | |
page_count | int | 是 | 总页数 | |
total_count | int | 是 | 总数据条数 | |
page_size | int | 是 | 当前页大小 | 页大小最大为100 |
请求示例:
{
"label_groupid":"3fcc8939626e4004a56c3dc3752ef146",
"labelid":"7c2774a18bbb4b808df1feae42980328",
"page_no":1,
"page_size":15
}
2
3
4
5
6
返回示例:
有数据时
{
"items": [
{
"label_groupid": "3fcc8939626e4004a56c3dc3752ef146",
"label_group_name": "规范化人人二微软二万人 热二热人情味为额我热温热额外额外额外",
"label_list": [
{
"labelid": "966830fef0f8474abcbc559ca297b380",
"label_name": "1234"
}
]
}
],
"page_no": 1,
"page_size": 15,
"ret_code": "000000",
"ret_msg": "操作成功"
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
无数据时
{
"items": [],
"page_no": 1,
"page_count": 0,
"total_count": 0,
"page_size": 15,
"ret_code": "000000",
"ret_msg": "操作成功"
}
2
3
4
5
6
7
8
9
# ● 群聊打标签接口
接口说明:
通过传入的开发模式、群id、添加标签id和移除标签id,为一个指定的群打上群标签。
请求方式:
POST
请求地址:
https://www.soboten.com/api/qywx/group_chat/mark_label
请求参数:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
development_mode | int | 否 | 开发模式 | 1-纯三方,2-自建代开发,默认纯三方,如果没有安装自建代开发,即便传2也是返回三方数据 |
group_chatid | string | 否 | 群id | 根据开发模式取三方群id或者自建群id |
add_labelid_list | list | 否 | 需要添加的群标签的id列表 | 不可与要移除的群标签列表同时为空 |
remove_labelid_list | list | 否 | 需要移除的群标签id列表 | 不可与要添加的群标签列表同时为空 |
返回参数:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
ret_code | string | 是 | 返回编码 | |
ret_msg | string | 是 | 返回信息 |
请求示例:
{
"development_mode":2,
"group_chatid":"wrzcrEDAAAsziCxG0G9M1SpQq4xhlRuQ",
"add_labelid_list":[
"e6833026272849859d089269ee8e7d88",
"17e6dee594f84fe9805cc68ed7815cee",
"77d53f2fb68741bea2c13a51679f936c"
],
"del_labelid_list":[
"e6833026272849859d089269ee8e7d88"
]
}
2
3
4
5
6
7
8
9
10
11
12
返回示例:
{
"ret_code": "000000",
"ret_msg": "操作成功"
}
2
3
4
# ● 打业务标签
接口说明:
通过传入的客户id,打业务标签。
请求方式:
POST
请求地址:
https://www.soboten.com//api/scrm/5/label/update_biz_label
请求参数: userid、unionid、external_userid三个不可同时为空,add_tag和remove_tag不可同时为空
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
userid | string | 否 | 添加外部联系人的userid | |
unionid | string | 否 | unionid | |
external_userid | string | 否 | 外部联系人userid | |
add_tag | string[] | 否 | 要标记的标签列表 | |
remove_tag | string[] | 否 | 要移除的标签列表 |
返回参数:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
ret_code | string | 是 | 返回编码 | |
ret_msg | string | 是 | 返回信息 |
请求示例:
{
"userid":"9616577c98f045e2a02b314708a8251d",
"add_tag":["9616577c98f045e2a02b314708a8251d","9616577c98f045e2a02b314708a8251d"]
}
2
3
4
返回示例: 无数据时
{
"ret_code": "000000",
"ret_msg": "操作成功"
}
2
3
4
# 素材库对接接口
# ● 分页查询素材信息
接口说明:
根据素材id、更新开始时间、更新结束时间查询
请求方式:
Get
请求地址:
https://www.soboten.com/qywx-open/material_manage/find_material_page
请求参数:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
materialId | string | 否 | 素材id | |
type | Integer | 是 | 素材类型 | 0:文件;1:文章;2:海报;3:视频;4:表单;5:链接;6:文本;7:小程序; |
startTime | Long | 否 | 更新开始时间 | 以秒为单位 |
endTime | string | 否 | 更新结束时间 | 以秒为单位 |
pageNo | Integer | 否 | 页码 | 默认值1 |
pageSize | Integer | 否 | 每页条数 | 默认值15 |
返回参数:
参数 | 类型 | 名称 | 备注 | 存在素材类型 |
---|---|---|---|---|
materialId | string | 素材id | 都存在 | |
materialType | Integer | 素材类型 | 0:文件;1:文章;2:海报;3:视频;4:表单;5:链接;6:文本;7:小程序; | 都存在 |
shareNum | Integer | 分享次数 | 都存在 | |
content | String | 文本内容 | 1,,4,6 | |
delStatus | Integer | 都存在 | ||
title | String | 标题 | 都存在 | |
url | String | 链接 | 0,1,2,3,5,7 | |
coverUrl | String | 封面 | 0,1,4,5,7 | |
radarAbstract | Integer | 摘要数 | 0,1,4,5 | |
customerStatus | Integer | 是否记录客户动态 | 1-是;0-否 | 0,1,4,5 |
notificationStatus | Integer | 点击是否通知发送人 | 1-是;0-否 | 0,1,4,5 |
businessCardStatus | Integer | 是否开启员工名片 | 1-是;0-否 | 0,1,4, |
miniProgramAppId | String | 小程序APPID | 7 | |
viewNum | Integer | 分享次数 | 都存在 | |
timesOfFilling | Integer | 填写次数 | 都存在 | |
updateTime | Long | 更新结束时间 | 都存在 |
请求示例:
https://www.soboten.com/qywx-open/material_manage/find_material_page
返回示例:
{
"pageNo": 1,
"pageCount": 1,
"totalCount": 1,
"pageSize": 1,
"items": [
{
"materialType": 6,
"materialId": "01e303648cca42e9a883583d7b7d5f26",
"shareNum": 0,
"context": null,
"title": "",
"url": "",
"miniProgramAppId": "",
"viewNum": 0,
"coverUrl": "",
"radarAbstract": "",
"customerStatus": 0,
"notificationStatus": 0,
"businessCardStatus": 0,
"timesOfFilling": null,
"updateTime": 1623317370,
"delStatus": 1
}
],
"retCode": "000000",
"retMsg": "操作成功"
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# ● 删除素材
接口说明:
根据素材id以及素材类型进行删除
请求方式:
POST
请求头:
Content-Type: multipart/form-data
请求地址:
https://www.soboten.com/qywx-open/material_manage/del_material
请求参数:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
materialId | string | 是 | 素材id | |
type | Integer | 是 | 素材类型 | 0:文件;1:文章;2:海报;3:视频;4:表单;5:链接;6:文本;7:小程序; |
请求示例:
https://www.soboten.com/qywx-open/material_manage/del_material
返回示例:
{
"retCode": "000000",
"retMsg": "操作成功"
}
2
3
4
# ● 创建/编辑接口
接口说明:
表单、文章暂不支持创建和编辑;创建时间、更新时间默认取当前时间,创建时间不可随着更新而更新。
请求方式:
POST
请求头:
Content-Type: multipart/form-data
请求地址:
https://www.soboten.com/qywx-open/material_manage/create_update_material
请求参数:
通用参数
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
id | String | 否 | 素材id | Id为空则新建,否则更新 |
文件
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
materialType | Integer | 是 | 素材类型 | 值固定为0 |
file | MultipartFil[0] | 是 | 文件 | 最大不超过20MB |
startRadarStatus | 是否启用雷达状态 | 是 | 是否启用雷达 | 0:否;1:是; |
title | String | 否 | 雷达标题 | 启用雷达时必填 |
file | MultipartFil[1] | 否 | 雷达封面 | 10MB,支持JPG,PNG格式 |
radarAbstract | String | 否 | 雷达摘要 | |
customerStatus | Integer | 否 | 是否记录客户动态 | 0:否;1:是;启用雷达时必填 |
notificationStatus | Integer | 否 | 点击是否通知发送人 | 0:否;1:是;启用雷达时必填 |
businessCardStatus | Integer | 否 | 是否开启员工名片 | 0:否;1:是; |
海报
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
materialType | Integer | 是 | 素材类型 | 值固定为2 |
title | String | 是 | 海报标题 | 演示视频.mp4 |
file | MultipartFil[0] | 是 | 海报 | 10MB,支持JPG,PNG格式 |
视频
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
materialType | Integer | 是 | 素材类型 | 值固定为3 |
file | MultipartFil[0] | 是 | 视频文件 | 1、大小10MB以内,只支持MP4格式;2、视频标题取文件名称; |
content | String | 是 | 文本内容 |
链接
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
materialType | Integer | 是 | 素材类型 | 值固定为5 |
title | String | 是 | 链接标题 | |
url | String | 是 | 跳转链接 | |
file | MultipartFil[0] | 是 | 雷达封面 | 10MB,支持JPG,PNG格式 |
radarAbstract | String | 否 | 雷达摘要 | |
customerStatus | Integer | 否 | 是否记录客户动态 | 0:否;1:是;启用雷达时必填 |
notificationStatus | Integer | 否 | 点击是否通知发送人 | 0:否;1:是;启用雷达时必填 |
文本
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
materialType | Integer | 是 | 素材类型 | 值固定为6 |
title | String | 是 | 文本标题 | 最大20个字符 |
content | String | 是 | 文本内容 |
小程序
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
materialType | Integer | 是 | 素材类型 | 值固定为7 |
title | String | 是 | 小程序标题 | |
miniProgramAppId | String | 是 | 小程序appid | 必须包含.html,需有示例说明 |
url | String | 是 | 小程序路径 | |
file | MultipartFil[0] | 是 | 小程序封面 | 10MB,支持JPG,PNG格式 |
返回示例:
{
"retCode": "000000",
"retMsg": "操作成功"
}
2
3
4
# 错误编码
# ● 操作成功
返回编码 | 编码说明 |
---|---|
000000 | 操作成功(除此编码以外的编码为错误编码) |
# ● 系统异常
返回编码 | 编码说明 |
---|---|
999999 | 系统未知异常 |
800001 | 参数错误 |
800002 | 请求随机数或时间检验不通过 |
801001 | 买家信息不存在 |
900010 | 部门id或员工id列表不能同时为空 |
900011 | 此员工未绑定坐席 |
900012 | 此部门不在可见范围内 |