Appearance
机器人平台-应用侧对接协议v1.0.1
1. 接口说明
1.1 概述
为方便各业务系统对接机器人、巡检平台,制定标准的接入规范,特撰写该文档,帮助研发人员快速开展工作。
1.2 基本规则
- 设备通过 HTTP 对接平台,上下行消息响应的超时,时间为 30 秒。
- 接入用户通过分配:AK,SK,完成身份认证:数字、大小写字母组成,长度不超过 32。
- 本协议为机器人平台通用定义,需根据自身能力实现对应部分。
1.3 签名校验值说明
签名校验值的计算方式为:签名检验值 = SHA256(ak + sk + timestamp + nonce)
示例:
- ak:
ak - sk:
sk - timestamp:
1652428470 - nonce:
12AKz789
拼接字符串:aksk165242847012AKz789
SHA256 值:ee5c4cbef3ccb944dc4472c44364120235307f56ae37e121d19dcc43d6a153d7
1.4 认证 Header 公共参数
以 x-onewo-* 的形式放在 Header 中
| 参数名称 | 说明 |
|---|---|
| x-onewo-ak | Access Key ID |
| x-onewo-nonce | 八位随机数(0-9 a-z A-Z),如:12AKz789 |
| x-onewo-timestamp | 时间戳,精确到秒,与服务器时间相差不能大于 120 秒 |
| x-onewo-sign | 安全签名,计算方式:SHA256(ak+sk+timestamp+nonce) |
2. 协议定义
2.1 边缘巡检告警推送接口
接口功能
边缘巡检模块生成告警数据后,将完整告警信息推送至下游系统,实现告警数据同步与流转。
调用方法
POST
接口路径
接收方提供
注意事项
- 接口返回的告警图片仅保留一个月,接收方需及时将图片转存至自身服务器。
createTime字段暂不启用,无需关注该字段传值。sceneName字段取值需严格对照附录 3.1,不可自定义场景名称。- 请求报文需为标准 JSON 格式,嵌套字段需符合规范。
参数说明
| 参数 | 必选/可选 | 类型 | 位置 | 描述 | 备注 |
|---|---|---|---|---|---|
| alarmId | 是 | String | body | 告警ID | 全局唯一 |
| projectId | 是 | String | body | 项目ID | - |
| projectName | 否 | String | body | 项目名称 | - |
| deviceId | 是 | String | body | 设备UUID | - |
| deviceName | 是 | String | body | 设备名称 | - |
| warnImageUrl | 是 | String | body | 告警图片地址 | - |
| imageUrl | 是 | String | body | 原图地址 | - |
| sceneId | 是 | String | body | 告警场景ID | - |
| sceneName | 是 | String | body | 告警场景名称 | 见附录3.1 |
| starIgnoreTime | 是 | String | body | 开始告警时间 | 格式:yyyy-MM-dd HH:mm:ss |
| createTime | 否 | String | body | 结束告警时间 | 暂不启用 |
| position | 是 | ArrayList | body | 框图所画位置 | 嵌套坐标集合 |
| bbox | 否 | ArrayList<BboxInfo> | body | 告警BBox信息 | 嵌套对象数组 |
| state | 否 | String | body | 告警状态 | ALARM_START/ALARMING/ALARM_END/NORMAL |
| chineseSceneName | 否 | String | body | 场景中文名称 | - |
| gps | 否 | String | body | 经度,纬度 | 逗号分隔 |
| keypoint | 否 | String | body | 关键点位名称 | - |
| zhantuSpaceCode | 否 | String | body | 战图空间点位编码 | - |
BboxInfo 嵌套字段说明
| 字段 | 必选/可选 | 类型 | 位置 | 描述 | 备注 |
|---|---|---|---|---|---|
| engTag | 是 | String | body | 标签-英文 | - |
| chnTag | 是 | String | body | 标签-中文 | - |
| score | 是 | String | body | 分数 | 置信度 |
| position | 是 | ArrayList | body | 坐标 | - |
返回结果
| 字段 | 类型 | 位置 | 描述 |
|---|---|---|---|
| code | int | body | 0 为成功,非0为失败 |
| msg | String | body | 处理结果描述 |
消息示例
Request body:
json
{
"alarmId": "432604168089669",
"bbox": [
{
"chnTag": "消防通道违停",
"engTag": "Car",
"position": [
0.012728929531249999,
0.28518442708333338,
0.23027399375,
0.4383471515151515
],
"score": "0.889041424"
}
],
"createTime": "2023-06-26 14:58:30",
"deviceId": "2306f168-fa06-4359-a888-5209a757dc4d",
"deviceName": "8号岗亭外通道球机摄像机G",
"imageUrl": "https://edge-p*****.cn-south-1.myhuaweicloud.com:443/sourceImage_2306f168-fa06-4359-a888-5209a757dc4d_%E6%B6%88%E9%98%B2%E9%80%9A%E9%81%93%E8%BF%9D%E5%81%9C_20230626145829.jpg",
"position": [
[
[0.3465909090909091, 0.25],
[0.7954545454545454, 0.25],
[0.9375, 0.3263888888888889],
[0.9119318181818182, 0.4548611111111111],
[0.7826704545454546, 0.4774305555555556],
[0.6818181818181818, 0.3645833333333333],
[0.25426136363636367, 0.3524305555555556],
[0.25426136363636367, 0.3524305555555556]
],
[
[0.029829545454545457, 0.3611111111111111],
[0.03551136363636364, 0.4722222222222222],
[0.26704545454545455, 0.4010416666666667],
[0.25, 0.3090277777777778]
]
],
"projectId": "44030021",
"projectName": "深*****城",
"sceneId": "4",
"sceneName": "PARKING",
"starIgnoreTime": "2023-06-26 12:10:53",
"state": "ALARMING",
"warnImageUrl": "https://edge-p*****.cn-south-1.myhuaweicloud.com:443/warnImage_2306f168-fa06-4359-a888-5209a757dc4d_%E6%B6%88%E9%98%B2%E9%80%9A%E9%81%93%E8%BF%9D%E5%81%9C_20230626145829.jpg"
}Response body:
json
{
"code": 0,
"msg": "告警数据接收成功"
}2.2 临时调度机器人接口
接口功能
接收 IOC 系统下发的机器人临时调度指令,解析请求参数并封装为任务参数,转发至业务服务执行调度任务。
调用方法
POST
接口路径
/api/robot/tmpWork
注意事项
position为坐标数组,必须为 Double 类型数值,不可为空。projectCode参数从系统配置自动获取,无需请求方传入。- 请求报文需为标准 JSON 格式,否则解析失败。
参数说明
| 参数 | 必选/可选 | 类型 | 位置 | 描述 |
|---|---|---|---|---|
| position | 可选 | Array<Double> | body | 机器人目标坐标数组 |
| equipmentId | 必选 | String | body | 设备唯一标识 |
| warnPicUrl | 可选 | String | body | 告警图片访问地址 |
| incidentId | 必选 | String | body | 事件唯一ID |
| alarmCode | 可选 | String | body | 告警编码 |
| robotType | 必选 | String | body | 机器人类型(clean:清洁机器人,patrol_a1:巡检) |
返回结果
| 字段 | 类型 | 位置 | 描述 |
|---|---|---|---|
| code | int | body | 0 为成功,非0为失败 |
| msg | String | body | 处理结果描述 |
消息示例
Request body:
json
{
"position": [116.403874, 39.914885],
"equipmentId": "EQ20260324001",
"warnPicUrl": "http://xxx.com/pic/1.jpg",
"incidentId": "INC20260324001",
"alarmCode": "ALM001",
"robotType": "clean"
}Response body:
json
{
"code": 0,
"msg": "success"
}2.3 任务状态回调接口
接口功能
机器人执行业务系统临时调度任务后,回调上报任务执行状态、时间、设备等信息。
调用方法
POST
接口路径
/api/robot/tmpWorkCallback
注意事项
无
参数说明
| 参数 | 必选/可选 | 类型 | 位置 | 描述 |
|---|---|---|---|---|
| incidentId | 必选 | String | body | 事件 ID(与调度接口 ID 保持一致) |
| workStatus | 必选 | String | body | 作业状态: 0--分配任务中, 1--分配任务成功, 2--分配任务失败, 3作业完成 |
| workTime | 必选 | String | body | 任务执行时间,格式:yyyy-MM-dd HH:mm:ss |
| robotId | 必选 | String | body | 机器人 ID |
| deviceId | 必选 | String | body | 设备 ID |
返回结果
| 字段 | 类型 | 位置 | 描述 |
|---|---|---|---|
| code | int | body | 0 为成功,非0为失败 |
| msg | String | body | 处理结果描述 |
消息示例
Request body:
json
{
"incidentId": "INC20260324001",
"workStatus": "1",
"workTime": "2026-03-25 15:30:00",
"robotId": "ROBOT_001",
"deviceId": "EQ20260324001"
}Response body:
json
{
"code": 0,
"msg": "SUCCESS"
}2.4 状态事件查询与推送接口
接口功能
实时查询或推送机器的运行状态、位置、任务执行情况等核心信息。
调用方法
POST(查询)/ PUSH(推送)
接口路径
- 查询路径:
http://server:port/api/robot/status/query - 推送路径:
http://server:port/api/robot/event/statuspush(采用 WebSocket/MQ 方式)
注意事项
- 包含位置信息、任务信息、设备状态三大核心模块。
- 经纬度、姿态角等参数为实时定位数据。
- 鉴权和其他接口一致。
查询参数
| 参数 | 必选/可选 | 类型 | 位置 | 描述 |
|---|---|---|---|---|
| robotId | 必选 | String | body | 机器人唯一标识 |
返回/推送结果
| 字段 | 类型 | 必选/可选 | 位置 | 描述 |
|---|---|---|---|---|
| code | int | 必选 | body | 0 成功 |
| bid | String | body | 业务 ID | |
| ts | String | body | 数据时间戳,格式:yyyy-MM-dd HH:mm:ss | |
| locationInfo | Object | data | 位置信息 | |
| latitude | double | 必选 | locationInfo | 纬度 |
| longitude | double | 必选 | locationInfo | 经度 |
| x | double | 必选 | body | 地图 x 坐标 |
| y | double | 必选 | body | 地图 y 坐标 |
| height | double | 可选 | locationInfo | 高度 |
| pitch | double | 可选 | locationInfo | 俯仰角 |
| roll | double | 可选 | locationInfo | 横滚角 |
| yaw | double | 可选 | locationInfo | 偏航角 |
| rtkStatus | int | 可选 | locationInfo | RTK 状态 |
| rtkVel | double | 可选 | locationInfo | RTK 速度 |
| taskInfo | Object | 可选 | data | 任务信息(可能存在无任务状态) |
| taskId | String | 必选 | taskInfo | 任务 ID |
| businessStatus | int | 必选 | taskInfo | 业务状态:0未知,1取消,2开始,3暂停,4结束 |
| mapName | String | 必选 | taskInfo | 当前地图名称 |
| curKeypointName | String | 可选 | taskInfo | 当前关键点名称 |
| nextKeypointName | String | 可选 | taskInfo | 下一个关键点名称 |
| allAlarmCount | int | 可选 | taskInfo | 总报警次数 |
| businessRemainTime | double | 可选 | taskInfo | 剩余运行时间(秒) |
| vehicleInfo | Object | data | 设备信息 | |
| socEnergy | int | 必选 | vehicleInfo | 剩余电量(%) |
| speed | double | 可选 | vehicleInfo | 当前速度 |
| status | int | 必选 | vehicleInfo | 设备状态(1:正常运行、0:离线) |
| batteryStatus | int | 必选 | vehicleInfo | 0:IDLE(空闲)、1:CHARGING(充电中)、2:CHARGE_FULL(充满电)、3:CHARGE_ERROR_CONTACT(充电连接异常)、4:CHARGE_ERROR_ELECTRIC(电流异常)、5:ERROR_BATTERY_PACK_COMM(通讯异常)、6:ERROR_OVER_VOLT(电压异常)、7:ERROR_OVER_ELECTRIC(电流异常)、8:ERROR_OVER_TEMPERATURE(温度异常)、9:ERROR_OVER_TIME(超时异常) |
| serialNumber | String | 可选 | vehicleInfo | 设备序列号 |
消息示例
查询 Request body:
json
{
"robotId": "1924706921705771012"
}返回/推送 Response body:
json
{
"code": 0,
"bid": "305502",
"data": {
"locationInfo": {
"diffAgeTime": -999,
"gnssSateNum": 0,
"height": 16.630322911104443,
"inspvaxDeviation": "0.030443",
"inspvaxStatus": "INS_ALIGNMENT_COMPLETE&INS_RTKFLOAT",
"latitude": 36.28666815758092,
"longitude": 120.39769443553882,
"pitch": 1.9935941906465906,
"roll": -5.101920388666848,
"rtkStatus": 6,
"rtkVel": 0.0,
"rtkVelDirection": 0.0,
"slaveAntGnssQuality": -999,
"x": 266287.88528354245,
"y": 4018887.2495166436,
"yaw": 273.2594422053095,
"z": 16.630322911104443
},
"taskInfo": {
"alarmCaptureDangersCount": 0,
"alarmCaptureIllegalCount": 0,
"alarmCaptureKeypointCount": 0,
"alarmCapturePersonCount": 21,
"alarmCaptureVehicleCount": 176,
"alarmEmergencyStopCount": 0,
"alarmShoutCount": 0,
"alarmSosCount": 0,
"allAlarmCount": 197,
"businessAllPowerConsumption": 257.3809110000075,
"businessCompletionPercent": 0.0,
"businessFinishTime": 1758156674442,
"businessMode": 5,
"businessPowerConsumption": 0.0,
"businessRemainTime": 80150.93,
"businessRunningTime": 26506.0,
"businessStartTime": 1758130169000,
"businessStatus": 2,
"businessTaskName": "",
"businessTotalMileage": 0.0,
"controlMode": 0,
"curKeypointIndex": 1228,
"curKeypointName": "进车库道闸",
"curPatrolPointIndex": -1,
"curPlanedPatrol": "",
"globalPathIndex": -1,
"isArrivePatrolPoint": false,
"isPatrolPointActionFinish": false,
"loops": 0,
"mapName": "*****1期北侧全覆盖巡逻_fusion",
"mapRecordMapName": "",
"mapRecordMapSceneName": "",
"mapVersion": "2_0_0",
"nextKeypointIndex": 1663,
"nextKeypointName": "3楼-3消174垃",
"preKeypointIndex": 145,
"preKeypointName": "起点",
"prePlanedPatrol": "",
"sceneId": "test67",
"takeoverCount": 0,
"taskEndSoc": 0,
"taskId": "LGMCABHB4R1000067_20250918012759",
"taskStartSoc": 0
},
"vehicleInfo": {
"alarmCodes": "",
"alarmLevels": "",
"alarmNames": "",
"alarmStatus": "0",
"batteryStatus": 0,
"cameraPtk": "{\"ptk_focus\":\"291.310000\",\"ptk_vertical\":\"0.000000\",\"camera_ptk_20250918085114\":\"open\",\"ptk_horizontal\":\"180.000000\",\"ptk_zoom\":\"0.000000\"}",
"capture": 0,
"deviceId": 403,
"emergencyStop": 0,
"firmwareVersion": "{\"system\":\"\",\"business\":\"\",\"decision\":\"\",\"selfdriving\":\"\",\"control\":\"\",\"communication\":\"\",\"perception\":\"\"}",
"frontLight": 0,
"gear": 1,
"lowBatteryStatus": 0,
"mileageDevActivation": 859.0,
"mileagePowerOn": "31.0",
"net4gDelay": "0",
"net4gLoss": "103.670",
"obstacleStatus": 0,
"productId": 156,
"rainMode": 0,
"serialNumber": "LGMCABHB4R1000067",
"slideBarMode": 0,
"socAmpere": 2.6,
"socEnergy": 99,
"socVoltage": 2.6,
"speaker": 1.0,
"speed": 0.0,
"status": 1,
"steerAngle": 0.019999999552965164,
"tenantId": 1,
"timeDevActivation": 2419.0,
"timePowerOn": "85.3",
"timePowerOnTimestamp": 1757849519000,
"userId": 1,
"vehicleRunningMode": 0,
"warnLight": 0,
"warnVoice": 0
}
},
"ts": "2025-09-18 08:51:14"
}2.5 查询作业区域
接口功能
根据机器人 ID 和地图 ID 返回作业区域。
调用方法
POST
接口路径
http://server:port/api/robot/work-areas/query
注意事项
- 需同时传入机器人 ID 和地图 ID,二者为关联查询核心参数。
参数说明
| 参数 | 必选/可选 | 类型 | 位置 | 描述 |
|---|---|---|---|---|
| robotId | 必选 | String | body | 机器人唯一标识 |
| mapId | 必选 | String | body | 地图 ID(场景名称),示例:test67 |
返回结果
| 字段 | 类型 | 位置 | 描述 |
|---|---|---|---|
| code | int | body | 0 为成功,参照附录A |
| data | Array | body | 线路列表数据 |
| createTime | String | data | 创建时间,格式:yyyy-MM-dd HH:mm:ss |
| areaId | String | data | 区域 ID |
| areaName | String | data | 区域名称 |
消息示例
Request body:
json
{
"robotId": "1924706921705771012",
"mapId": "test67"
}Response body:
json
{
"code": 0,
"data": [
{
"createTime": "2025-11-27 11:16:21",
"areaId": "26697",
"areaName": "创智云演示1_fusion"
},
{
"createTime": "2025-11-27 11:16:21",
"areaId": "26698",
"areaName": "演示1_fusion"
}
]
}2.6 查询排班任务
接口功能
查询某段时间范围内排班任务。
调用方法
POST
接口路径
http://server:port/api/robot/query/tasks
注意事项
- 需提前确认地图 ID 和线路 ID 的有效性。
- 默认巡逻模式为无限循环,无圈数限制。
参数说明
| 参数 | 必选/可选 | 类型 | 位置 | 描述 |
|---|---|---|---|---|
| robotId | 必选 | String | body | 机器人唯一标识 |
| startDateTime | 必选 | String | body | 开始时间,示例:2025-12-11 11:21:00 |
| endDateTime | 必选 | String | body | 结束时间,示例:2025-12-11 15:21:00 |
返回结果
| 字段 | 类型 | 位置 | 描述 |
|---|---|---|---|
| code | int | body | 0 为成功,参照附录A |
| data | array | body | |
| taskId | String | data | 任务 ID |
| mapId | String | data | Map ID |
| planDateTime | String | data | 计划开始时间:2025-12-11 15:21:00 |
| areaList | array | data | 区域列表 |
| areaId | String | areaList | 区域 ID |
| areaName | String | areaList | 区域名 |
消息示例
Request body:
json
{
"robotId": "1924706921705771012",
"startDateTime": "2025-12-11 11:21:00",
"endDateTime": "2025-12-11 11:21:00"
}Response body:
json
{
"code": 0,
"data": [
{
"taskId": "cb2b59b0-eee6-11f0-bd2b-dd74bb160049",
"mapId": "aea1111a-a1f3-4a30-8421-888f8ce8b51e",
"planDateTime": "2025-12-11 15:21:00",
"areaList": [
{ "areaId": "1", "areaName": "监控区" },
{ "areaId": "2", "areaName": "麦当劳" },
{ "areaId": "3", "areaName": "tower1" },
{ "areaId": "4", "areaName": "楼栋后道" }
]
},
{
"taskId": "d87e2310-8a5c-4789-b12e-9876543210ab",
"mapId": "b822222b-b2f4-5b41-9522-999g8df9662f",
"planDateTime": "2025-12-12 09:30:00",
"areaList": [
{ "areaId": "5", "areaName": "美宜家" },
{ "areaId": "6", "areaName": "垃圾测试区" }
]
}
],
"msg": "SUCCESS"
}2.7 启动与停止接口
接口功能
通过 control 参数控制机器的启动和停止状态。
调用方法
POST
接口路径
http://server:port/api/robot/control/startstop
注意事项
- control 参数取值:1 = 启动,0 = 停止
参数说明
| 参数 | 必选/可选 | 类型 | 位置 | 描述 |
|---|---|---|---|---|
| robotId | 必选 | String | body | 机器人唯一标识 |
| control | 必选 | int | body | 控制状态(1 = 启动,0 = 停止) |
| taskId | 必选 | String | body | 任务 id |
返回结果
| 字段 | 类型 | 位置 | 描述 |
|---|---|---|---|
| code | int | body | 0 为成功,参照附录A |
| msg | String | body | 状态码描述 |
消息示例
Request body:
json
{
"robotId": "1924706921705771012",
"taskId": "1924706921705",
"control": 1
}Response body:
json
{
"code": 0,
"msg": "SUCCESS"
}2.8 返航与充电接口
接口功能
通过 taskMode 参数控制机器人返航到充电桩。
调用方法
POST
接口路径
http://server:port/api/robot/task/returncharge
注意事项
- taskMode=4 固定为返航充电指令。
参数说明
| 参数 | 必选/可选 | 类型 | 位置 | 描述 |
|---|---|---|---|---|
| robotId | 必选 | String | body | 机器人唯一标识,示例:1924706921705771000 |
| taskMode | 必选 | int | body | 任务模式(4 = 返航充电) |
返回结果
| 字段 | 类型 | 位置 | 描述 |
|---|---|---|---|
| code | int | body | 0 为成功,参照附录A |
| msg | string | body | 状态码描述(0 表示无异常) |
消息示例
Request body:
json
{
"robotId": 1924706921705771000,
"taskMode": 4
}Response body:
json
{
"code": 0,
"msg": "SUCCESS"
}2.9 视频预览
接口功能
获取机器人视频流 flv 地址,默认视频有效时长 60 秒,过期后需重新获取。
调用方法
POST
接口路径
http://server:port/api/robot/video/preview
注意事项
无
参数说明
| 参数 | 必选/可选 | 类型 | 位置 | 描述 |
|---|---|---|---|---|
| robotId | 必选 | String | body | 机器人唯一标识 |
返回结果
| 字段 | 类型 | 位置 | 描述 |
|---|---|---|---|
| code | int | body | 0 为成功,参照附录A |
| data | Array | body | |
| name | String | data | 流名 |
| address | String | data | flv 流地址 |
| expire | Long | data | 11位秒失效时间戳 |
| msg | String | body | 状态码描述 |
消息示例
Request body:
json
{
"robotId": "1924706921705771012"
}Response body:
json
{
"code": 0,
"data": [
{
"name": "前",
"address": "https://flv12xxx.com/flv*****"
}
],
"msg": "SUCCESS"
}3. 附录
3.1 告警场景对照表
| 类别 | 场景名称 | 中文说明(便于理解) |
|---|---|---|
| PERIMETER_INVASION | 车库出入口人员逗留 | |
| PEOPLE_GATHER | 出入口拥堵 | |
| GARBAGE_OVERFLOW1 | 垃圾满溢 | |
| GARBAGE_OVERFLOW2 | 桶边垃圾 | |
| PARKING | 消防通道违停 | |
| PUBLIC_AREA_GARBAGE | 公共区域垃圾 | |
| INDOOR_FIRE_ESCAPE_CLUTTER | 室内消防通道堆放杂物 | |
| ENTRANCE_ILLEGALLY_BLOCKED | 出入口违停 | |
| MAIN_ROAD_ILLEGAL_BLOCKED | 主流道违停 | |
| EBIKE_IN_ELEVATOR | 电动车进电梯 | |
| EBIKE_IN_LOBBY | 电动车进大堂 | |
| POOL_TRESPASSING_OFF_HOURS | 非营业期间进入泳池 | |
| COMMUNITY_PERIMETER_INTRUSION | 小区周界入侵 | |
| COMMAND_CENTER_STAFF_ABSENT | 指挥中心员工离岗 | |
| POOL_GUARD_ABSENT | 泳池安全员离岗 | |
| SMOKING_IN_GUARDHOUSE | 岗亭内吸烟 | |
| ON_DUTY_PHONE_USE | 值班玩手机 | |
| BALD_SPOTS_ON_GRASS | 草地斑秃 | |
| MISSING_FIRE_EXTINGUISHER | 灭火器缺失 | |
| EQUIPMENT_ROOM_OPEN_FLAMES_DETECTION | 设备房明火检测 | |
| OUTDOOR_OPEN_FLAME_DETECTION | 室外明火检测 | |
| FALL_INTO_WATER | 人员落水 | |
| RIVER_RUBBISH | 河岸垃圾 | |
| RIVER_POLLUTION_DETECT | 水质异常 | |
| WATER_LEVEL | 水位预警 | |
| DRONE | 岸堤塌陷 | |
| RIVER_PERSONAL_BEHAVIOR_DETECT | 河道人员入侵 | |
| FISHING_DETECT | 人员垂钓 | |
| FLOATING_DEBRIS | 河面漂浮物 | |
| RIVER_OUTFALL_OVERFLOW_DETECT | 排水口溢流 | |
| MANHOLE_OVERFLOW | 闸口溢流 | |
| RIVER_CULVERTOVERFLO | 涵洞溢流 | |
| VEHICLE_BLOCKAGE | 机动车滞留 | |
| MOTOR_VEHICLE_ILLEGAL_PARKING | 机动车违停 | |
| 机器人 | RBT_PUBLIC_AREA_GARBAGE | 机器人-公共区域垃圾 |
| RBT_PERSIONNEL_FALL_DOWN | 机器人-人员摔倒 | |
| RBT_MOTOR_VEHICLE_ILLEGAL_PARKING | 机器人-机动车违停 | |
| RBT_EBIKE_ILLEGAL_PARKING | 机器人-非机动车违停 | |
| RBT_COMMUNITY_PERIMETER_INTRUSION | 机器人-人员入侵 | |
| RBT_INDOOR_FIRE_ESCAPE_CLUTTER | 机器人-杂物堆放 | |
| RBT_GARBAGE_OVERFLOW1 | 机器人-垃圾桶满溢 | |
| RBT_DOOR_OPEN | 机器人-单元门未关闭 | |
| RBT_LIGHT_OFF | 机器人-路灯未亮 | |
| RBT_EQUIPMENT_DAMAGE | 机器人-设备损坏 | |
| RBT_GLASS_BREAKAGE | 机器人-玻璃破损 | |
| RBT_GATE_DAMAGE | 机器人-道闸杆损坏 | |
| RBT_ELECTRIC_BOX_OPEN | 机器人-电箱未关闭 | |
| RBT_FIRE_HYDRANT_ABNORMA | 机器人-消火栓门异常 | |
| RBT_PET_ACT_ALONE | 机器人-宠物单独行动 | |
| RBT_PRIVATE_PULL_WIRE | 机器人-私拉电线 | |
| RBT_INDICATION_MISSING | 机器人-标识缺失 | |
| RBT_FIRE_EQUIPMENT_MISSING | 机器人-灭火器缺失 |
3.2 编码规则说明
共用编码
- 0 为正常,其他为异常
- 0-999 为所有子系统共用编码
- 100-199 用于指定客户端应相应的某些动作。
- 400-499 用于指出客户端的错误。
- 500-599 用于指出服务器错误。
业务系统编码
业务系统编码共六位,格式如:100000
- 一到二位即 10-99 各业务系统编码:10: 扫地机器人,11:巡检机器人,12:梯控
- 三位表示异常类型级别 0-9,值越大表示异常越严重
- 4-6位各业务系统内部定义编码
示例:104000 机器人ID错误(10 机器人编码,4 异常等级,000 自定义编码)
编码分类
| 编码大类 | 编码 | 说明 |
|---|---|---|
| 共用编码 | 0 | 成功 |
| -1 | 失败 | |
| 401 | 未授权 | |
| 402 | sign签名验证失败,x-onewo-timestamp或AK或SK错误,验证失败 | |
| 403 | 禁止访问 | |
| 404 | 服务未找到,command或resource或action错误 | |
| 405 | 发送超时 | |
| 406 | 设备未在线 | |
| 407 | 权限异常 | |
| 413 | body超长 | |
| 414 | JSON格式不合法 | |
| 415 | 时间异常 | |
| 500 | 服务内部异常错误 | |
| 502 | Bad Gateway | |
| 503 | 服务不可用(无此服务) | |
| 600 | 未登陆(token过期) | |
| 602 | 用户或密码错误 | |
| 603 | 登陆验证受限制 | |
| 扫地机器人 | 104000 | 机器人ID错误 |
| 101001 | 照片不合规 | |
| 107002 | 子系统未在线 | |
| 104003 | 用户不存在 | |
| 104500 | 子系统异常 | |
| 104501 | 空间参数错误 | |
| 104502 | 前端软件接口异常 |
