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 | Integer | 否 | 广告模版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 | Integer | 否 | 广告模版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 | Integer | 否 | 广告模版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 | Integer | 否 | 广告模版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 | Integer | 否 | 广告模版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 | Integer | 否 | 广告模版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 | Integer | 否 | 广告模版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 | Integer | 否 | 广告模版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"
}
异步通知群发任务执行状态
- 类型
WebHook
URI
/callback/gsTask/syncTaskStatus
请求方式
POST、Content-Type: application/json
接口说明
异步通知订单执行状态
请求参数说明
字段 | 类型 | 是否必填 | 备注 |
---|---|---|---|
taskId | String | 是 | 订单id |
status | int | 是 | 任务状态 1、待开始 2、待发送 3、群发中 4、已停止 5、已完成 6、已暂停 |
请求示例:
{
"taskId": "6a2724fa2b7055971f960cc162632595",
"status": 1
}
响应参数说明
参数名 类型 是否必填 备注 code int 是 状态码 message String 是 描述 data Object 是 数据
{
"data":"",
"code": 200,
"message": "success"
}
异步通知群发任务详情执行状态
类型
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"
}
异步通知群发任务-回复消息回调
类型
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(不填默认查询所有的坐席) |
source | int | 是 | 来源(1pc 2 移动端) |
请求示例:
{
"userId": 12,
"source": 2
}
响应参数说明
参数名 类型 是否必填 备注 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/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 | 是 | |
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
添加客服号分组
类型
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
/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": "",
}