queryCloudRecords(正序查询设备云录像片段)
queryCloudRecords:正序查询设备云录像片段
要点:https://openapi.lechange.cn/openapi/queryCloudRecords · 权限 "Permission":"RecordReplay" "Resource":"cam:序列号:通道号" · 见 错误码
查询设备/通道在指定时间段内的云录像片段,并返回指定范围的片段(正序展示)。
请求参数
| 参数名 | 参数类型 | 是否必填 | 默认值 | 合法值 | 参数说明 |
|---|---|---|---|---|---|
| token | String | 是 | 管理员或者子账号accessToken | ||
| deviceId | String | 是 | 设备序列号 | ||
| channelId | String | 是 | 通道号 | ||
| beginTime | String | 是 | 开始时间,yyyy-MM-dd HH:mm:ss | ||
| endTime | String | 是 | 结束时间,yyyy-MM-dd HH:mm:ss | ||
| queryRange | String | 否 | 如 1-100,N≤100 | 页码区间分页;与 count 二选一(缺两者报错) | |
| count | Integer | 否 | 1–100 | 条数分页;与 queryRange 二选一 | |
| type | String | 否 | 按录像类型过滤(可选) | ||
| filterByChannel | String | 否 | 是否按通道过滤(可选) | ||
| cloudType | String | 否 | 云录像套餐类型(可选) | ||
| multiType | String | 否 | 多类型组合过滤(可选) | ||
| beginTimeRecord | String | 否 | 直播场景起始时间(forLive,可选) |
查询策略:按照对起止时间内的云录像片段升序排序,返回前queryRange(N值)数的云录像片段信息,下次查询可以将前次的录像片段最大endTime当做下次的beginTime入参继续向后查询。
使用举例:遍历查询2021-12-01 10:00:00到2021-12-01 11:00:00时间段的录像片段信息。
步骤1: 设置beginTime=2021-12-01 10:00:00,endTime=2021-12-01 11:00:00,queryRange=1-100,调用queryCloudRecords协议查询,平台返回100条录像片段。
步骤2: 取步骤1返回的录像片段的最大endTime=2021-12-01 10:30:00作为下次查询的beginTime入参,继续调用queryCloudRecords协议查询,循环此操作。
步骤3: 当queryCloudRecords协议返回的录像片段最大endTime大于等于查询结束时间或者queryCloudRecords协议返回的录像片段数小于queryRange(N值)时,可以认为遍历完成。
请求示例
{
"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":"TESTQWERXXXX",
"channelId":"0",
"beginTime":"2020-05-19 00:00:00",
"endTime":"2020-05-19 23:59:59",
"queryRange":"1-100"
}
}
响应字段
| 字段名 | 字段类型 | 字段说明 | |
|---|---|---|---|
| records | recordId | String | 录像Id |
| deviceId | String | 设备序列号 | |
| channelId | String | 通道号 | |
| beginTime | String | 开始时间 | |
| endTime | String | 结束时间 | |
| size | String | 云录像的大小(单位byte) | |
| thumbUrl | String | 缩略图Url | |
| encryptMode | Integer | 加密模式(0:默认加密模式;1:用户加密模式) | |
| recordRegionId | String | 录像分区id | |
| type | String | 录像类型,与 [getCloudRecords](/api/getCloudRecords/) 响应 `type` 同枚举(如 `1000` 事件、`2000` 连续等) | |
响应示例
{
"id":"d5c287b4-5b2f-4f03-baf5-8032c5c354af",
"result":{
"data":{
"records":[
{
"recordId":"1234567890",
"deviceId":"TESTQWERXXXX",
"channelId":"0",
"beginTime":"2020-05-19 00:30:59",
"endTime":"2020-05-19 00:31:36",
"size":"123456",
"thumbUrl":"http://lechangecloud/20160519",
"encryptMode":0,
"recordRegionId":"xxxxxxxxx"
}]
},
"code":"0",
"msg":"操作成功"
}
}
错误码
本接口可能返回下列码;完整分组见 错误码。
网关与鉴权(SN / TK / OP)
| 错误码 | 错误码说明 | 下一步 |
|---|---|---|
SN1001 | 签名异常 | 按 签名 核对 sign |
TK1002 | token 无效或过期 | 重新获取 token |
OP1002 | 缺少必填参数 | 补必填字段 |
OP1003 | 参数不合法 | 按本页参数表核对 |
OP1039 | 分钟级限流 | 等到下一分钟再试 |
OP1040 | 调用超限 | 降低频率 |
DV1007 | 设备离线或超时 | 等设备上线 |
子账号(SUB)
| 错误码 | 错误码说明 | 下一步 |
|---|---|---|
SUB1001 | 子账号无指定权限 | 在 子账号策略 中补权限 |
SUB1002 | 子账号无任何设备权限 | 授权设备或调整策略 |
SUB1005 | 子账号 token 过期 | 重新 获取子账号 token |
SUB1006 | 子账号与设备无授权关系 | 核对 Resource 与设备序列号 |
SUB1008 | 子账号未绑定当前应用 | 先创建并绑定子账号 |
SUB1007 | 创建子账号失败 | 核对参数后重试 |
SUB1009 | 子账号创建失败,账号格式错误 | account 须为手机号或邮箱 |
SUB1010 | 子账号创建失败,账号已存在 | 勿重复绑定同一子账号到应用 |
更多见 错误码 · SUB。
设备访问与通道(DV10xx)
| 错误码 | 错误码说明 | 下一步 |
|---|---|---|
DV1007 | 设备离线或超时 | 等设备上线;低电休眠先 唤醒 |
DV1009 | 设备正忙 | 稍后重试 |
DV1012 | 分享/授权设备权限不足 | 核对子账号 Permission / Resource |
DV1019 | 能力集不支持 | 确认型号与 设备能力 |
DV1020 | 通道离线 | 检查通道与设备状态 |
DV1026 | 不支持此功能 | 换接口或升级固件 |
DV1028 | 未绑定或通道不存在 | 核对 deviceId / channelId |
DV1030 | 设备休眠 | 唤醒后再调 |
DV1057 | 通道不存在 | 核对通道号 |
DV1061 | 设备响应超时 | 检查设备网络 |
DV1062 | 需先唤醒设备 | 调用唤醒接口 |
DV1069 | 不满足操作条件 | 见 msg |
云录像(RC)
| 错误码 | 错误码说明 | 下一步 |
|---|---|---|
RC1001 | 云录像不存在 | 核对时间与 token |
OP1019 | 该时间段无录像 | 换时间范围或确认云存储计划 |
更多见 错误码 · RC。
说明
子账号 token 须具备最小权限:Permission 为 RecordReplay,Resource 为 cam:{deviceId}:{channelId}。配置见 权限码。分页须提供 queryRange 或 count 之一;正序遍历策略见上文块引用,倒序见 getCloudRecords。