Files

86 lines
7.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# RPA 设备、应用与任务
阅读本文件处理 RPA 设备、应用购买与转移、设备分组、消息转发和群管任务。这里的 `deviceId`/`deviceID` 都指 RPA 设备 ID,不是微号 `botId`;请求字段名必须按各接口表格使用。
## 目录
- [设备](#设备)
- [应用](#应用)
- [设备分组](#设备分组)
- [消息转发](#消息转发)
- [群管](#群管)
- [常用示例](#常用示例)
## 设备
| 目标 | 接口 | 请求字段 | 常用返回字段 |
| --- | --- | --- | --- |
| 设备列表 | `POST /api/rpa/device/list` | `page`(int64, 必填)`pageSize`(int64, 必填)`userId`(int64, 可选,主账号按用户筛选);`appId`(int64, 可选,执行应用 ID)`name`(string, 可选,设备名称)`groupID`(int64, 可选,`-1` 未分组、`0` 全部、正数为指定分组) | `items`(repeated DeviceItem,含 `id`, `name`, `execApplicationId`, `expireTime`, `userID`, `userName`, `botType`, `botName`, `botStatus`, `execAppName`)`page``pageSize``total``last` |
| 设备详情 | `POST /api/rpa/device/info` | `id`(int64, 必填,设备 ID) | `id``name``execApplicationId``expireTime`(毫秒)`ip``port``guid``botType``botName``botStatus``appInfo`(应用名称、可执行文件、图标、版本、32/64 位下载地址及自动更新配置) |
| 更新设备应用配置 | `POST /api/rpa/device/appUpdate` | `deviceID`(int64, 必填)`applicationID`(int64, 必填)`autoUpdate`(bool, 必填)`updateStart`(string, 必填,`HH:mm:ss`)`updateEnd`(string, 必填,`HH:mm:ss`)`forceSystemBit`(int32, 必填,`32`/`64``0` 不强制) | 空对象或无业务数据 |
| 删除设备 | `POST /api/rpa/device/delete` | `deviceIDs`(repeated int64, 必填,只能删除没有应用的设备) | 空对象或无业务数据 |
| 切换执行应用 | `POST /api/rpa/device/switchExecApplicationId` | `deviceID`(int64, 必填)`applicationID`(int64, 必填) | 空对象或无业务数据 |
| RPA 客户端信息 | `POST /api/rpa/client/info` | `{}` | `version`(版本号)`download`(下载地址)`updateInfo`(更新信息) |
| 设备执行状态 | `POST /api/rpa/device/status` | `deviceIds`(repeated int64, 必填) | `list`(repeated Status,含 `deviceId`, `appType`, `targetGroupNum`, `successGroupNum`, `failGroupNum`, `updateAt`, `logType`, `logMsg`, `status`) |
设备状态中的 `logType``0` 信息、`1` 警告、`2` 错误。`status` 的协议类型是 string,当前说明值为 `0` 等待中、`1` 运行中、`2` 完成,不要改成 JSON 数字。
## 应用
| 目标 | 接口 | 请求字段 | 常用返回字段 |
| --- | --- | --- | --- |
| 应用列表 | `POST /api/rpa/application/list` | `deviceId`(int64, 可选;传入后返回该设备的购买和执行状态) | `items`(repeated ApplicationItem,含 `id`, `name`, `priceByMonth`, `priceByYear`, `isBuy`, `expireTime`, `isExec`, `autoUpdate`, `updateStart`, `updateEnd`, `forceSystemBit`) |
| 购买应用 | `POST /api/rpa/application/buy` | `deviceID`(int64, 必填)`applicationID`(int64, 必填)`payMode`(string, 必填,支付方式)`expireNum`(int64, 必填,购买年/月数量) | `deviceID``endDate`(到期时间) |
| 转移应用权限 | `POST /api/rpa/device/application/transfer` | `sourceDeviceID`(int64, 必填)`targetDeviceID`(int64, 必填)`applicationIDs`(repeated int64, 必填) | 空对象或无业务数据 |
| 未购买指定应用的设备 | `POST /api/rpa/application/notExistDeviceList` | `applicationID`(int64, 必填)`name`(string, 必填,设备名称模糊查询);`groupID`(int64, 必填)`page`(int64, 必填)`pageSize`(int64, 必填) | `list`(repeated DeviceItem)`page``pageSize``total``last` |
## 设备分组
| 目标 | 接口 | 请求字段 | 常用返回字段 |
| --- | --- | --- | --- |
| 分组列表 | `POST /api/rpa/group/list` | `{}` | `items`(repeated GroupItem,含 `id`, `name`) |
| 添加分组 | `POST /api/rpa/group/add` | `name`(string, 必填) | 空对象或无业务数据 |
| 删除分组 | `POST /api/rpa/group/del` | `id`(int64, 必填) | 空对象或无业务数据 |
| 更新分组名称 | `POST /api/rpa/group/update` | `id`(int64, 必填)`name`(string, 必填) | 空对象或无业务数据 |
| 移动设备 | `POST /api/rpa/group/device/move` | `deviceIDs`(repeated int64, 必填)`groupID`(int64, 必填,目标分组 ID) | 空对象或无业务数据 |
## 消息转发
| 目标 | 接口 | 请求字段 | 常用返回字段 |
| --- | --- | --- | --- |
| 转发配置详情 | `POST /api/rpa/msgforward/info` | `deviceId`(int64, 必填) | `id`(转发配置 ID)`sendRate`(最高 1 倍,向下递减)`groupNames`(目标群名)`listenGroupName`(监听群名) |
| 更新转发配置 | `POST /api/rpa/msgforward/update` | `deviceId`(int64, 必填)`sendRate`(float, 可选,最高 1 倍)`groupNames`(repeated string, 可选)`listenGroupName`(string, 可选) | 空对象或无业务数据 |
| 转发执行状态 | `POST /api/rpa/msgforward/status` | `deviceIds`(repeated int64, 必填) | `list`(repeated Status,含 `deviceId`, `targetGroupNum`, `successGroupNum`, `failGroupNum`, `updateAt`, `logType`, `logMsg`, `status`) |
转发状态中的 `logType``status` 取值与设备执行状态相同。
## 群管
| 目标 | 接口 | 请求字段 | 常用返回字段 |
| --- | --- | --- | --- |
| 群管配置详情 | `POST /api/rpa/qunguan/info` | `deviceId`(int64, 必填) | `deviceId``sendRate`(最高 1 倍,向下递减)`groupNames`(群名列表) |
| 更新群管配置 | `POST /api/rpa/qunguan/update` | `deviceId`(int64, 必填)`sendRate`(float, 可选,最高 1 倍)`groupNames`(repeated string, 可选) | 空对象或无业务数据 |
| 待执行任务列表 | `POST /api/rpa/qunguan/taskList` | `deviceId`(int64, 必填) | `taskInfos`(repeated TaskInfo,含 `taskId`, `methodType`, `content`, `isAtAll`) |
| 发送任务 | `POST /api/rpa/qunguan/sendTask` | `deviceId`(int64, 必填)`methodType`(int32, 必填)`content`(string, 必填)`isAtAll`(bool, 可选,仅方式 2、3 生效) | 空对象或无业务数据 |
| 删除任务 | `POST /api/rpa/qunguan/delTask` | `deviceId`(int64, 必填)`taskIds`(repeated string, 必填) | 空对象或无业务数据 |
群管 `methodType``1` 修改群名,`2` 群发消息,`3` 修改群公告,`4` 邀请进群。`content` 随类型分别填写群名规则、群发内容、公告内容或受邀者名称。
## 常用示例
```bash
# 查看全部 RPA 设备
htsy-cli call /api/rpa/device/list -d '{"page":1,"pageSize":20,"groupID":0}'
# 查看指定设备已购买和正在执行的应用
htsy-cli call /api/rpa/application/list -d '{"deviceId":1001}'
# 配置消息转发
htsy-cli call /api/rpa/msgforward/update -d '{"deviceId":1001,"sendRate":1,"listenGroupName":"订单群","groupNames":["客户群A","客户群B"]}'
# 向群管设备下发群公告任务
htsy-cli call /api/rpa/qunguan/sendTask -d '{"deviceId":1001,"methodType":3,"content":"今日活动已开始","isAtAll":true}'
```
设备注册、设备拉取任务和设备执行数据上报是 RPA 客户端内部流程,不作为常规业务 API 调用。