deviceBaseDetailList (Detailed Device Info for easy4ip App - Imou Open Platform)
deviceBaseDetailList: Detailed Device Info for easy4ip App - Imou Open Platform
Legacy HTTP retained: For existing integrations. New integrations should use the Device APIs overview.
Function details
According to the device serial number, channel number list and accessory number list in batch, get the detailed information of the devices added or shared by the easy4ip app.
Request address
https://openapi-[DataCenter].easy4ip.com/openapi/deviceBaseDetailList
Request format
HTTP POST. JSON body layout: Request conventions. Sign with Signature.
Incoming parameter description
| Parameter | Type | Required | Default | Legal value | Description |
|---|---|---|---|---|---|
| token | String | Yes | Administrator accessToken | ||
| deviceList.deviceId | String | Yes | List of device serial numbers, up to 8 device queries are supported | ||
| deviceList.channelList | String | Yes | "1,2,3,4,5": Multiple channel numbers separated by commas | List of channel numbers | |
| deviceList.apList | String | No | "1,2,3,4,5": multiple part numbers separated by commas | Accessory Id list |
Sample input
{
"id":"d5c287b4-5b2f-4f03-baf5-8032c5c354af",
"system":{
"ver":"1.0",
"appId":"lcdxxxxxxxxx",
"sign": "xjhCQBoJ9hRDsCjyDcHjtDNzRZ3ZJezcawsfWeiaoxU=",
"time":1599031074,
"nonce":"8ec8a7bd1d1c95420de20d92422d457d"
},
"params":{
"token":"At_00006acr3456d12312d3grf60147de7ec",
"deviceList":[{
"deviceId":"TESTQWERXXXX",
"channelList":"0",
"apList":"TESTQWERXXXX"
}]
}
}
Return data field description
| Field | Type | Description |
|---|---|---|
| count | Integer | Number of devices queried this time |
| deviceList.deviceId | String | Device serial number |
| deviceList.status | String | Device status, online: online, offline: offline, sleep: hibernation, upgrading |
| deviceList.deviceModel | String | Device model |
| deviceList.catalog | 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.aplist.name | String | Device name |
| deviceList.channels.resolutions.aplist.ability | String | Equipment capability items, separated by commas, see device capability set for details |
| deviceList.channels.aplist.accessType | String | Device access type: (empty) Open Platform program access; Lechange Imou/easy4ip conventional devices; Easy4IP Easy4IP program devices; P2P P2P program devices |
| deviceList.channels.aplist.encryptMode | String | Encryption mode, 0: default encryption mode, 1: user-defined encryption mode |
| deviceList.channels.aplist.playToken | String | Device playback code, used by opensdk |
| deviceList.channels.channelId | String | Channel number |
| deviceList.channels.deviceId | String | Device serial number |
| deviceList.channels.channelName | String | Channel name |
| deviceList.channels.ability | String | Channel capability set, such as AlarmMD, AudioTalk, separated by commas |
| deviceList.channels.status | String | Remote channel status, online: online, offline: offline, close: not configured, sleep: hibernation, upgrading in progress |
| deviceList.channels.picUrl | String | Thumbnail URL |
| deviceList.channels.remindStatus | String | Reminder status, off: no reminder, on: reminder |
| deviceList.channels.cameraStatus | String | Mask status, on: open, off: closed |
| deviceList.channels.storageStrategyStatus | String | Cloud storage status, notExist: the package has not been activated, using: cloud storage has been activated and has not expired, expired: the package has expired |
| deviceList.channels.shareStatus | String | "": The device belongs to itself, share: Share to this user through the easy4ip app |
| deviceList.channels.shareFunctions | String | List of shared and authorized permission functions (separated by commas) |
| deviceList.resolutions.channels.name | String | the name of the resolution displayed on the client interface |
| deviceList.resolutions.channels.imageSize | Integer | resolution enumeration |
| deviceList.resolutions.channels.streamType | Integer | stream type, 0: HD main stream, 1: SD secondary stream |
| deviceList.aplist.apId | String | Accessory id |
| deviceList.aplist.apName | String | Accessory name |
| deviceList.aplist.apType | String | Accessories type |
| deviceList.aplist.apModel | String | Model of the accessory |
| deviceList.aplist.ioType | String | The io type of the accessory, in: input, out: output |
| deviceList.aplist.apVersion | String | The version number of the accessory |
| deviceList.aplist.apStatus | String | Online status of accessories, online: online, offline: offline |
| deviceList.aplist.apEnable | String | Enable the accessory, on: enable to open, off: enable to close |
| deviceList.aplist.apCapacity | String | Accessory capability items, separated by commas, such as AudioTalk, PT |
Sample output
{
"result":{
"msg":"Successful operation。",
"code":"0",
"data":{
"count":1,
"deviceList":[{
"deviceId":"TESTQWERXXXX",
"status":"online",
"deviceModel":"CE-A-TP1",
"catalog":"SD",
"brand":"lechange",
"version":"Chn_A_V1.1",
"name":"deviceName",
"ability":"AlarmMD,AudioTalk,AlarmPIR,WLAN,VVP2P",
"accessType":"",
"encryptMode":"0",
"playToken":"qwejhfdhrubfsdbisjfasnd",
"channels":[{
"channelId":"0",
"deviceId":"TESTQWERXXXX",
"channelName":"channelName",
"ability":"ability",
"status":"online",
"picUrl":"http://xxx.xx.com/xxx/3.jpg",
"remindStatus":"on",
"cameraStatus":"on",
"storageStrategyStatus":"using",
"shareStatus":"share",
"shareFunctions":"videoMonitor",
"resolutions":[{
"name":"1080P",
"imageSize":18,
"streamType":0
}]
}],
"aplist":[{
"apId":"APXXXXXXXXXXXX",
"apName":"cname",
"apType":"ability",
"apModel":"wbs",
"ioType":"auto",
"apVersion":"V1.2.3",
"apStatus":"online",
"apEnable":"on",
"apCapacity":"AudioTalk,PT"
}]
}]
}
},
"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 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.
