detection.counting.picPage (Feature image paged query)
detection.counting.picPage: Feature image paged query
detection.counting.picPage · Channel scope · Permission Config
What it does
Page through feature images on this channel. Inputs start (0–255) and count (1–255); returns totalCnt (up to 10000) and picInfos. When totalCnt exceeds count, increase start with a fixed count to page; the product of start and count is still bounded—narrow the time range or use device-side filters if you cannot fetch all records at once. One invoke runs one action.
Request URL
POST https://openapi-[DataCenter].easy4ip.com/openapi/v2/device.service.invoke
Minimum permission
The administrator does not need an extra permission on a device they bound. A shared device needs the basic configuration permission. A bound sub-user does not. A sub-account needs Config. Omitting channelId on a channel-scope capability returns DV2007. Mixing device and channel in one request returns DV2008. A timeout does not mean the operation did not run.
Request parameters
| Name | Type | Required | Description |
|---|---|---|---|
token | String | yes | accessToken for administrator, sub-user, or sub-account |
deviceId | String | yes | Device serial number |
productId | String | no | Optional. If sent and it does not match the device model → DV2009 |
channelId | String | yes | Channel number; "0" is common on IPCs |
serviceId | String | yes | detection.counting.picPage |
inputData | Object | yes | See table below |
| Name | Description | Type | Required | Values |
|---|---|---|---|---|
start | Start index. Range 0-255, step 1. | int | yes | 0-255, step 1 |
count | Page size. Range 1-255, step 1. | int | yes | 1-255, step 1 |
Common request fields and the signature are in Development specification.
Request example
{
"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",
"serviceId": "detection.counting.picPage",
"inputData": {
"start": 0,
"count": 10
}
}
}
Response data fields
Output is in result.data.outputData.
| Name | Description | Type | Required | Values |
|---|---|---|---|---|
totalCnt | Total count. Range 0-10000, step 1. | int | no | 0-10000, step 1 |
picInfos | Image list. Up to 100 entries. | array | no | Up to 100 entries |
picInfos.item.picID | Image ID. | text | no | string |
picInfos.item.state | State. | enum | no | 0 importing; 1 succeeded; 2 failed |
picInfos.item.index | Index. Range 0-255, step 1. | int | no | 0-255, step 1 |
Response example
{
"id": "d5c287b4-5b2f-4f03-baf5-8032c5c354af",
"result": {
"code": "0",
"msg": "Operation is successful",
"data": {
"outputData": {
"totalCnt": 1,
"picInfos": [
{
"picID": "pic-1",
"state": "1",
"index": 0
}
]
}
}
}
}
Error codes
Gateway and device error codes are in Global return codes.
