queryCloudRecords (queryCloudRecords: Query device cloud video clips in positive order)
queryCloudRecords: queryCloudRecords: Query device cloud video clips in positive order
Function details
Query the cloud video clips of the device/channel in the specified time period, and return the clips in the specified range(display in positive order).
Request address
https://openapi-[DataCenter].easy4ip.com/openapi/queryCloudRecords
Request format
HTTP POST. JSON body layout: Request conventions. Sign with Signature.
Minimum permissions required for sub-account token request
"Permission":"RecordReplay" "Resource":"cam:serial number:channel number"
Incoming parameter description
| Parameter name | Parameter type | Required or not | Default value | Legal value | Parameter description |
|---|---|---|---|---|---|
| token | String | Yes | Administrator or sub-account accessToken | ||
| deviceId | String | Yes | Device serial number | ||
| channelId | String | Yes | Channel ID | ||
| beginTime | String | Yes | Start time, yyyy-MM-dd HH:mm:ss | ||
| endTime | String | Yes | End time, yyyy-MM-dd HH:mm:ss | ||
| queryRange | String | No | e.g. 1-100 | Closed interval start-end; difference ≤ 99 (at most 100 records). Mutually exclusive with count; at least one of queryRange or count is required. | |
| count | Long | No | 1–100 | Number of records to return; mutually exclusive with queryRange. | |
| cloudType | String | no | video: video recording; snapshot: snapshot recording. | recording type to query. Default value is video |
Query Strategy:
Sort the cloud video clips in ascending order according to the begin and end time, and return the cloud video clip information of the previous queryRange (N value).
The next query can continue to query backward with the maximum endTime of the previous video clip as an input parameter.
Example:Traverse and query the video clip information from 10:00:00 of 2021-12-01 to 11:00:00 of 2021-12-01.
step 1: Set beginTime = 2021-12-01 10:00:00, endTime = 2021-12-01 11:00:00, queryRange = 1-100, call queryCloudRecords, and the platform returns 100 video clips.
step 2: Take the maximum endTime(2021-12-01 10:30:00) of the video clip as the beginTime input parameter of the next query, continue to call the queryCloudRecords, and cycle this operation.
step 3: When the maximum endTime of video clips is greater than or equal to the query end time, or the number of video clips returned by queryCloudRecords is less than queryRange (N value), the traversal can be considered to be completed.
Sample input
{
"id":"d5c287b4-5b2f-4f03-baf5-8032c5c354af",
"system":{
"ver":"1.0",
"appId":"lcdxxxxxxxxx",
"sign": "xjhCQBoJ9hRDsCjyDcHjtDNzRZ3ZJezcawsfWeiaoxU=",
"time":1599031074,
"nonce":"8ec8a7bd1d1c95420de20d92422d457d"
},
"params":{
"token":"At_12345678901234567890123456789012",
"deviceId":"TESTQWERXXXX",
"channelId":"0",
"beginTime":"2020-05-19 00:00:00",
"endTime":"2020-05-19 23:59:59",
"queryRange":"1-100"
}
}
Return data field description
| Field | Type | Description |
|---|---|---|
| records.recordId | String | Recording Id |
| records.deviceId | String | Device serial number |
| records.channelId | String | Channel number |
| records.beginTime | String | Start time |
| records.endTime | String | End time |
| records.size | String | The size of cloud video (unit byte) |
| records.thumbUrl | String | Thumbnail Url |
| records.encryptMode | Integer | Encryption mode (0: default encryption mode; 1: user encryption mode) |
| records.recordRegionId | String | Recording partition id |
| records.type | String | Recording type: 1000 event cloud recording, 2000 continuous cloud recording, 10001 humanoid detection cloud recording |
Sample output
{
"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",
"type":"2000"
}]
},
"code":"0",
"msg":"The operation was successful"
}
}
Error codes
This method may return the codes below. See Return codes and Capability errors for the full catalog.
Gateway and auth (SN / TK / OP)
| Code | Meaning | Next step |
|---|---|---|
SN1001 | Signature error | Check sign per Development specification |
TK1002 | Token invalid or expired | Refresh accessToken |
OP1002 | Missing required parameter | Add required fields |
OP1003 | Invalid parameter | Match this page’s parameter table |
OP1009 | Permission denied | Check token and device bind/share grants |
OP1013 | Total call limit exceeded | Reduce call rate |
OP1014 | Daily per-interface limit exceeded | See Interface call limits |
DV1007 | Device offline | Wait until the device is online |
See Return codes · OP/SN/TK for the full catalog.
Sub-accounts (SUB)
| Code | Meaning | Next step |
|---|---|---|
SUB1001–SUB1002 | Sub-account lacks API permission | Update policy via addPolicy |
SUB1005 | Sub-account token expired | Refresh subAccountToken |
SUB1006 | No device grant for sub-account | Check Resource and device serial |
SUB1008 | Sub-account not bound to app | Create and bind the sub-account first |
See Return codes · SUB.
Device access and channels (DV10xx)
| Code | Meaning | Next step |
|---|---|---|
DV1007 | Device offline or timeout | Wait for the device to come online |
DV1009 | Device busy | Retry later |
DV1012 | Insufficient share/grant permission | Check sub-account Permission / Resource |
DV1019 | Capability not supported | Confirm model and capability list |
DV1020 | Channel offline | Check channel status |
DV1026 | Function not supported | Use another API or upgrade firmware |
DV1028 | Not bound or channel missing | Verify deviceId / channelId |
See Return codes · DV.
Cloud storage plans (ST)
| Code | Meaning | Next step |
|---|---|---|
ST1004 | Cloud storage not enabled | openCloudRecord |
ST1005 | Cloud storage expired | Renew or change plan |
ST1006 | Plan does not exist | Verify strategyId |
ST1009 | Paid plan still active | Handle existing plan first |
ST1010 | Device does not support plan | Choose a supported plan |
See Return codes · ST.
