shareDeviceList (shareDeviceList - Device List Pagination from easy4ip App - Imou Open Platform)
shareDeviceList: shareDeviceList - Device List Pagination from easy4ip App - Imou Open Platform
Legacy HTTP retained: For existing integrations. New integrations should use the Device APIs overview.
Function details
Get a list of devices shared by the easy4ip app to the developer by pagination.
Request address
https://openapi-[DataCenter].easy4ip.com/openapi/shareDeviceList
Request format
HTTP POST. JSON body layout: Request conventions. Sign with Signature.
Incoming parameter description
| Parameter name | Parameter type | Required or not | Default value | Legal value | Parameter description |
|---|---|---|---|---|---|
| token | String | Yes | Administrator accessToken | ||
| queryRange | String | Yes | The number value range is: [1,N] (N is a positive integer, and the latter>the former); the difference value range is: [0, 99] | Up to the number of data |
Sample input
{
"id":"d5c287b4-5b2f-4f03-baf5-8032c5c354af",
"system":{
"ver":"1.0",
"appId":"lcdxxxxxxxxx",
"sign": "xjhCQBoJ9hRDsCjyDcHjtDNzRZ3ZJezcawsfWeiaoxU=",
"time":1599031074,
"nonce":"8ec8a7bd1d1c95420de20d92422d457d"
},
"params":{
"token":"At_00006acr3456d12312d3grf60147de7ec",
"queryRange":"1-10"
}
}
Return data field description
| Field | Type | Description |
|---|---|---|
| count | Integer | Total amount of equipment |
| deviceList.deviceId | String | Device serial number |
| deviceList.status | Integer | Device status, 1: online, 0: offline |
| deviceList.baseline | String | Device baseline type |
| deviceList.deviceModel | String | Device model |
| deviceList.deviceCatalog | String | Equipment category [NVR/DVR/HCVR/IPC/SD/IHG/ARC] |
| deviceList.brand | String | Equipment brand information: lechange-easy4ip equipment, general-general equipment |
| deviceList.channels.resolutions.name | String | Device name |
| deviceList.channels.resolutions.ability | String | Equipment capability items, separated by commas, see device capability set for details |
| deviceList.channels.canBeUpgrade | Boolean | Is there a new version that can be upgraded, true: There is a new version that can be upgraded; false: No upgrade is possible |
| deviceList.channels.ownerUsername | String | Device owner account |
| deviceList.channels.platForm | Integer | Platform id: 0 P2P only; 1 legacy easy4ip platform; 2 easy4ip Open Platform access; 3 domestic standard access; 4 domestic extended access (prefer bindDeviceInfo when platForm=4); -1 unknown |
| deviceList.channels.encryptMode | String | Encryption mode, 0: default encryption mode, 1: user-defined encryption mode |
| deviceList.channels.playToken | String | Device playback code, used by opensdk |
| deviceList.channels.channelId | String | Channel number |
| deviceList.channels.channelName | String | Channel name |
| deviceList.channels.channelOnline | Boolean | Whether online, true: online, false: offline |
| deviceList.channels.channelPicUrl | String | Thumbnail URL |
| deviceList.channels.channelAbility | String | Channel capability set, such as AlarmMD, AudioTalk, separated by commas |
| deviceList.resolutions.name | String | the name of the resolution displayed on the client interface |
| deviceList.resolutions.imageSize | Integer | resolution enumeration |
| deviceList.resolutions.streamType | Integer | stream type, 0: HD main stream, 1: SD secondary stream |
Sample output
{
"result":{
"msg":"The operation was successful.",
"code":"0",
"data":{
"count":1,
"deviceList":[{
"deviceId":"TESTQWERXXXX",
"status":1,
"baseline":"ABC",
"deviceModel":"CE-A-TP1",
"deviceCatalog":"SD",
"brand":"lechange",
"version":"Chn_A_V1.1",
"name":"deviceName",
"ability":"AlarmMD,AudioTalk,AlarmPIR,WLAN,VVP2P",
"canBeUpgrade":false,
"ownerUsername":"13512341234",
"platForm":4,
"encryptMode":"0",
"playToken":"qwejhfdhrubfsdbisjfasnd",
"channels":[{
"channelId":"0",
"channelName":"channelName",
"channelOnline":true,
"channelPicUrl":"http://xxx.xx.com/xxx/3.jpg",
"channelAbility":"WLAN,PTZ,AudioTalk",
"resolutions":[{
"name":"1080P",
"imageSize":18,
"streamType":0
}]
}]
}]
}
},
"id":"d5c287b4-5b2f-4f03-baf5-8032c5c354af"
}
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 binding (DV10xx)
| Code | Meaning | Next step |
|---|---|---|
DV1001 | Bound to another account | Unbind or use another device |
DV1002 | Device does not exist | Verify serial number |
DV1003 | Already bound to current account | No need to bind again |
DV1005 | Verification code error | Check device label code |
DV1008 | Bind count limit exceeded | Unbind extra devices |
DV1011 | Device not bound | Bind first |
DV1029 | Device already bound | Do not bind again |
See Return codes · DV.
