WS 双向互聊 API
WS 双向互聊 API
接口注意事项
- 公共请求头参数
字段 | 类型 | 是否必填 | 备注 |
---|---|---|---|
tenant_id | Int | 是 | 公司 id |
timestamp | Long | 是 | 请求时间戳 1710936559123 |
token | String | 是 | 加密 token |
- token 生成规则
md5(tenant_id + timestamp + ApiKey),32 位小写。
tenant_id、ApiKey 获取方式请联系管理员
参与加密的参数在请求头里面携带 ❗
接口请求限制为单接口 1s 50 次。
webhook 接口失败重试
请求次数: 1+6(重试次数) , 重试间隔时间: 10s、30s、3m、5m、30m、2h
注意 ❗ ❗
webhook 接口请求成功的标准为 http 状态码为 200,以及响应数据里面的 code 为 200、0 其中之一就代表成功。
如果被调用方未按照此格式返回,调用方(SE 服务器)会进行重试。群发接口服务域名
标准版本生产环境域名: https://group.dispatch.channelepoch.com
印尼版本生产环境域名: https://id.group.dispatch.channelepoch.com
注意 ❗ ❗ ❗
以 group-dispatch-api 开头的接口使用上面的域名。
以 wscrm-bus-api 开头的接口使用这个域名http://wascrm.socialepoch.com
双向 WS 互聊介绍

