客服号管理
客服号管理
唤醒好友联系人聊天对话接口
URI
/wscrm-bus-api/open/action/batchAdd
请求方式
POST、Content-Type: application/json
说明
打开的动作必须保证已登录该账号和客服号,未登录一分钟后自动失败。
同时打开相同账号和客服号的不同好友会话,依次间隔 10s 打开。
请求参数说明
参数名 | 类型 | 是否必填 | 备注 |
---|---|---|---|
tenantId | Long | 是 | 公司 id |
data | List | 是 | 详情数据 |
data 参数说明
参数名 | 类型 | 是否必填 | 备注 |
---|---|---|---|
agentAccount | String | 是 | 坐席账号 |
whatsId | String | 否 | 客服号(如果不填,会列出来当前客户端已登录的客服号,选择一个作为客服号) |
friendWhatsId | String | 是 | 好友 whatsapp |
platformType | int | 是 | 设备类型 1、pc 2、android |
content | String | 否 | 发送内容 |
type | int | 是 | 业务类型 1 打开好友会话窗口 |
- 请求示例
{
"tenantId": 500766,
"data": [
{
"agentAccount": "test",
"whatsId": "13633802288",
"friendWhatsId": "8613633800088",
"platformType": 1,
"content": "hello",
"type": "1"
}
]
}
- 响应参数说明
参数名 | 类型 | 是否必填 | 备注 |
---|---|---|---|
code | int | 是 | 响应码 |
message | String | 是 | 响应信息 |
data | String | 是 | 数据回调唯一标识(与添加顺序保持一致) |
- 响应示例
{
"code": 200,
"message": "Success",
"data": ["20c7c02bf11b494286dd165da47388c9"]
}
查询唤醒好友联系人执行详情接口
URI
/wscrm-bus-api/open/action/callbackResult
请求方式
POST、Content-Type: application/json
请求参数说明
参数名 | 类型 | 是否必填 | 备注 |
---|---|---|---|
tenantId | Long | 是 | 公司 id |
data | List | 是 | 查询的 ids |
- 请求示例
{
"tenantId": 500766,
"data": ["ad518a4271fa43c8937612c5f60396f8"]
}
- 响应参数说明
参数名 | 类型 | 是否必填 | 备注 |
---|---|---|---|
id | String | 是 | 数据唯一标识 |
tenantId | Long | 是 | 公司 id |
agentAccount | String | 是 | 坐席账号 |
whatsId | String | 是 | 客服号 |
friendWhatsId | String | 是 | 好友 whatsapp |
type | int | 是 | 动作类型 1 打开客户端坐席聊天窗口 |
executeStatus | String | 是 | 执行结果 0 未执行 1 成功 2 失败 |
executeTime | String | 是 | 执行时间(默认‘1970-01-01 08:00:01’) |
- 响应示例
{
"code": 200,
"message": "Success",
"data": [
{
"id": "ad518a4271fa43c8937612c5f60396f8",
"tenantId": 500766,
"agentAccount": "ykts02",
"whatsId": "8172727272727",
"friendWhatsId": "8261626162626",
"type": 1,
"executeStatus": 2,
"executeTime": "1970-01-01 08:00:01"
}
]
}
客服号上下线异步通知接口
注: 接口加密规则使用 header 头的方式!!!
配置 ID <WA_SYNC_ON_OR_OFF_LINE_STATUS>
WebHook
URI
/api/callback/whatsapp/onlineStatus
请求方式
POST、Content-Type: application/json
请求参数说明
字段 | 类型 | 是否必填 | 备注 |
---|---|---|---|
whatsAppList | List | 是 | 格式[{},{}],详细如下(数量 0-50 条 |
- whatsAppList 参数说明
字段 | 类型 | 是否必填 | 备注 |
---|---|---|---|
whatsId | String | 是 | whatsapp 手机号 |
status | int | 是 | 状态 10、在线 20、掉线 30、离线 40、封号 |
detailStatus | int | 是 | 详细状态 (具体请查看下面注释) |
account | String | 是 | 坐席账号 |
platformType | int | 是 | 平台类型 1、pc 2、android |
time | String | 是 | 时间 2024-06-27 19:52:12 |
详细状态介绍: 11、PC 扫码登录 12、PC 上线 21、PC 掉线 31、PC 关闭客户号离线 32、PC 关闭客户端离线 33、PC 触发监控下线 41、封号
- 请求示例
[
{
"whatsId": "8617633819542",
"status": 1,
"detailStatus": 11,
"account":"",
"time":"2024-07-03 15:27:00",
"platformType":1
},
{
"whatsId": "8617633819542",
"status": 1,
"detailStatus": 11,
"account":"",
"time":"2024-07-03 15:27:00",
"platformType":1
}
]
}
- 响应示例
{
"code": 200,
"message": "Success",
"data": ""
}
客服号扫码
获取二维码窗口 ID 接口
URI
/group-dispatch-api/qrCode/preGenerate
请求方式
POST、Content-Type: application/json
请求参数说明
参数名 | 类型 | 是否必填 | 备注 |
---|---|---|---|
type | int | 是 | 类型 1、pc 端 2、云电脑 |
- 请求示例
{
"type": 1
}
- 响应示例
{
"code": 200,
"message": "Success",
"data": "ad518a4271fa43c8937612c5f60396f8"
}
注:每次请求此接口会预占用一个端口,10分钟之内锁定端口,超过时间未使用或者上线未成功,销毁此端口
获取二维码接口
URI
/group-dispatch-api/qrCode/getQrCode
请求方式
POST、Content-Type: application/json
请求参数说明
参数名 | 类型 | 是否必填 | 备注 |
---|---|---|---|
id | String | 否 | 唯一标识 |
ipConfig | String | 否 | IP配置.目前只支持SOCKS5 |
- 请求示例
{
"id": "ad518a4271fa43c8937612c5f60396f8",
"ipConfig":"ip:port:user:pass"
}
- 响应示例
{
"code": 200,
"message": "Success",
"data": "2@BBisWIG5D2RkAqYI5NhFXG+Mrw/EZGU70YTyammI/3Q/nx4O3e6QNIn4PXYMWfgoO/Hb4CIi7y9G2JXeRAiVloK/QgEM9unZVX8=,1b1JxI522MIxZxMLjhOuE/A5ys2I/hvj7iMWK7ZPSm0=,iSMi+zxKjva1DMVogyRZ/TTOlx1UaLed4fQllsILvDw=,xDt9ykte3QQmklrdLQqgtH6V1NhYM14NhxXfb2UZE3Y=,1"
}
二维码状态同步接口
WebHook
配置 ID <WA_SYNC_QR_LOGIN_STATUS>
URI
/wscrm-bus-api/open/qrCode/syncLoginStatus
请求方式
POST、Content-Type: application/json
请求参数说明
参数名 | 类型 | 是否必填 | 备注 |
---|---|---|---|
id | String | 是 | 唯一标识 |
String | 否 | whatsapp 账号 | |
status | int | 是 | 状态 0、失败 1、成功 |
- 请求示例
{
"id": "ad518a4271fa43c8937612c5f60396f8",
"whatsapp": "817272727272",
"status": 1
}
- 响应示例
{
"code": 200,
"message": "Success",
"data": ""
}
获取二维码信息接口
URI
/group-dispatch-api/qrCode/getQrCodeInfo
请求方式
POST、Content-Type: application/json
请求参数说明
参数名 | 类型 | 是否必填 | 备注 |
---|---|---|---|
id | String | 否 | 唯一标识 |
String | 否 | whatsapp 账号 |
- 请求示例
{
"id": "ad518a4271fa43c8937612c5f60396f8"
}
- 响应参数说明
参数名 | 类型 | 备注 |
---|---|---|
status | int | 状态 0、未登录(未扫码成功) 1、登录成功(扫码成功) |
String | whatsapp 账号 | |
userName | String | 坐席名称 |
- 响应示例
{
"code": 200,
"message": "Success",
"data": [
{
"status": 1,
"userName": "test",
"whatsApp": "812282828221"
}
]
}
客服号上线接口
URI
/group-dispatch-api/qrCode/onLine
请求方式
POST、Content-Type: application/json
请求参数说明
参数名 | 类型 | 是否必填 | 备注 |
---|---|---|---|
id | String | 是 | 唯一标识 |
ipConfig | String | 否 | IP配置.目前只支持SOCKS5 |
- 请求示例
{
"id": "ad518a4271fa43c8937612c5f60396f8",
"ipConfig":"ip:port:user:pass"
}
- 响应示例
{
"code": 200,
"message": "Success",
"data": []
}
客服号下线接口
URI
/group-dispatch-api/qrCode/offline
请求方式
POST、Content-Type: application/json
请求参数说明
参数名 | 类型 | 是否必填 | 备注 |
---|---|---|---|
id | String | 是 | 唯一标识 |
- 请求示例
{
"id": "ad518a4271fa43c8937612c5f60396f8"
}
- 响应示例
{
"code": 200,
"message": "Success",
"data": []
}
客服号登出接口
URI
/group-dispatch-api/qrCode/logOut
请求方式
POST、Content-Type: application/json
请求参数说明
参数名 | 类型 | 是否必填 | 备注 |
---|---|---|---|
id | String | 是 | 唯一标识 |
- 请求示例
{
"id": "ad518a4271fa43c8937612c5f60396f8"
}
- 响应示例
{
"code": 200,
"message": "Success",
"data": []
}
获取当前用户的总端口数以及当前使用端口数
URI
/group-dispatch-api/qrCode/selectCloudPort
请求方式
GET、Content-Type: application/json
响应示例
{
"code": 200,
"message": "Success",
"data": {
"currentPort": 3,
"maxPort": 2
}
}
- 响应参数说明
参数名 | 类型 | 是否必填 | 备注 |
---|---|---|---|
currentPort | int | 是 | 当前占用端口数量 |
maxPort | int | 是 | 最大端口可用额度 |
注:当最大端口数小于当前占用端口数量时,会把后面申请的端口上的号码进行下线处理
查询当前占用端口数详细信息
URI
/group-dispatch-api/qrCode/selectCloudPortDetail
请求方式
GET、Content-Type: application/json
响应示例
{
"code": 200,
"message": "Success",
"data": [
{
"phone": "8618730334344",
"createTime": "2025-07-31 15:40:19",
"id": 8639164839053938688,
"status": 10
},
{
"phone": "8618730334345",
"createTime": "2025-09-10 16:07:25",
"id": 8654029561952415744,
"status": 20
},
{
"phone": null,
"createTime": "2025-09-10 16:07:42",
"id": 8654029632861319168,
"status": null
}
]
}
- 响应参数说明
参数名 | 类型 | 是否必填 | 备注 |
---|---|---|---|
phone | String | 否 | wa号码 |
createTime | string | 是 | 端口申请时间 |
id | String | 是 | 端口申请id |
status | int | 否 | 号码状态 10 在线 20 掉线 |
注:申请后请及时使用所占用端口,否则会占用端口额度
扫码异常信息说明
code | message |
---|---|
1001 | 当前用户云端口额度不足 |
1002 | 当前端口不存在或者已被释放 |