device.message.list(查询告警历史)
device.message.list:查询告警历史
与能力侧 查询告警历史(m05) 同步维护。
功能详情
按设备、时间查询能力事件历史。返回的是查询结果:data.count、data.nextAlarmId、data.messages。messages[] 里每条与 接收告警 的上报报文相同,并多一个仅本接口才有的 feedback。msgType 等于 eventId。
beginTime / endTime 为设备本地时间 yyyyMMdd'T'HHmmss(引号只表示字母 T 是字面量),例如 20201022T000000。不要传 Unix 秒,也不要和校时接口的 UTC 混用。无 eventIds、无调用方 count 入参;每批条数由平台决定。
平台字段(token、thumbUrl、picUrlArray、labelType、智见相关)不在能力项的 outputData 里。
请求地址
POST https://openapi.lechange.cn/openapi/v2/device.message.list
最小权限
管理员操作自己绑定的设备不需要权限。操作被分享设备需要报警消息权限。子用户绑定不需要。子账号按条校验事件所属能力的 share/sub 权限码(见 权限码),不能仅用 Alarm 一名概览(如 system 类事件常需 Config)。只返回有权事件,不因此整单 DV2011。设备须已绑定。
传入参数说明
| 参数名 | 参数类型 | 是否必填 | 默认值 | 合法值 | 参数说明 |
|---|---|---|---|---|---|
token | String | 是 | 管理员、子用户或子账号 accessToken | ||
deviceId | String | 是 | 设备序列号 | ||
productId | String | 否 | 可省略。传了且与该设备实际型号不一致 → DV2009 | ||
channelId | String | 否 | 通道号,IPC 常见 "0"。不要传 -1 | 不传只查设备级;传只查该通道 | |
beginTime | String | 是 | 设备本地 yyyyMMddTHHmmss | 起始时间,例如 20201022T000000 | |
endTime | String | 是 | 设备本地 yyyyMMddTHHmmss | 结束时间,例如 20201022T235959 | |
nextAlarmId | String | 否 | 首页可不传 | "-1" 或上一批返回值 | 首页 "-1" 或不传;后续传上一批的 nextAlarmId |
样例输入
{
"id": "d5c287b4-5b2f-4f03-baf5-8032c5c354af",
"system": {
"ver": "1.0",
"appId": "lcdxxxxxxxxx",
"sign": "xjhCQBoJ9hRDsCjyDcHjtDNzRZ3ZJezcawsfWeiaoxU=",
"time": 1706511734,
"nonce": "f5a1ae2d-c09c-4d39-a744-83a5c2c653c2"
},
"params": {
"token": "<yourAccessToken>",
"deviceId": "TESTIPC000012345",
"channelId": "0",
"beginTime": "20201022T000000",
"endTime": "20201022T235959",
"nextAlarmId": "-1"
}
}
返回 data 字段说明
| 参数名 | 参数类型 | 参数说明 |
|---|---|---|
count | Int | 本批条数 |
nextAlarmId | String | 下一批起点。没有更多时不返回 |
messages | Array | 本批上报报文。字段与 接收告警 相同,另见下表 |
messages[] 每条是上报报文;仅本接口多 feedback
| 参数名 | 参数类型 | 参数说明 |
|---|---|---|
msgType | String | 等于 eventId,如 detection.motion.detected |
deviceId | String | 设备序列号 |
productId | String | 型号 |
channelId | String | 通道级事件返回;设备级不返回 |
outputData | Object | 该事件的字段。没有则为 {} |
time | Int | 上报时间,Unix 秒 |
localTime | String | 设备本地 yyyyMMddTHHmmss |
alarmId | String | 告警 id,用于 detail / delete / 翻页 |
token | String | 联动云录像时出现 |
thumbUrl | String | 缩略图。有图才返回 |
picUrlArray | Array | 告警图。有时效,尽快转存 |
labelType | String | 消息类型标签 |
aiCopyWriting | String | 开通智见云存储或 AI 智见套餐时才有 |
securityRiskLevel | Int | 与 接收告警 / g04 推送一致(1~10);Mix 历史偶现为 string |
aiTag | Array | 与 g04 推送一致;Mix 历史偶现为单标签 string |
feedback | Object | 仅历史查询。type:String;result:Array<String>(如 ["1"] 准确) |
属性上报(推送通道,固定 msgType 为 device.property.report)的 properties key 为 propertyId。
样例输出
{
"id": "d5c287b4-5b2f-4f03-baf5-8032c5c354af",
"result": {
"code": "0",
"msg": "Operation is successful",
"data": {
"count": 1,
"nextAlarmId": "116257862023505xxxx",
"messages": [
{
"msgType": "detection.motion.detected",
"deviceId": "TESTIPC000012345",
"productId": "56WGTET2",
"channelId": "0",
"outputData": {
"extendContext": {
"handleBit": 1
}
},
"time": 1673406989,
"localTime": "20230111T111629",
"alarmId": "116257862023505xxxx",
"token": "f2dc8c09eeae4b5bad6abf522c93d825",
"thumbUrl": "https://example.imou.com/pic/thumb.jpg",
"picUrlArray": ["https://example.imou.com/pic/alarm1.jpg"],
"labelType": "humanAlarm",
"feedback": {
"type": "1",
"result": ["1"]
}
}
]
}
}
}
错误码
本接口可能返回下列码;完整分组见 错误码。
无权事件按条过滤,不因此整单失败。
网关
| 错误码 | 错误码说明 | 下一步 |
|---|---|---|
SN1001 | 签名异常 | 按 签名 核对 sign |
TK1002 | token 无效或过期 | 重新获取 token |
OP1002 | 缺少必填参数 | 补必填字段 |
OP1003 | 参数不合法 | 按本页参数表核对 |
OP1039 | 分钟级限流 | 等到下一分钟再试 |
OP1040 | 调用超限 | 降低频率 |
DV1007 | 设备离线或超时 | 等设备上线 |
DV20xx
| 错误码 | 错误码说明 | 下一步 |
|---|---|---|
DV2001 | propertyId / serviceId / eventId 非法或不在能力目录;或 alarmId 不存在/未映射 | 查告警时 msgType 用目录 eventId;detail 的 alarmId 须来自同账号 list/search 翻页 |
DV2007 | channelId 与 scope 不符 | 通道级必传,设备级不传 |
DV2009 | productId 与设备实际型号不一致 | 去掉 productId 或改成实际型号 |
DV2011 | 无该能力权限 | 见 权限码。list / search 按条过滤无权事件,不因此整单失败 |
DV2012 | 设备不存在 | 核对序列号 |
DV2013 | 设备未绑定 | 先绑定 |