detection.counting.increment (Read people-counting increment)
detection.counting.increment: Read people-counting increment
detection.counting.increment · Channel scope · Permission Config
What it does
Reads people-counting increments with in/out counts. Batch size follows the properties array length (often 10 or 100 per model).
Request URL
POST https://openapi-[DataCenter].easy4ip.com/openapi/v2/device.property.get
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.
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 |
properties | Array | yes | ["detection.counting.increment"] |
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",
"properties": [
"detection.counting.increment"
]
}
}
Response data fields
The value is in result.data.properties["detection.counting.increment"].
| Name | Description | Type | Required | Values |
|---|---|---|---|---|
item.name | Rule line name. | text | yes | string |
item.inCnt | Enter count. Range 0-999999999, step 1. | int | yes | 0-999999999, step 1 |
item.outCnt | Exit count. Range 0-999999999, step 1. | int | yes | 0-999999999, step 1 |
item.id | Region ID. Range 0-9999999, step 1. | int | yes | 0-9999999, step 1 |
item.unKnowInfos | Unknown person statistics. Up to 100 entries. | array | no | Up to 100 entries |
item.unKnowInfos.item.type | Recognition type.0 Enter,1 Exit. | enum | no | 0 enter; 1 exit |
item.unKnowInfos.item.unKnowCnt | Count. Range 0-99999, step 1. | int | no | 0-99999, step 1 |
item.perInfos | Recognized person statistics. Up to 100 entries. | array | no | Up to 100 entries |
item.perInfos.item.type | Type. 0 enter, 1 exit. | enum | no | 0 enter; 1 exit |
item.perInfos.item.gender | Gender. 0 male, 1 female. | enum | no | 0 male; 1 female |
item.perInfos.item.minor | Minor. Range 0-99999, step 1. | int | no | 0-99999, step 1 |
item.perInfos.item.youth | Youth. Range 0-99999, step 1. | int | no | 0-99999, step 1 |
item.perInfos.item.middle | Middle age. Range 0-99999, step 1. | int | no | 0-99999, step 1 |
item.perInfos.item.old | Senior. Range 0-99999, step 1. | int | no | 0-99999, step 1 |
Response example
{
"id": "d5c287b4-5b2f-4f03-baf5-8032c5c354af",
"result": {
"code": "0",
"msg": "Operation is successful",
"data": {
"properties": {
"detection.counting.increment": [
{
"name": "example",
"inCnt": 0,
"outCnt": 0,
"id": 0,
"unKnowInfos": [
{
"type": "0",
"unKnowCnt": 0
}
],
"perInfos": [
{
"type": "0",
"gender": "0",
"minor": 0,
"youth": 0,
"middle": 0,
"old": 0
}
]
}
]
}
}
}
}
Error codes
Gateway and device error codes are in Global return codes.