一、登录 WS 账号
二、发送消息
发送消息 可根据实际需求选择其他接口。
三、消息、WS 账号状态同步
群发消息
**群发任务的好友号码数量上限为 5000,单条消息的内容长度不能大于 1024。
快速创建群发任务(指定客服号,单个发送目标)
类型
API
URI
/group-dispatch-api/gsTask/assign/soCreate
请求方式
POST、Content-Type: application/json
接口说明
创建群发任务,且指定一个发送目标,支持多条和单条内容。
请求参数说明
字段 | 类型 | 是否必填 | 备注 |
---|---|---|---|
name | String | 否 | 任务名称 |
startTaskTime | String | 否 | 预约任务开始时间 默认当前时间 |
endTaskTime | String | 否 | 预约任务结束时间 未来时间 |
sendType | int | 否 | 发送方式 1 PC 2 手机 WaChat 默认 PC |
targetType | int | 是 | 目标类型 1、个人 2、群组 |
sendWhatsApp | String | 是 | 客服号 whatsapp |
friendWhatsApp | String | 是 | 好友 whatsapp/群 id |
content | List | 是 | 内容列表 |
- content 参数说明
参数名 | 类型 | 是否必填 | 备注 |
---|---|---|---|
type | int | 是 | 内容类型 1.文字 2.图片 3.音频 4.文件 5.视频 6.名片 10.名片超链 11.分流超链 |
text | String | 否 | 文本内容 |
url | String | 否 | 静态资源链接 |
sort | int | 否 | 排序 |
variableFields | List | 否 | 变量列表 |
transId | String | 否 | transId |
routeType | int | 否 | 1 坐席分流 2 客服号分组分流 3 自定义接粉 (消息类型为分流超链使用) |
routeList | List | 否 | 分流目标 坐席就是坐席 id 客服号分组就是客服号分组 id 3 自定义的就是 whatsapp 手机号码,对应 routeType 类型的值 (消息类型为分流超链使用) |
title | String | 否 | 标题 (消息类型为名片超链使用) |
desc | String | 否 | 备注 (消息类型为名片超链使用) |
link | String | 否 | 链接 (消息类型为名片超链使用) |
adsTemplateId | int | 否 | 广告模版 id,目前只支持名片超链,存在时将覆盖(title,desc,link,url)字段,如需使用,请提前配置 |
- variableField 参数说明
参数名 | 类型 | 是否必填 | 备注 |
---|---|---|---|
type | int | 是 | 变量类型 1、基本属性 2、扩展字段 (管理后台配置) |
name | String | 是 | 字段名称 |
- 基本属性
字段 | 描述 |
---|---|
客服号 | |
friendName | 姓名 |
sex | 性别 |
birthday | 生日 |
address | 地址 |
邮箱 | |
profession | 职业 |
income | 收入 |
desc | 说明 |
source | 来源 |
stage | 阶段 |
languageTag | 语言 |
tabName | 标签 |
followStatus | 跟进状态 |
- 请求示例-1:
{
"name": "task-202403201653119191",
"sendType": 1,
"startTaskTime": "2024-04-21 17:01:27",
"targetType": 1,
"sendWhatsApp": "8618217331213",
"friendWhatsApp": "8618217331211",
"content": [
{
"type": 1,
"text": "你好啊,今天所有商品9折,快来看一看呀。",
"url": "",
"sort": 0,
"variableFields": [],
"transId": ""
}
]
}
- 请求示例-2:
{
"name": "task-202403201653119191",
"sendType": 1,
"startTaskTime": "2024-04-21 17:01:27",
"targetType": 1,
"sendWhatsApp": "8618217331213",
"friendWhatsApp": "8618217331211",
"content": [
{
"type": 1,
"text": "你好{friendName},今天是你{birthday}生日,所有商品3折,快来看一看呀。",
"url": "",
"sort": 0,
"variableFields": [
{
"type": 1,
"name": "friendName"
},
{
"type": 1,
"name": "birthday"
}
],
"transId": ""
}
]
}
- 请求示例-3:
{
"name": "api-指定客服号,单个发送目标",
"targetType": 1,
"startTaskTime": "2024-10-16 17:49:02",
"endTaskTime": null,
"sendType": 2,
"sendWhatsApp": "8618812341234",
"friendWhatsApp": "8615212877543",
"content": [
{
"type": 11,
"text": "hello, 这是超链坐席分流",
"sort": 0,
"routeType": 1,
"routeList": ["801406"]
},
{
"type": 11,
"text": "hello,这是超链客服号分组分流",
"sort": 1,
"routeType": 2,
"routeList": ["67"]
},
{
"type": 11,
"text": "hello,这是超链客服号分组分流",
"sort": 2,
"routeType": 3,
"routeList": ["8619876543210"]
},
{
"type": 10,
"text": "hello,这是名片超链",
"sort": 3,
"url": "https://www.google.com/favicon.ico",
"title": "标题",
"desc": "这是名片超链",
"link": "https://www.google.com/"
},
{
"type": 10,
"text": "hello,这是名片超链2",
"sort": 4,
"adsTemplateId": 32
}
]
}
响应参数说明
参数名 类型 是否必填 备注 code int 是 状态码 message String 是 描述 data Object 是 数据
- data 响应参数
参数名 | 类型 | 是否必填 | 备注 |
---|---|---|---|
taskId | String | 是 | 任务 id |
- 响应示例
{
"code": 200,
"message": "Success",
"data": {
"taskId": "6a2724fa2b7055971f960cc162632595"
}
}
快速创建群发任务(指定客服号&多目标,内容相同)
类型
API
URI
/group-dispatch-api/gsTask/assign/moscCreate
请求方式
POST、Content-Type: application/json
接口说明
创建群发任务,多个客服号,多个发送目标,支持多条和单条内容。
注:绑定发送者和接收者的关系。请求参数说明
字段 | 类型 | 是否必填 | 备注 |
---|---|---|---|
name | String | 否 | 任务名称 |
startTaskTime | String | 否 | 预约任务开始时间 默认当前时间 |
endTaskTime | String | 否 | 预约任务结束时间 |
sendType | int | 否 | 发送方式 1 PC 2 手机 WaChat 默认 PC |
targetType | int | 是 | 目标类型 1、个人 2、群组 |
sendInfos | List | 是 | 客服号发送信息列表 |
content | List | 是 | 内容列表 |
- sendInfos
字段 | 类型 | 是否必填 | 备注 |
---|---|---|---|
sendWhatsApp | String | 是 | 客服号 whatsapp |
friendWhatsApp | String | 是 | 好友 whatsapp/群 id |
- content 参数说明
参数名 | 类型 | 是否必填 | 备注 |
---|---|---|---|
type | int | 是 | 内容类型 1.文字 2.图片 3.音频 4.文件 5.视频 6.名片 10.名片超链 11.分流超链 |
text | String | 否 | 文本内容 |
url | String | 否 | 静态资源链接 |
fileName | String | 否 | 文件名 url 不为空时使用 |
sort | int | 否 | 排序 |
variableFields | List | 否 | 变量列表 |
transId | String | 否 | transId |
routeType | int | 否 | 1 坐席分流 2 客服号分组分流 3 自定义接粉 (消息类型为分流超链使用) |
routeList | List | 否 | 分流目标 坐席就是坐席 id 客服号分组就是客服号分组 id 3 自定义的就是 whatsapp 手机号码,对应 routeType 类型的值 (消息类型为分流超链使用) |
title | String | 否 | 标题 (消息类型为名片超链使用) |
desc | String | 否 | 备注 (消息类型为名片超链使用) |
link | String | 否 | 链接 (消息类型为名片超链使用) |
adsTemplateId | int | 否 | 广告模版 id,目前只支持名片超链,存在时将覆盖(title,desc,link,url)字段,如需使用,请提前配置 |
- variableField 参数说明
参数名 | 类型 | 是否必填 | 备注 |
---|---|---|---|
type | int | 是 | 变量类型 1、基本属性 2、扩展字段 (管理后台配置) |
name | String | 是 | 字段名称 |
- 基本属性
同上
- 请求示例-1:
{
"name": "task-202403201653119191",
"sendType": 1,
"startTaskTime": "2024-04-21 17:01:27",
"targetType": 1,
"sendInfos": [
{
"sendWhatsApp": "8618217331213",
"friendWhatsApp": "8618217331211"
}
],
"content": [
{
"type": 1,
"text": "你好啊,今天所有商品9折,快来看一看呀。",
"url": "",
"sort": 0,
"variableFields": []
}
]
}
- 请求示例-2:
{
"name": "task-202403201653119191",
"sendType": 1,
"startTaskTime": "2024-04-21 17:01:27",
"targetType": 1,
"sendInfos": [
{
"sendWhatsApp": "8618217331213",
"friendWhatsApp": "8618217331211"
}
],
"content": [
{
"type": 1,
"text": "你好{friendName},今天是你{birthday}生日,所有商品3折,快来看一看呀。",
"url": "",
"sort": 0,
"variableFields": [
{
"type": 1,
"name": "friendName"
},
{
"type": 1,
"name": "birthday"
}
]
}
]
}
- 请求示例-3:
{
"name": "api-task",
"targetType": 1,
"startTaskTime": "2024-10-16 18:00:00",
"sendType": 2,
"sendInfos": [
{
"sendWhatsApp": "8618812341234",
"friendWhatsApp": "8615212877543"
}
],
"content": [
{
"type": 11,
"text": "hello, 这是超链坐席分流",
"sort": 0,
"routeType": 1,
"routeList": ["801406"]
},
{
"type": 11,
"text": "hello,这是超链客服号分组分流",
"sort": 1,
"routeType": 2,
"routeList": ["67"]
},
{
"type": 11,
"text": "hello,这是超链客服号分组分流",
"sort": 2,
"routeType": 3,
"routeList": ["8619876543210"]
},
{
"type": 10,
"text": "hello,这是名片超链",
"sort": 3,
"url": "https://www.google.com/favicon.ico",
"title": "标题",
"desc": "这是名片超链",
"link": "https://www.google.com/"
},
{
"type": 10,
"text": "hello,这是名片超链2",
"sort": 4,
"adsTemplateId": 32
}
]
}
响应参数说明
参数名 类型 是否必填 备注 code int 是 状态码 message String 是 描述 data String 是 数据
data 响应参数
参数名 类型 是否必填 备注 taskId String 是 任务 id
- 响应示例
{
"code": 200,
"message": "Success",
"data": {
"taskId": "6a2724fa2b7055971f960cc162632595"
}
}
快速创建群发任务(指定客服号&多目标,内容不同)
类型
API
URI
/group-dispatch-api/gsTask/assign/modcCreate
请求方式
POST、Content-Type: application/json
接口说明
创建群发任务,多个客服号,多个发送目标,支持多条和单条内容。
请求参数说明
字段 | 类型 | 是否必填 | 备注 |
---|---|---|---|
name | String | 否 | 任务名称 |
startTaskTime | String | 否 | 预约任务开始时间 默认当前时间 |
endTaskTime | String | 否 | 预约任务结束时间 |
sendType | int | 否 | 发送方式 1 PC 2 手机 WaChat 默认 PC |
targetType | int | 是 | 目标类型 1、个人 2、群组 |
sendInfos | List | 是 | 发送内容 |
- sendInfos 参数说明
字段 | 类型 | 是否必填 | 备注 |
---|---|---|---|
sendWhatsApp | String | 是 | 客服号 whatsapp |
friendWhatsApp | String | 是 | 好友 whatsapp/群 id |
content | List | 是 | 内容列表 |
- content 参数说明
参数名 | 类型 | 是否必填 | 备注 |
---|---|---|---|
type | int | 是 | 内容类型 1.文字 2.图片 3.音频 4.文件 5.视频 6.名片 10.名片超链 11.分流超链 |
text | String | 否 | 文本内容 |
url | String | 否 | 静态资源链接 |
sort | int | 否 | 排序 |
variableFields | List | 否 | 变量列表 |
transId | String | 否 | transId |
routeType | int | 否 | 1 坐席分流 2 客服号分组分流 3 自定义接粉 (消息类型为分流超链使用) |
routeList | List | 否 | 分流目标 坐席就是坐席 id 客服号分组就是客服号分组 id 3 自定义的就是 whatsapp 手机号码,对应 routeType 类型的值 (消息类型为分流超链使用) |
title | String | 否 | 标题 (消息类型为名片超链使用) |
desc | String | 否 | 备注 (消息类型为名片超链使用) |
link | String | 否 | 链接 (消息类型为名片超链使用) |
adsTemplateId | int | 否 | 广告模版 id,目前只支持名片超链,存在时将覆盖(title,desc,link,url)字段,如需使用,请提前配置 |
- variableField 参数说明
参数名 | 类型 | 是否必填 | 备注 |
---|---|---|---|
type | int | 是 | 变量类型 1、基本属性 2、扩展字段 (管理后台配置) |
name | String | 是 | 字段名称 |
基本属性
同上
请求示例-1:
{
"name": "task-202403201653119191",
"targetType": 1,
"startTaskTime": "2024-04-22 10:29:55",
"endTaskTime": null,
"sendType": 2,
"sendInfos": [
{
"sendWhatsApp": "8618217331213",
"friendWhatsApp": "8618217331211",
"content": [
{
"type": 1,
"text": "你好啊,今天所有商品9折,快来看一看呀。",
"url": "",
"sort": 0,
"variableFields": []
}
]
}
]
}
- 请求示例-2:
{
"name": "api-task",
"targetType": 1,
"startTaskTime": "2024-10-16 18:00:00",
"sendType": 2,
"sendInfos": [
{
"sendWhatsApp": "8618812341234",
"friendWhatsApp": "8615212877543",
"content": [
{
"type": 11,
"text": "hello, 这是超链坐席分流",
"sort": 0,
"routeType": 1,
"routeList": ["801406"]
},
{
"type": 11,
"text": "hello,这是超链客服号分组分流",
"sort": 1,
"routeType": 2,
"routeList": ["67"]
},
{
"type": 11,
"text": "hello,这是超链客服号分组分流",
"sort": 2,
"routeType": 3,
"routeList": ["8619876543210"]
},
{
"type": 10,
"text": "hello,这是名片超链",
"sort": 3,
"url": "https://www.google.com/favicon.ico",
"title": "标题",
"desc": "这是名片超链",
"link": "https://www.google.com/"
},
{
"type": 10,
"text": "hello,这是名片超链2",
"sort": 4,
"adsTemplateId": 32
}
]
}
]
}
响应参数说明
参数名 类型 是否必填 备注 code int 是 状态码 message String 是 描述 data String 是 数据
data 响应参数
参数名 类型 是否必填 备注 taskId String 是 任务 id
- 响应示例
{
"code": 200,
"message": "Success",
"data": {
"taskId": "6a2724fa2b7055971f960cc162632595"
}
}
快速创建群发任务(指定多客服号&多目标,不绑定关系)
- 类型
API
- URI
/group-dispatch-api/gsTask/assign/mmCreate
- 请求方式
POST、Content-Type: application/json
- 接口说明
创建群发任务,指定多个客服号和发送目标,支持多条和单条内容,不绑定关系,自由分配。
- 请求参数说明
字段 | 类型 | 是否必填 | 备注 |
---|---|---|---|
name | String | 否 | 任务名称 |
startTaskTime | String | 否 | 预约任务开始时间 默认当前时间 |
endTaskTime | String | 否 | 预约任务结束时间 |
sendType | int | 否 | 发送方式 1 PC 2 手机 WaChat 默认 PC |
targetType | int | 是 | 目标类型 1、个人 2、群组 |
sendWhatsAppList | List | 是 | 客服号 list |
friendWhatsAppList | List | 是 | 好友 whatsapp list/群 id |
content | List | 是 | 内容列表 |
- content 参数说明
参数名 | 类型 | 是否必填 | 备注 |
---|---|---|---|
type | int | 是 | 内容类型 1.文字 2.图片 3.音频 4.文件 5.视频 6.名片 10.名片超链 11.分流超链 |
text | String | 否 | 文本内容 |
url | String | 否 | 静态资源链接 |
sort | int | 否 | 排序 |
variableFields | List | 否 | 变量列表 |
transId | String | 否 | transId |
routeType | int | 否 | 1 坐席分流 2 客服号分组分流 3 自定义接粉 (消息类型为分流超链使用) |
routeList | List | 否 | 分流目标 坐席就是坐席 id 客服号分组就是客服号分组 id 3 自定义的就是 whatsapp 手机号码,对应 routeType 类型的值 (消息类型为分流超链使用) |
title | String | 否 | 标题 (消息类型为名片超链使用) |
desc | String | 否 | 备注 (消息类型为名片超链使用) |
link | String | 否 | 链接 (消息类型为名片超链使用) |
adsTemplateId | int | 否 | 广告模版 id,目前只支持名片超链,存在时将覆盖(title,desc,link,url)字段,如需使用,请提前配置 |
- variableField 参数说明
参数名 | 类型 | 是否必填 | 备注 |
---|---|---|---|
type | int | 是 | 变量类型 1、基本属性 2、扩展字段 (管理后台配置) |
name | String | 是 | 字段名称 |
- 基本属性
字段 | 描述 |
---|---|
客服号 | |
friendName | 姓名 |
sex | 性别 |
birthday | 生日 |
address | 地址 |
邮箱 | |
profession | 职业 |
income | 收入 |
desc | 说明 |
source | 来源 |
stage | 阶段 |
languageTag | 语言 |
tabName | 标签 |
followStatus | 跟进状态 |
- 请求示例-1:
{
"name": "多对多创建-1",
"startTaskTime": "2024-07-21 17:01:27",
"endTaskTime": null,
"sendType": 1,
"targetType": 1,
"sendWhatsAppList": ["6578645661211"],
"friendWhatsAppList": ["8618217331211"],
"content": [
{
"type": 1,
"text": "你好啊,今天所有商品9折,快来看一看呀。",
"url": "",
"sort": 0,
"transId": "tr00003",
"variableFields": []
},
{
"type": 1,
"text": "你好 {friendName},今天是你生日,所有商品3折,快来看一看呀。",
"url": "",
"sort": "",
"transId": "tr00002",
"variableFields": [
{
"type": 1,
"name": "friendName"
}
]
}
]
}
- 请求示例-2:
{
"name": "多对多创建-2",
"startTaskTime": "2024-10-16 18:00:00",
"sendType": 1,
"targetType": 1,
"sendWhatsAppList": ["8618812341234"],
"friendWhatsAppList": ["8615212877543"],
"content": [
{
"type": 11,
"text": "hello, 这是超链坐席分流",
"sort": 0,
"routeType": 1,
"routeList": ["801406"]
},
{
"type": 11,
"text": "hello,这是超链客服号分组分流",
"sort": 1,
"routeType": 2,
"routeList": ["67"]
},
{
"type": 11,
"text": "hello,这是超链客服号分组分流",
"sort": 2,
"routeType": 3,
"routeList": ["8619876543210"]
},
{
"type": 10,
"text": "hello,这是名片超链",
"sort": 3,
"url": "https://www.google.com/favicon.ico",
"title": "标题",
"desc": "这是名片超链",
"link": "https://www.google.com/"
},
{
"type": 10,
"text": "hello,这是名片超链2",
"sort": 4,
"adsTemplateId": 32
}
]
}
响应参数说明
参数名 类型 是否必填 备注 code int 是 状态码 message String 是 描述 data String 是 数据
data 响应参数
参数名 | 类型 | 是否必填 | 备注 |
---|---|---|---|
taskId | String | 是 | 任务 id |
- 响应示例
{
"code": 200,
"message": "Success",
"data": {
"taskId": "278881"
}
}
快速创建群发任务(指定客服号分组)
- 类型
API
- URI
/group-dispatch-api/gsTask/assign/groupCreate
- 请求方式
POST、Content-Type: application/json
- 接口说明
创建群发任务,指定客服号分组创建群发
- 请求参数说明
字段 | 类型 | 是否必填 | 备注 |
---|---|---|---|
name | String | 否 | 任务名称 |
startTaskTime | String | 否 | 预约任务开始时间 默认当前时间 |
endTaskTime | String | 否 | 预约任务结束时间 |
sendType | int | 否 | 发送方式 1 PC 2 手机 WaChat 默认 PC |
targetType | int | 是 | 目标类型 1、个人 2、群组 |
whatsappGroupId | int | 是 | 客服号分组 id |
friendWhatsAppList | List | 是 | 好友 whatsapp list/群 id |
content | List | 是 | 内容列表 |
- content 参数说明
参数名 | 类型 | 是否必填 | 备注 |
---|---|---|---|
type | int | 是 | 内容类型 1.文字 2.图片 3.音频 4.文件 5.视频 6.名片 10.名片超链 11.分流超链 |
text | String | 否 | 文本内容 |
url | String | 否 | 静态资源链接 |
sort | int | 否 | 排序 |
variableFields | List | 否 | 变量列表 |
transId | String | 否 | transId |
routeType | int | 否 | 1 坐席分流 2 客服号分组分流 3 自定义接粉 (消息类型为分流超链使用) |
routeList | List | 否 | 分流目标 对应 routeType 的值,坐席就是坐席 id、客服号分组就是客服号分组 id、自定义的就是 whatsapp 手机号码(消息类型为分流超链使用) |
title | String | 否 | 标题 (消息类型为名片超链使用) |
desc | String | 否 | 备注 (消息类型为名片超链使用) |
link | String | 否 | 链接 (消息类型为名片超链使用) |
adsTemplateId | int | 否 | 广告模版 id,目前只支持名片超链,存在时将覆盖(title,desc,link,url)字段,如需使用,请提前配置 |
- variableField 参数说明
参数名 | 类型 | 是否必填 | 备注 |
---|---|---|---|
type | int | 是 | 变量类型 1、基本属性 2、扩展字段 (管理后台配置) |
name | String | 是 | 字段名称 |
- 基本属性
字段 | 描述 |
---|---|
客服号 | |
friendName | 姓名 |
sex | 性别 |
birthday | 生日 |
address | 地址 |
邮箱 | |
profession | 职业 |
income | 收入 |
desc | 说明 |
source | 来源 |
stage | 阶段 |
languageTag | 语言 |
tabName | 标签 |
followStatus | 跟进状态 |
- 请求示例-1:
{
"name": "客服号分组创建群发-1",
"startTaskTime": "2024-07-21 17:01:27",
"endTaskTime": null,
"sendType": 1,
"targetType": 1,
"whatsappGroupId": 68,
"friendWhatsApp": ["8618217331211"],
"content": [
{
"type": 1,
"text": "你好啊,今天所有商品9折,快来看一看呀。",
"transId": "tr00003"
},
{
"type": 1,
"text": "你好 {friendName},今天是你生日,所有商品3折,快来看一看呀。",
"transId": "tr00002",
"variableFields": [
{
"type": 1,
"name": "friendName"
}
]
},
{
"type": 11,
"text": "hello, 这是超链坐席分流",
"sort": 0,
"routeType": 1,
"routeList": ["801406"]
},
{
"type": 11,
"text": "hello,这是超链客服号分组分流",
"sort": 1,
"routeType": 2,
"routeList": ["67"]
},
{
"type": 11,
"text": "hello,这是超链客服号分组分流",
"sort": 2,
"routeType": 3,
"routeList": ["8619876543210"]
},
{
"type": 10,
"text": "hello,这是名片超链",
"sort": 3,
"url": "https://www.google.com/favicon.ico",
"title": "标题",
"desc": "这是名片超链",
"link": "https://www.google.com/"
},
{
"type": 10,
"text": "hello,这是名片超链2",
"sort": 4,
"adsTemplateId": 32
}
]
}
响应参数说明
参数名 类型 是否必填 备注 code int 是 状态码 message String 是 描述 data String 是 数据
data 响应参数
参数名 | 类型 | 是否必填 | 备注 |
---|---|---|---|
taskId | String | 是 | 任务 id |
- 响应示例
{
"code": 200,
"message": "Success",
"data": {
"taskId": "876"
}
}
快速创建群发任务(不指定客服号,单目标)
类型
API
URI
/group-dispatch-api/gsTask/noAssign/soCreate
请求方式
POST、Content-Type: application/json
接口说明
创建群发任务,且指定一个发送目标,支持多条和单条内容。
请求参数说明
字段 | 类型 | 是否必填 | 备注 |
---|---|---|---|
name | String | 否 | 任务名称 |
startTaskTime | String | 否 | 预约任务开始时间 默认当前时间 |
endTaskTime | String | 否 | 预约任务结束时间 |
sendType | int | 否 | 发送方式 1 PC 2 手机 WaChat 默认 PC |
targetType | int | 是 | 目标类型 1、个人 2、群组 |
friendWhatsApp | String | 是 | 好友 whatsapp/群 id |
content | List | 是 | 内容列表 |
- content 参数说明
参数名 | 类型 | 是否必填 | 备注 |
---|---|---|---|
type | int | 是 | 内容类型 1.文字 2.图片 3.音频 4.文件 5.视频 6.名片 10.名片超链 11.分流超链 |
text | String | 否 | 文本内容 |
url | String | 否 | 静态资源链接 |
sort | int | 否 | 排序 |
variableFields | List | 否 | 变量列表 |
transId | String | 否 | transId |
routeType | int | 否 | 1 坐席分流 2 客服号分组分流 3 自定义接粉 (消息类型为分流超链使用) |
routeList | List | 否 | 分流目标 坐席就是坐席 id 客服号分组就是客服号分组 id 3 自定义的就是 whatsapp 手机号码,对应 routeType 类型的值 (消息类型为分流超链使用) |
title | String | 否 | 标题 (消息类型为名片超链使用) |
desc | String | 否 | 备注 (消息类型为名片超链使用) |
link | String | 否 | 链接 (消息类型为名片超链使用) |
adsTemplateId | int | 否 | 广告模版 id,目前只支持名片超链,存在时将覆盖(title,desc,link,url)字段,如需使用,请提前配置 |
- variableField 参数说明
参数名 | 类型 | 是否必填 | 备注 |
---|---|---|---|
type | int | 是 | 变量类型 1、基本属性 2、扩展字段 (管理后台配置) |
name | String | 是 | 字段名称 |
- 基本属性
字段 | 描述 |
---|---|
客服号 | |
friendName | 姓名 |
sex | 性别 |
birthday | 生日 |
address | 地址 |
邮箱 | |
profession | 职业 |
income | 收入 |
desc | 说明 |
source | 来源 |
stage | 阶段 |
languageTag | 语言 |
tabName | 标签 |
followStatus | 跟进状态 |
- 请求示例-1:
{
"name": "task-202403201653119191",
"startTaskTime": "2024-04-22 10:29:55",
"endTaskTime": null,
"sendType": 2,
"targetType": 1,
"friendWhatsApp": "8618217331211",
"content": [
{
"type": 1,
"text": "你好啊,今天所有商品9折,快来看一看呀。",
"url": "",
"sort": 0,
"variableFields": []
}
]
}
- 请求示例-2:
{
"name": "task-202403201653119191",
"targetType": 1,
"startTaskTime": "2024-04-22 10:29:55",
"endTaskTime": null,
"sendType": 2,
"friendWhatsApp": "8618217331211",
"content": [
{
"type": 1,
"text": "你好{friendName},今天是你的生日,所有商品3折,快来看一看呀。",
"url": "",
"sort": 0,
"variableFields": [
{
"type": 1,
"name": "friendName"
}
]
}
]
}
- 请求示例-3:
{
"name": "api-task",
"targetType": 1,
"startTaskTime": "2024-10-16 18:00:00",
"sendType": 2,
"friendWhatsApp": "8615212877543",
"content": [
{
"type": 11,
"text": "hello, 这是超链坐席分流",
"sort": 0,
"routeType": 1,
"routeList": ["801406"]
},
{
"type": 11,
"text": "hello,这是超链客服号分组分流",
"sort": 1,
"routeType": 2,
"routeList": ["67"]
},
{
"type": 11,
"text": "hello,这是超链客服号分组分流",
"sort": 2,
"routeType": 3,
"routeList": ["8619876543210"]
},
{
"type": 10,
"text": "hello,这是名片超链",
"sort": 3,
"url": "https://www.google.com/favicon.ico",
"title": "标题",
"desc": "这是名片超链",
"link": "https://www.google.com/"
},
{
"type": 10,
"text": "hello,这是名片超链2",
"sort": 4,
"adsTemplateId": 32
}
]
}
响应参数说明
参数名 类型 是否必填 备注 code int 是 状态码 message String 是 描述 data String 是 数据
data 响应参数
参数名 类型 是否必填 备注 taskId String 是 任务 id
- 响应示例
{
"code": 200,
"message": "Success",
"data": {
"taskId": "6a2724fa2b7055971f960cc162632595"
}
}
快速创建群发任务(不指定客服号,多目标)
类型
API
URI
/group-dispatch-api/gsTask/noAssign/moCreate
请求方式
POST、Content-Type: application/json
接口说明
创建群发任务,且指定一个发送目标,支持多条和单条内容。
请求参数说明
字段 | 类型 | 是否必填 | 备注 |
---|---|---|---|
name | String | 否 | 任务名称 |
startTaskTime | String | 否 | 预约任务开始时间 默认当前时间 |
endTaskTime | String | 否 | 预约任务结束时间 |
sendType | int | 否 | 发送方式 1 PC 2 手机 WaChat 默认 PC |
targetType | int | 是 | 目标类型 1、个人 2、群组 |
friendWhatsApp | List | 是 | 好友 whatsapp/群 id |
content | List | 是 | 内容列表 |
- content 参数说明
参数名 | 类型 | 是否必填 | 备注 |
---|---|---|---|
type | int | 是 | 内容类型 1.文字 2.图片 3.音频 4.文件 5.视频 6.名片 10.名片超链 11.分流超链 |
text | String | 否 | 文本内容 |
url | String | 否 | 静态资源链接 |
sort | int | 否 | 排序 |
variableFields | List | 否 | 变量列表 |
transId | String | 否 | transId |
routeType | int | 否 | 1 坐席分流 2 客服号分组分流 3 自定义接粉 (消息类型为分流超链使用) |
routeList | List | 否 | 分流目标 坐席就是坐席 id 客服号分组就是客服号分组 id 3 自定义的就是 whatsapp 手机号码,对应 routeType 类型的值 (消息类型为分流超链使用) |
title | String | 否 | 标题 (消息类型为名片超链使用) |
desc | String | 否 | 备注 (消息类型为名片超链使用) |
link | String | 否 | 链接 (消息类型为名片超链使用) |
adsTemplateId | int | 否 | 广告模版 id,目前只支持名片超链,存在时将覆盖(title,desc,link,url)字段,如需使用,请提前配置 |
- variableField 参数说明
参数名 | 类型 | 是否必填 | 备注 |
---|---|---|---|
type | int | 是 | 变量类型 1、基本属性 2、扩展字段 (管理后台配置) |
name | String | 是 | 字段名称 |
- 基本属性
字段 | 描述 |
---|---|
客服号 | |
friendName | 姓名 |
sex | 性别 |
birthday | 生日 |
address | 地址 |
邮箱 | |
profession | 职业 |
income | 收入 |
desc | 说明 |
source | 来源 |
stage | 阶段 |
languageTag | 语言 |
tabName | 标签 |
followStatus | 跟进状态 |
- 请求示例-1:
{
"name": "task-202403201653119191",
"startTaskTime": "2024-04-22 10:29:55",
"endTaskTime": null,
"sendType": 2,
"targetType": 1,
"friendWhatsApp": ["8618217331211"],
"content": [
{
"type": 1,
"text": "你好啊,今天所有商品9折,快来看一看呀。",
"url": "",
"sort": 0,
"variableFields": []
}
]
}
- 请求示例-2:
{
"targetType": 1,
"startTaskTime": "2024-04-22 10:29:55",
"endTaskTime": null,
"sendType": 2,
"friendWhatsApp": ["8618217331211"],
"content": [
{
"type": 1,
"text": "你好{friendName},今天是你的生日,所有商品3折,快来看一看呀。",
"url": "",
"sort": 0,
"variableFields": [
{
"type": 1,
"name": "friendName"
}
]
}
]
}
- 请求示例-3:
{
"name": "api-task",
"targetType": 1,
"startTaskTime": "2024-10-16 18:00:00",
"sendType": 2,
"friendWhatsApp": ["8615212877543"],
"content": [
{
"type": 11,
"text": "hello, 这是超链坐席分流",
"sort": 0,
"routeType": 1,
"routeList": ["801406"]
},
{
"type": 11,
"text": "hello,这是超链客服号分组分流",
"sort": 1,
"routeType": 2,
"routeList": ["67"]
},
{
"type": 11,
"text": "hello,这是超链客服号分组分流",
"sort": 2,
"routeType": 3,
"routeList": ["8619876543210"]
},
{
"type": 10,
"text": "hello,这是名片超链",
"sort": 3,
"url": "https://www.google.com/favicon.ico",
"title": "标题",
"desc": "这是名片超链",
"link": "https://www.google.com/"
},
{
"type": 10,
"text": "hello,这是名片超链2",
"sort": 4,
"adsTemplateId": 32
}
]
}
响应参数说明
参数名 类型 是否必填 备注 code int 是 状态码 message String 是 描述 data String 是 数据
data 响应参数
参数名 | 类型 | 是否必填 | 备注 |
---|---|---|---|
taskId | String | 是 | 任务 id |
- 响应示例
{
"code": 200,
"message": "Success",
"data": {
"taskId": "6a2724fa2b7055971f960cc162632595"
}
}
创建群发任务(不指定客服号,条件目标)
类型
API
URI
/group-dispatch-api/gsTask/noAssign/comoCreate
请求方式
POST、Content-Type: application/json
接口说明
创建群发任务,不指定客服号,根据条件进行检索发送目标,并且支持自动化行为。 注:群组群发不支持消息变量
- 请求参数说明
字段 | 类型 | 是否必填 | 备注 |
---|---|---|---|
name | String | 否 | 任务名称 |
startTaskTime | String | 否 | 预约任务开始时间 默认当前时间 |
endTaskTime | String | 否 | 预约任务结束时间 |
sendType | int | 否 | 发送方式 1 PC 2 手机 WaChat 默认 PC |
targetType | int | 是 | 目标类型 1、个人 2、群组 |
targetAudienceCondition | List | 是 | 目标受众条件,个人 |
targetAudienceConditionOnGroup | TargetAudienceConditionOnGroup | 是 | 目标受众查询条件,群组 |
automatedBehavior | List | 否 | 自动化触发行为 |
content | List | 是 | 内容列表 |
- targetAudienceCondition 参数说明
字段 | 类型 | 是否必填 | 备注 |
---|---|---|---|
type | String | 是 | 内容类型 1、基本属性 2、扩展字段 |
name | String | 是 | 名称(字段) |
opsType | int | 否 | 操作类型 1、小于 2、等于 3、大于 4、大于等于,小于等于 |
value | String | 否 | 值 |
rangeValueStart | String | 否 | 开始值 (opsType=4) |
rangeValueEnd | String | 否 | 结束值 (opsType=4) |
- automatedBehavior 参数说明
字段 | 类型 | 是否必填 | 备注 |
---|---|---|---|
eventType | int | 是 | 事件类型 1、消息发送成功 2、消息发送失败 |
actionType | int | 是 | 行为类型 1、客户阶段变更 2、客户标签变更 |
opsType | int | 是 | 操作类型 1、增加 2、删除 3、修改 |
customerTagValue | List | 否 | 标签值列表 |
customerStageValue | int | 否 | 客户阶段 |
- content 参数说明
参数名 | 类型 | 是否必填 | 备注 |
---|---|---|---|
type | int | 是 | 内容类型 1.文字 2.图片 3.音频 4.文件 5.视频 6.名片 10.名片超链 11.分流超链 |
text | String | 否 | 文本内容 |
url | String | 否 | 静态资源链接 |
sort | int | 否 | 排序 |
variableFields | List | 否 | 变量列表 |
transId | String | 否 | transId |
routeType | int | 否 | 1 坐席分流 2 客服号分组分流 3 自定义接粉 (消息类型为分流超链使用) |
routeList | List | 否 | 分流目标 坐席就是坐席 id 客服号分组就是客服号分组 id 3 自定义的就是 whatsapp 手机号码,对应 routeType 类型的值 (消息类型为分流超链使用) |
title | String | 否 | 标题 (消息类型为名片超链使用) |
desc | String | 否 | 备注 (消息类型为名片超链使用) |
link | String | 否 | 链接 (消息类型为名片超链使用) |
adsTemplateId | int | 否 | 广告模版 id,目前只支持名片超链,存在时将覆盖(title,desc,link,url)字段,如需使用,请提前配置 |
- variableField 参数说明
参数名 | 类型 | 是否必填 | 备注 |
---|---|---|---|
type | int | 是 | 变量类型 1、基本属性 2、扩展字段 (管理后台配置) |
name | String | 是 | 字段名称 |
- 基本属性
字段 | 描述 |
---|---|
客服号 | |
friendName | 姓名 |
sex | 性别 |
birthday | 生日 |
address | 地址 |
邮箱 | |
profession | 职业 |
income | 收入 |
desc | 说明 |
source | 来源 |
stage | 阶段 |
languageTag | 语言 |
tabName | 标签 |
followStatus | 跟进状态 |
- TargetAudienceConditionOnGroup 参数说明
参数名 | 类型 | 是否必填 | 备注 |
---|---|---|---|
whatsappList | List | 否 | 客服号号码列表 |
groupTabIds | List | 否 | 群组标签 id 列表 |
principalList | List | 否 | 负责人 |
groupName | String | 否 | 群组名称,支持模糊查询 |
- 请求示例-1:
{
"name": "task-20240320175301",
"targetType": 1,
"startTaskTime": "2024-04-22 10:29:55",
"endTaskTime": null,
"sendType": 2,
"content": [
{
"type": 1,
"text": "你好{friendName},今天是你的{birthday}生日,所有商品3折,快来看一看呀。",
"url": "",
"sort": 0,
"variableFields": [
{
"type": 1,
"name": "friendName"
},
{
"type": 1,
"name": "birthday"
}
]
}
],
"targetAudienceCondition": [
{
"type": "1",
"name": "Age",
"opsType": "1",
"value": "20"
},
{
"type": "1",
"name": "money",
"opsType": "4",
"rangeValueStart": "5000",
"rangeValueEnd": "10000"
}
],
"automatedBehavior": [
{
"eventType": "1",
"actionType": "1",
"opsType": "3",
"customerTagValue": "已沟通"
}
]
}
- 请求示例-2:
{
"name": "20240802165237",
"sendType": 1,
"startTime": "2024-08-02 16:52:37",
"targetType": 1,
"content": [
{
"type": 11,
"text": "hello, 这是超链坐席分流",
"sort": 0,
"routeType": 1,
"routeList": ["801406"]
},
{
"type": 11,
"text": "hello,这是超链客服号分组分流",
"sort": 1,
"routeType": 2,
"routeList": ["67"]
},
{
"type": 11,
"text": "hello,这是超链客服号分组分流",
"sort": 2,
"routeType": 3,
"routeList": ["8619876543210"]
},
{
"type": 10,
"text": "hello,这是名片超链",
"sort": 3,
"url": "https://www.google.com/favicon.ico",
"title": "标题",
"desc": "这是名片超链",
"link": "https://www.google.com/"
},
{
"type": 10,
"text": "hello,这是名片超链2",
"sort": 4,
"adsTemplateId": 32
}
],
"automatedBehaviorDTOS": [],
"targetAudienceConditionOnGroup": {
"groupName": "test",
"whatsappList": ["8615266290625"],
"groupTabIds": [10295],
"principalList": [621485]
}
}
响应参数说明
参数名 类型 是否必填 备注 code int 是 状态码 message String 是 描述 data String 是 数据
- data 响应参数
参数名 | 类型 | 是否必填 | 备注 |
---|---|---|---|
taskId | String | 是 | 任务 id |
- 响应示例
{
"code": 200,
"message": "Success",
"data": {
"taskId": "6a2724fa2b7055971f960cc162632595"
}
}
查询群发任务执行状态
类型
API
URI
/group-dispatch-api/gsTask/queryExecuteStatus
请求方式
Get、Content-Type: application/json
接口说明
查询群发任务的执行状态
请求参数说明
字段 | 类型 | 是否必填 | 备注 |
---|---|---|---|
taskId | String | 是 | 订单编号 |
- 请求示例:
group-dispatch-api/gsTask/queryExecuteStatus?taskId=174
响应参数说明
名称 类型 是否必填 备注 code int 是 状态码 message String 是 描述 data Object 是 数据
data 参数说明
名称 类型 是否必填 备注 info List 是 群发任务详情 taskId String 是 任务 id status int 是 任务状态 1、待开始 2、待发送 3、群发中 4、已停止 5、已完成 6、已暂停 info 参数说明
名称 类型 是否必填 备注 whatsApp String 是 whatsapp friendWhatsApp String 是 好友 whatsapp/群 id status int 是 状态 0、待下发 1、待发送 2、发送中 3、已发送 4、已到达 5、已读 6、已读已回 7、已读未回 -1、发送失败 time String 是 时间(对应状态触发时间)
- 响应示例
{
"data": {
"taskId": "7ecb410f496db67f549aac211cf2be7d",
"status": 1,
"info": [
{
"whatsApp": "86172162521",
"friendWhatsApp": "86172162521",
"time": "2023-07-12 10:43:00",
"status": 1
},
{
"whatsApp": "86172162522",
"friendWhatsApp": "86172162522",
"time": "2023-07-12 10:43:00",
"status": 2
}
]
},
"code": 200,
"message": "success"
}
异步通知群发任务执行状态
配置 ID <GS_V3_SYNC_TASK_STATUS>
类型
WebHook
URI
/callback/gsTask/syncTaskStatus
请求方式
POST、Content-Type: application/json
接口说明
异步通知订单执行状态
请求参数说明
字段 | 类型 | 是否必填 | 备注 |
---|---|---|---|
taskId | String | 是 | 订单 id |
status | String | 是 | 任务状态 1、待开始 2、待发送 3、群发中 4、已停止 5、已完成 6、已暂停 |
请求示例:
{
"taskId": "6a2724fa2b7055971f960cc162632595",
"status": "1"
}
响应参数说明
参数名 类型 是否必填 备注 code int 是 状态码 message String 是 描述 data Object 是 数据
{
"data": "",
"code": 200,
"message": "success"
}
异步通知群发任务详情执行状态
配置 ID GS_V3_SYNC_TASK_DETAIL_STATUS
类型
WebHook
URI
/callback/gsTask/syncGsTaskInfoStatus
请求方式
POST、Content-Type: application/json
接口说明
异步通知订单详情执行状态
请求参数说明
字段 | 类型 | 是否必填 | 备注 |
---|---|---|---|
groupSendInfoStatusList | List | 是 | 任务列表 |
- 请求参数说明
字段 | 类型 | 是否必填 | 备注 |
---|---|---|---|
taskId | String | 是 | 任务 id |
info | List | 是 | 任务详情 |
- info 参数说明
参数名 | 类型 | 是否必填 | 备注 |
---|---|---|---|
senderWhatsApp | String | 否 | 客服号 |
friendWhatsApp | String | 是 | 好友 whatsapp/群 id |
status | int | 是 | 状态 0、待下发 1、待发送 2、发送中 3、已发送 4、已到达 5、已读 6、已读已回 7、已读未回 -1、发送失败 |
time | long | 是 | 时间(对应状态的触发时间) |
infoId | int | 是 | 任务详情 id |
failReasonCode | int | 否 | 发送失败 code(20240701 增加) |
transId | String | 否 | transId |
failReasonCode 解释: 4001 客服号被封或者离线,4004 发送内容静态资源下载失败,4005 客户端意外退出。
- 请求示例:
{
"groupSendInfoStatusList": [
{
"taskId": "6a2724fa2b7055971f960cc162632595",
"info": [
{
"senderWhatsApp": "861271625212",
"friendWhatsApp": "911827121626",
"time": 1721358108467,
"status": 1,
"infoId": 95,
"failReasonCode": null,
"transId": null
},
{
"senderWhatsApp": "861271625212",
"friendWhatsApp": "911827121621",
"time": 1721358108467,
"status": 1,
"infoId": 96,
"failReasonCode": null,
"transId": null
}
]
}
]
}
响应参数说明
参数名 类型 是否必填 备注 code int 是 状态码 message String 是 描述 data Object 是 数据
{
"data": "",
"code": 200,
"message": "success"
}
异步通知群发任务-回复消息回调
配置 ID <GS_V3_REPLY_MESSAGE>
类型
WebHook
URI
/callback/gsTask/syncGsTaskInfoReplyMessage
请求方式
POST、Content-Type: application/json
接口说明
异步通知群发任务-回复消息回调
请求参数说明
字段 | 类型 | 是否必填 | 备注 |
---|---|---|---|
userId | String | 是 | 用户 id |
serialNumber | int | 否 | 编号 |
String | 是 | whatsapp(消息接收方) | |
friendWhatsApp | String | 是 | friendWhatsApp(消息发送方) |
taskId | String | 是 | 任务 id |
content | List | 是 | 回复内容 |
- content 参数说明
参数名 | 类型 | 是否必填 | 备注 |
---|---|---|---|
type | int | 是 | 内容类型 1、文字 2、图片 3、音频 4、文件 5、视频 |
text | String | 否 | 文本内容 |
url | String | 否 | 静态资源信息 |
messageId | String | 是 | 消息 id |
time | long | 是 | 时间 |
- url 参数说明
参数名 | 类型 | 是否必填 | 备注 |
---|---|---|---|
filename | String | 是 | 文件名称 |
url | String | 是 | 链接地址 |
mimeType | String | 是 | 媒体类型 |
caption | String | 否 | 标题 |
请求示例:
{
"userId": "101",
"serialNumber": "",
"whatsApp": "86172272727",
"friendWhatsApp": "61191828282",
"taskId": "6a2724fa2b7055971f960cc162632595",
"content": [
{
"type": 1,
"text": "hello",
"messageId": "19282dskdasldjl21",
"time": 1689129792000
},
{
"type": 2,
"url": {
"filename": "e70faa31-62dc-4d00-a42a-8a07735aa350",
"url": "https://id-wscrm.oss-accelerate.aliyuncs.com/client/d584b8cfb9185cc999389f17b4236b3b/61733005-dfdb-4704-9c5d-944423c70dd1",
"mimeType": "image/jpeg",
"caption": ""
},
"messageId": "1282190210219082198",
"time": 1689129792000
}
]
}
响应参数说明
参数名 类型 是否必填 备注 code int 是 状态码 message String 是 描述 data Object 是 数据
{
"data": "",
"code": 200,
"message": "success"
}
用户&客服号查询
查询在线的坐席(客服号)
类型
API
URI
/group-dispatch-api/user/queryUserStatus
请求方式
POST、Content-Type: application/json
接口说明
查询在线的坐席以及客服号
请求参数说明
字段 | 类型 | 是否必填 | 备注 |
---|---|---|---|
userId | int | 否 | 坐席 id(不填默认查询所有的坐席) |
userName | String | 否 | 坐席登录账号(不填默认查询所有的坐席) |
source | int | 是 | 来源 1、pc 2、移动端 |
请求示例:
{
"userId": 12,
"source": 2,
"userName": ""
}
响应参数说明
参数名 类型 是否必填 备注 code int 是 状态码 message String 是 描述 data List 是 数据 data 响应参数说明
参数名 类型 是否必填 备注 userId int 是 坐席 id agentAccount String 是 坐席账号 whatsAppList List 是 客服号列表 whatsAppList 响应参数说明
参数名 类型 是否必填 备注 whatsApp String 是 whatsApp name String 否 昵称 响应示例
{
"data": [
{
"userId": 12,
"agentAccount": "u1",
"whatsAppList": [
{
"whatsApp": "861821371272",
"name": "jack"
}
]
}
],
"code": 200,
"message": "success"
}
查询所有在线的坐席+客服号
类型
API
URI
/group-dispatch-api/user/queryAllOlWhatsAppInfo
请求方式
POST、Content-Type: application/json
接口说明
查询在线的坐席以及客服号
响应参数说明
参数名 类型 备注 code int 状态码 message String 描述 data list 数据 data 响应参数说明
参数名 类型 备注 source String 来源 1、pc 2、mobile list String 坐席客服号数据 list 响应参数说明
参数名 类型 备注 agentAccount String 坐席账号 userName String 坐席名称 whatsAppList list 客服号列表 whatsAppList 响应参数说明
参数名 类型 备注 whatsApp String whatsapp 账号 name String 客服号昵称 响应示例
{
"code": 200,
"message": "Success ",
"data": [
{
"source": 1,
"list": [
{
"agentAccount": "202503101",
"userName": "202503101",
"whatsAppList": [
{
"whatsApp": "8618217331413",
"name": "chen"
}
],
"userId": 868024
}
]
},
{
"source": 2,
"list": []
}
]
}
查询指定的客服号在线信息
类型
API
URI
/group-dispatch-api/user/queryWhatsAppInfo
请求方式
POST、Content-Type: application/json
接口说明
查询指定的客服号在线信息
请求参数说明
字段 | 类型 | 是否必填 | 备注 |
---|---|---|---|
int | 是 | whatsapp 账号 |
请求示例:
{
"whatsapp": 8618217331412
}
响应参数说明
参数名 类型 备注 code int 状态码 message String 描述 data List 数据 data 响应参数说明
参数名 类型 备注 userId int 坐席 id agentAccount String 坐席账号 whatsApp String whatsapp 号 status int 状态 10 在线 20 掉线 30 离线 40 封号 source int 1、pc 2、mobile 响应示例
{
"code": 200,
"message": "Success ",
"data": {
"agentAccount": "202503101",
"whatsApp": "8618217331411",
"source": 1,
"userId": "868024",
"status": "10"
}
}
查询坐席(客服号)在线状态日志
类型
API
URI
/group-dispatch-api/user/queryUserStatusLog
请求方式
POST、Content-Type: application/json
接口说明
查询坐席(客服号)在线状态日志(最近 50 条)
请求参数说明
字段 | 类型 | 是否必填 | 备注 |
---|---|---|---|
agentAccount | String | 否 | 坐席账号(不填默认查询所有的坐席) |
String | 否 | 客服号 | |
source | int | 是 | 来源(1pc 2 移动端) |
请求示例:
{
"agentAccount": "",
"whatsApp": "573125704139",
"source": 2
}
响应参数说明
参数名 类型 是否必填 备注 code int 是 状态码 message String 是 描述 data List 是 数据 data 响应参数说明
参数名 类型 是否必填 备注 userId int 是 坐席 id agentAccount String 是 坐席账号 whatsAppList List 是 客服号列表 (最多 50 条) whatsAppList 响应参数说明
参数名 类型 是否必填 备注 whatsApp String 是 whatsApp name String 否 昵称 status int 是 状态 10 在线 20 掉线 30 离线 40 封号 source int 是 来源(1pc 2 移动端) countryCode String 是 国家 detailStatus int 是 行为类型 createTime int 是 创建时间
行为类型 code 对照
code | 描述 |
---|---|
11 | PC 扫码登录 |
12 | PC 上线 |
13 | 手机上线 |
21 | PC 掉线 |
22 | 手机掉线 |
31 | PC 关闭客服号下线 |
32 | PC 关闭客户端下线 |
33 | PC 触发监控下线 |
34 | 手机删除下线 |
35 | 手机主动退出下线 |
36 | 手机触发监控下线 |
37 | 手机异常下线 |
41 | PC 封号 |
42 | 手机封号 |
43 | 系统标记永久封号 |
- 响应示例
{
"code": 200,
"message": "Success",
"data": [
{
"userId": 621443,
"agentAccount": "lsl001",
"whatsAppList": [
{
"whatsApp": "573125704139",
"name": "",
"status": 20,
"source": 2,
"countryCode": "哥伦比亚",
"detailStatus": 42,
"createTime": "2024-07-08 19:25:31"
}
]
}
]
}
查询坐席最近上线的客服号状态(最近十条)
类型
API
URI
/group-dispatch-api/user/getLatestOnlineWhatsAccount
请求方式
POST、Content-Type: application/json
接口说明
查询坐席最近上线的客服号状态(最近十条)
请求参数说明
字段 | 类型 | 是否必填 | 备注 |
---|---|---|---|
userId | int | 否 | 坐席 id(不填默认查询所有的坐席) |
source | int | 是 | 来源(1pc 2 移动端) |
请求示例:
{
"userId": 621443,
"source": 1
}
响应参数说明
参数名 类型 是否必填 备注 code int 是 状态码 message String 是 描述 data List 是 数据 data 响应参数说明
参数名 类型 是否必填 备注 userId int 是 坐席 id agentAccount String 是 坐席账号 whatsAppList List 是 客服号列表 whatsAppList 响应参数说明
参数名 类型 是否必填 备注 whatsApp String 是 whatsApp name String 否 昵称 status int 否 状态 10 在线 20 掉线 30 离线 40 封号 响应示例
{
"code": 200,
"message": "Success ",
"data": [
{
"agentAccount": "lsl001",
"whatsAppList": [
{
"whatsApp": "234567892",
"name": "zhang",
"status": 10
}
],
"userId": 621443
}
]
}
查询客服号最新状态
类型
API
URI
/wscrm-bus-api/whatsapp/queryWhatsappStatus
请求方式
POST、Content-Type: application/json
接口说明
查询客服号最新状态
请求参数说明
字段 | 类型 | 是否必填 | 备注 |
---|---|---|---|
String | 是 | 客服号 |
- 请求示例:
{
"whatsApp": "8218132718231"
}
响应参数说明
参数名 类型 是否必填 备注 code int 是 状态码 message String 是 描述 data Object 是 数据
data 参数说明
参数名 类型 是否必填 备注 status int 是 状态 0、离线 1、在线 2、封号
- 响应示例
{
"data": {
"status": 1
},
"code": 200,
"message": "success"
}
客服号操作
批量导入客服号
- 类型
API
URI
/group-dispatch-api/whatsapp/batchInsert
请求方式
POST、Content-Type: application/json
接口说明
批量导入客服号
请求参数说明
字段 | 类型 | 是否必填 | 备注 |
---|---|---|---|
whatsAppList | List | 是 | 客服号列表 |
data 参数说明
参数名 | 类型 | 是否必填 | 备注 |
---|---|---|---|
String | 是 | ||
avatar | String | 否 | 头像 |
name | String | 否 | 名称 |
publicKey | String | 是 | 账号公钥 |
privateKey | String | 是 | 账号私钥 |
msgPublicKey | String | 是 | 消息公钥 |
msgPrivateKey | String | 是 | 消息私钥 |
accountId | String | 是 | 账号 Id |
nextKeyId | String | 否 | nextKeyId |
registrationId | String | 否 | 注册 id |
deviceParams | String | 否 | 设备参数 |
whatsappType | Integer | 否 | whatsapp 账户类型 1 个人 2 商业,默认个人 |
- 请求示例:
{
"whatsAppList": [
{
"whatsApp": "861821726232",
"whatsappType": 1,
"name": "lee",
"avatar": "wwww.baiux.com/1.img",
"publicKey": "",
"privateKey": "",
"msgPublicKey": "",
"msgPrivateKey": "",
"accountId": "",
"nextKeyId": "",
"registrationId": "",
"deviceParams": ""
}
]
}
响应参数说明
参数名 类型 是否必填 备注 code int 是 状态码 message String 是 描述 data String 是 数据 响应示例
{
"data": "",
"code": 200,
"message": "success"
}
查询客服号信息
类型
API
URI
/group-dispatch-api/whatsapp/queryWhatsAppStatus
请求方式
GET、Content-Type: application/json
接口说明
查询所有的客服号信息
请求参数说明
无
响应参数说明
参数名 类型 是否必填 备注 code int 是 状态码 message String 是 描述 data List 是 数据
- data 响应参数说明
参数名 | 类型 | 是否必填 | 备注 |
---|---|---|---|
String | 是 | ||
status | int | 是 | 状态 0、离线 1、在线 2、封号 |
onlineStatus | int | 是 | 在线状态状态 1、上线中 2、在线 3、下线中 4、离线 |
- 响应示例
{
"data": [
{
"whatsApp": "861821371272",
"status": 1,
"onlineStatus": 1
}
],
"code": 200,
"message": "success"
}
批量上线客服号
类型
API
URI
/group-dispatch-api/whatsapp/batchOnline
请求方式
POST、Content-Type: application/json
接口说明
批量上线客服号
请求参数说明
字段 | 类型 | 是否必填 | 备注 |
---|---|---|---|
whatsAppList | List | 是 | 客服号列表 |
- whatsAppList 参数说明
参数名 | 类型 | 是否必填 | 备注 |
---|---|---|---|
override | boolean | 是 | 是否覆盖 |
String | 是 | ||
avatar | String | 否 | 头像 |
name | String | 否 | 名称 |
publicKey | String | 是 | 账号公钥 |
privateKey | String | 是 | 账号私钥 |
msgPublicKey | String | 是 | 消息公钥 |
msgPrivateKey | String | 是 | 消息私钥 |
nextKeyId | String | 否 | nextKeyId |
registrationId | String | 否 | 注册 id |
accountId | String | 否 | 账号 id |
deviceParams | String | 否 | 设备参数 |
whatsappType | Integer | 否 | whatsapp 账户类型 1 个人 2 商业,默认个人 |
- 请求示例:
{
"whatsAppList": [
{
"whatsApp": "861821726232",
"whatsappType": 1,
"override": false,
"name": "lee",
"avatar": "wwww.baiux.com/1.img",
"publicKey": "",
"privateKey": "",
"msgPublicKey": "",
"msgPrivateKey": "",
"accountId": "",
"nextKeyId": "",
"registrationId": "",
"deviceParams": ""
}
]
}
响应参数说明
参数名 类型 是否必填 备注 code int 是 状态码 message String 是 描述 data String 是 数据 响应示例
{
"data": "",
"code": 200,
"message": "success"
}
批量回收客服号
类型
API
URI
/group-dispatch-api/whatsapp/batchRecycle
请求方式
POST、Content-Type: application/json
接口说明
批量回收客服号
请求参数说明
字段 | 类型 | 是否必填 | 备注 |
---|---|---|---|
whatsAppList | List | 否 | 客服号 |
请求示例:
{
"whatsAppList": ["861821726232", "861821726231"]
}
响应参数说明
参数名 类型 是否必填 备注 code int 是 状态码 message String 是 描述 data String 是 数据 响应示例
{
"data": "",
"code": 200,
"message": "success"
}
同步客服号状态
类型
WebHook
URI
/callback/gsTask/syncWhatsAppStatus
请求方式
POST、Content-Type: application/json
接口说明
同步客服号状态
请求参数说明
字段 | 类型 | 是否必填 | 备注 |
---|---|---|---|
String | 是 | 客服号 | |
status | int | 是 | 状态 0、离线 1、在线 2、封号 |
onlineStatus | int | 是 | 在线状态状态 1、上线中 2、在线 3、下线中 4、离线 |
reason | String | 否 | 失败原因 |
- 请求示例:
{
"whatsApp": "8218132718231",
"status": 1,
"onlineStatus": 1,
"reason": ""
}
响应参数说明
参数名 类型 是否必填 备注 code int 是 状态码 message String 是 描述 data String 是 数据 响应示例
{
"data": "",
"code": 200,
"message": "success"
}
客服号注册(提交手机号)
- 类型
API
URI
/group-dispatch-api/register/submitPhone
请求方式
POST、Content-Type: application/json
接口说明
客服号注册
请求参数说明
字段 | 类型 | 是否必填 | 备注 |
---|---|---|---|
phone | String | 是 | 客服号(手机号) |
verifyType | int | 是 | 验证码类型 0、短信 1、语音 2、未接来电 3、内部验证码 |
accountType | int | 是 | 账号类型 1、个人 2、商业 |
areaCode | String | 是 | 地区码 |
countryCode | String | 是 | 国家码 |
- 请求示例:
{
"phone": "182172623211",
"verifyType": 1,
"accountType": 2,
"areaCode": "+86",
"countryCode": "CN"
}
响应参数说明
参数名 类型 是否必填 备注 code int 是 状态码 message String 是 描述 data int 是 任务 id 响应示例
{
"data": 12,
"code": 200,
"message": "success"
}
客服号注册(提交验证码)
- 类型
API
URI
/group-dispatch-api/register/submitVerifyCode
请求方式
POST、Content-Type: application/json
接口说明
客服号注册(验证码)
请求参数说明
字段 | 类型 | 是否必填 | 备注 |
---|---|---|---|
phone | String | 是 | 客服号(手机号) |
areaCode | String | 是 | 地区码 |
verifyCode | String | 是 | 验证码 |
- 请求示例:
{
"phone": "1821726232",
"verifyCode": "123456",
"areaCode": "+86"
}
响应参数说明
参数名 类型 是否必填 备注 code int 是 状态码 message String 是 描述 data String 是 数据 响应示例
{
"data": "",
"code": 200,
"message": "success"
}
同步客服号注册状态
- 类型
WebHook
URI
/group-dispatch-api/register/syncStatus
请求方式
POST、Content-Type: application/json
接口说明
客服号注册状态同步
请求参数说明
字段 | 类型 | 是否必填 | 备注 |
---|---|---|---|
phone | String | 是 | 客服号(手机号) |
status | int | 是 | 1、成功 0、失败 |
- 请求示例:
{
"phone": "861821726232",
"status": "1"
}
响应参数说明
参数名 类型 是否必填 备注 code int 是 状态码 message String 是 描述 data String 是 数据 响应示例
{
"data": "",
"code": 200,
"message": "success"
}
群发客服号分组管理 api
添加客服号分组
类型
API
URI
/group-dispatch-api/whatsapp-audience/addWhatsappAudience
请求方式
POST、Content-Type: application/json
接口说明
添加客服号分组
请求参数说明
字段 | 类型 | 是否必填 | 备注 |
---|---|---|---|
name | String | 是 | 分组名称 |
whatsIdList | List | 是 | whatsapp 集合 |
- 请求示例:
{
"name": "this name",
"whatsIdList": ["99123456", "98123456"]
}
响应参数说明
名称 类型 是否必填 备注 code int 是 状态码 message String 是 描述 data Object 是 数据
data 参数说明
名称 类型 是否必填 备注 id int 是 客服号分组 id count int 是 保存成功条数
- 响应示例
{
"data": {
"id": 73,
"count": 2
},
"code": 200,
"message": "success"
}
查询客服号分组
类型
API
URI
/group-dispatch-api/whatsapp-audience/query
请求方式
GET、Content-Type: application/json
接口说明
查询客服号分组
请求参数说明
字段 | 类型 | 是否必填 | 备注 |
---|---|---|---|
name | String | 否 | 分组名称 |
id | int | 否 | 客服号分组 id |
current | int | 否 | 分页查询参数,当前页码 默认 1 |
size | int | 否 | 分页查询参数,每页条数 默认 10 |
- 请求示例:
group-dispatch-api/whatsapp-audience/query?id=73
响应参数说明
名称 类型 是否必填 备注 code int 是 状态码 message String 是 描述 data Object 是 数据
data 参数说明
名称 类型 是否必填 备注 records List 是 客服号分组列表 total int 是 总条数 records 参数说明
名称 类型 是否必填 备注 id int 是 客服号分组 id name String 否 分组名称 items List 是 客服号信息 items 参数说明
名称 类型 是否必填 备注 phone String 是 客服号 countryCode String 是 客服号归属地,会根据请求头语言进行国际化
- 响应示例
{
"code": 200,
"message": "Success",
"data": {
"records": [
{
"id": 73,
"name": "this name",
"items": [
{
"phone": "99123456",
"countryCode": "UNKNOWN"
},
{
"phone": "98123456",
"countryCode": "伊朗"
}
]
}
],
"total": 1
}
}
查询客服号分组详情
类型
API
URI
/group-dispatch-api/whatsapp-audience/queryDetail
请求方式
GET、Content-Type: application/json
接口说明
查询客服号分组详情
请求参数说明
字段 | 类型 | 是否必填 | 备注 |
---|---|---|---|
id | int | 是 | 客服号分组 id |
- 请求示例:
/group-dispatch-api/whatsapp-audience/queryDetail?id=73
响应参数说明
名称 类型 是否必填 备注 code int 是 状态码 message String 是 描述 data Object 是 数据
data 参数说明
名称 类型 是否必填 备注 phone String 是 客服号 countryCode String 是 客服号归属地,会根据请求头语言进行国际化
- 响应示例
{
"code": 200,
"message": "Success",
"data": [
{
"phone": "99123456",
"countryCode": "UNKNOWN"
},
{
"phone": "98123456",
"countryCode": "伊朗"
}
]
}
联系人 - 未做
查询联系人
类型
API
URI
/wscrm-bus-api/friend/search
请求方式
POST、Content-Type: application/json
接口说明
联系人查询
请求参数说明
字段 | 类型 | 是否必填 | 备注 |
---|---|---|---|
userId | int | 是 | 坐席 id |
List | 是 | 客服号 | |
name | String | 否 | 联系人名称 |
请求示例:
{
"userId": "101",
"name": "",
"whatsAppList": []
}
响应参数说明
参数名 类型 是否必填 备注 code int 是 状态码 message String 是 描述 data String 是 数据 data 参数说明
参数名 类型 是否必填 备注 friendWhatsApp List 是 联系人列表 friendWhatsApp 参数说明
参数名 类型 是否必填 备注 whatsApp String 是 联系人 whatsapp name String 是 联系人名称 响应示例
{
"code": 200,
"message": "success",
"data": {
"friendWhatsApp": [
{
"whatsApp": "8618282182828",
"name": "mike"
}
]
}
}
更新联系人
类型
API
URI
/wscrm-bus-api/friend/update
请求方式
POST、Content-Type: application/json
接口说明
联系人查询
请求参数说明
字段 | 类型 | 是否必填 | 备注 |
---|---|---|---|
userId | int | 否 | 坐席 id(如果 whatsappw 为空,则全部删除) |
String | 是 | 客服号 | |
name | String | 是 | 名称 |
请求示例:
{
"userId": "101",
"whatsApp": "861727172722",
"name": "hello test"
}
响应参数说明
参数名 类型 是否必填 备注 code int 是 状态码 message String 是 描述 data String 是 数据
{
"code": 200,
"message": "success",
"data": ""
}
删除联系人
类型
API
URI
/wscrm-bus-api/friend/del
请求方式
POST、Content-Type: application/json
接口说明
联系人查询
请求参数说明
字段 | 类型 | 是否必填 | 备注 |
---|---|---|---|
userId | int | 否 | 坐席 id(如果 whatsappw 为空,则全部删除) |
whatsAppList | List | 否 | 客服号 |
- 请求示例:
{
"userId": "101",
"whatsApp": []
}
响应参数说明
参数名 类型 是否必填 备注 code int 是 状态码 message String 是 描述 data String 是 数据
{
"code": 200,
"message": "success",
"data": ""
}
坐席
查询坐席是否存在
类型
API
URI
/group-dispatch-api/user/listUserByTenantId
请求方式
POST、Content-Type: application/json
接口说明
查询坐席是否存在
请求参数说明
字段 | 类型 | 是否必填 | 备注 |
---|---|---|---|
userName | String | 否 | 坐席名称 |
userId | int | 否 | 坐席 id |
请求示例:
{
"userName": "shun",
"userId": 101
}
响应参数说明
参数名 类型 是否必填 备注 code int 是 状态码 message String 是 描述 data String 是 坐席信息列表
{
"code": 200,
"message": "success",
"data": [{ "userId": 101, "userName": "shun" }]
}
其他
筛号接口
类型
API
URI
/wscrm-bus-api/common/scan
请求方式
POST、Content-Type: application/json
接口说明
筛号接口
请求参数说明
字段 | 类型 | 是否必填 | 备注 |
---|---|---|---|
List | 是 | 客服号 |
请求示例:
{
"whatsApp": ["12828282828", "28282828288282", "12828282882828"]
}
响应参数说明
参数名 类型 是否必填 备注 code int 是 状态码 message String 是 描述 data String 是 数据,筛号任务 id
{
"code": 200,
"message": "success",
"data": "9122328282828282828"
}
筛号回调接口
类型
WebHook
URI
/wscrm-bus-api/callback/scan
请求方式
POST、Content-Type: application/json
接口说明
筛号回调接口
请求参数说明
字段 | 类型 | 是否必填 | 备注 |
---|---|---|---|
scanTaskId | String | 是 | 筛号任务 id |
isWa | List | 是 | wa |
notWa | List | 是 | not wa |
- 请求示例:
{
"scanTaskId": "12929292222k2k2k2",
"isWa": ["822828822828"],
"notWa": ["822882828282"]
}
响应参数说明
参数名 类型 是否必填 备注 code int 是 状态码 message String 是 描述 data String 是 数据
{
"code": 200,
"message": "success",
"data": ""
}