listDeviceDetailsByIds(批量查询设备详细信息)
listDeviceDetailsByIds:批量查询设备详细信息
新接入请使用 按 ID 批量详情 device.detail.list。本页保留给仍在调用 POST /openapi/listDeviceDetailsByIds 的兼容对接,不表示该地址已经下线。
要点:https://openapi.lechange.cn/openapi/listDeviceDetailsByIds · 见 错误码
批量根据设备序列号,获取设备的详细信息。
请求参数
| 参数名 | 参数类型 | 是否必填 | 默认值 | 合法值 | 参数说明 | |
|---|---|---|---|---|---|---|
| token | String | 是 | 管理员、子用户或子账号 accessToken;子账号须配合 openid | |||
| openid | String | 否 | 子账号调用时必填,见 [按 ID 批量详情](/api/devices/batch/) | |||
| deviceList | deviceId | string | 是 | 要查询的设备序列号列表。单次最大支持 50 组序列号 | ||
| channelId | [string] | 当传通道列表,返回所属通道信息。如果不传通道,返回设备所有通道信息 | ||||
请求示例
{
"system": {
"ver": "1.0",
"appId": "lcdxxxxxxxxx",
"sign": "xxxxxxxxxxxxxx",
"time": 1603370757,
"nonce": "1a411d5a-e88b-45ee-b590-53da98375edd"
},
"id": "beb24691-d173-473a-8d3d-92db3aee0027",
"params": {
"deviceList": [{
"deviceId": "TESTQWERXXXX",
"channelId": ["0"]
}],
"token": "xxxxxxxxxxxxxxxxxxxxxxxxx"
}
}
响应字段
| 字段名 | 字段类型 | 字段说明 | |||
|---|---|---|---|---|---|
| count | Integer | 本次查询到的设备数 | |||
| deviceList | upgradeInfo | version | String | 最新版本号 | |
| attention | String | 升级描述信息 | |||
| packageUrl | String | 下载地址 | |||
| deviceId | String | 设备序列号 | |||
| productId | String | 产品编号 | |||
| canBeUpgrade | Boolean | 设备软件程序是否有新版本可以升级 | |||
| accessType | String | 设备接入类型,PaaS-表示Paas程序接入、Lechange-表示乐橙非PaaS设备、Easy4IP表示Easy4IP程序设备、P2P表示P2P程序设备 | |||
| deviceVersion | String | 设备版本号 | |||
| playToken | String | 设备播放码,opensdk使用 | |||
| brand | String | 设备品牌信息:lechange-乐橙设备,general-通用设备 | |||
| encryptMode | String | 设备加密模式:0-设备默认加密 1-用户自定义加密 | |||
| lastOffLineTime | String | 设备最后离线时间 | |||
| bindTime | Long | 设备绑定时间,UNIX时间戳形式。仅自己绑定的设备会返回,分享、托管设备不返回 | |||
| deviceName | String | 设备名称 | |||
| deviceStatus | String | 设备状态,online:在线,offline:离线,sleep:休眠,upgrading升级中 | |||
| deviceModel | String | 设备型号 | |||
| catalog | String | 设备大类【NVR/DVR/HCVR/IPC/SD/IHG/ARC】 | |||
| deviceAbility | String | 设备能力集,逗号隔开 | |||
| channelNum | Integer | 设备最大支持接入的通道数 | |||
| source | String | 权限类型:bind、 share | |||
| isSubDevice | Boolean | 是否为子设备 | |||
| parentDeviceId | String | 子设备所属的父设备序列号 | |||
| parentProductId | String | 子设备所属的父设备产品id | |||
| channelList | channelPicUrl | String | 设备通道封面图,新设备可能不存在封面图,可上传设备通道封面图或者刷新设备封面图 | ||
| csStatus | String | 云存储状态,notExist:未开通套餐,using:开通云存储且没有过期,expired:套餐过期 | |||
| shareFunctions | String | 分享权限下的权限字符串,逗号隔开 | |||
| cameraStatus | String | 遮罩状态,on:打开,off:关闭 | |||
| channelId | String | 通道号 | |||
| channelName | String | 通道名称 | |||
| channelAbility | String | 通道能力集,逗号隔开 | |||
| channelStatus | String | 通道状态,online:在线,offline:离线,sleep:休眠,upgrading升级中 | |||
| lastOffLineTime | String | 通道最后离线时间 | |||
| resolutions | name | String | 客户端界面展示的分辨率名称 | ||
| imageSize | Integer | 分辨率枚举 | |||
| streamType | Integer | 码流类型,0:主码流,1:辅码流 | |||
| subDeviceList | subDeviceProductId | String | 子设备产品id | ||
| subDeviceId | String | 子设备序列号 | |||
| subDeviceName | String | 子设备名称 | |||
| subDeviceModel | String | 子设备型号 | |||
| subDeviceStatus | String | 子设备状态,online:在线,offline:离线 | |||
| aplist | apId | String | 配件id | ||
| apName | String | 配件名称 | |||
| apType | String | 配件类型 | |||
响应示例
{
"result": {
"msg": "操作成功。",
"code": "0",
"data": {
"count": 1,
"deviceList": [
{
"catalog": "IPC",
"source": "bind",
"deviceId": "TESTQWERXXXX",
"deviceName": "TP7-XXXX",
"wifiTransferMode": "2.4Ghz",
"deviceStatus": "online",
"accessType": "PaaS",
"channelList": [
{
"csStatus": "using",
"shareFunctions": "",
"cameraStatus": "off",
"lastOffLineTime": "20230921T212756Z",
"channelName": "TP7-XXXX",
"channelStatus": "online",
"resolutions": [
{
"streamType": 0,
"name": "1080P",
"imageSize": 18
},
{
"streamType": 1,
"name": "480P",
"imageSize": 5
}
],
"channelAbility": "CloseCamera,other,NVM,PT,WideDynamic",
"channelId": 0,
"channelPicUrl": ""
}
],
"encryptMode": "0",
"tlsPrivatePort": "37778",
"brand": "lechange",
"devicePassword": "xxxxxxxxxxxx",
"playToken": "",
"deviceUsername": "xxxxxxxx==",
"salt": "xxxxxxxxxxxx",
"upgradeInfo": {
"packageUrl": "xxxxxxxxxxxxx",
"attention": "提升设备性能,加固安全",
"appForced": false,
"isAppForced": false,
"version": "V2.680.0000000.28.R.210911"
},
"httpPort": "80",
"rtspPort": "554",
"channelNum": 1,
"deviceVersion": "xxxxxxxxxxx",
"sdcardStatus": "normal",
"subDeviceList":[],
"aplist": [],
"deviceAbility": "WLAN,Auth,HSEncrypt,BreathingLight,CloudStorage,LocalStorage",
"lastOffLineTime": "20220926T164059Z",
"deviceModel": "TP7",
"canBeUpgrade": true
}
]
}
},
"id": "20tboni0x9z"
}
错误码
本接口可能返回下列码;完整分组见 错误码。
网关与鉴权(SN / TK / OP)
| 错误码 | 错误码说明 | 下一步 |
|---|---|---|
SN1001 | 签名异常 | 按 签名 核对 sign |
TK1002 | token 无效或过期 | 重新获取 token |
OP1002 | 缺少必填参数 | 补必填字段 |
OP1003 | 参数不合法 | 按本页参数表核对 |
OP1039 | 分钟级限流 | 等到下一分钟再试 |
OP1040 | 调用超限 | 降低频率 |
DV1007 | 设备离线或超时 | 等设备上线 |
子账号(SUB)
| 错误码 | 错误码说明 | 下一步 |
|---|---|---|
SUB1001 | 子账号无指定权限 | 在 子账号策略 中补权限 |
SUB1002 | 子账号无任何设备权限 | 授权设备或调整策略 |
SUB1005 | 子账号 token 过期 | 重新 获取子账号 token |
SUB1006 | 子账号与设备无授权关系 | 核对 Resource 与设备序列号 |
SUB1008 | 子账号未绑定当前应用 | 先创建并绑定子账号 |
SUB1007 | 创建子账号失败 | 核对参数后重试 |
SUB1009 | 子账号创建失败,账号格式错误 | account 须为手机号或邮箱 |
SUB1010 | 子账号创建失败,账号已存在 | 勿重复绑定同一子账号到应用 |
更多见 错误码 · SUB。
设备访问与通道(DV10xx)
| 错误码 | 错误码说明 | 下一步 |
|---|---|---|
DV1007 | 设备离线或超时 | 等设备上线;低电休眠先 唤醒 |
DV1009 | 设备正忙 | 稍后重试 |
DV1012 | 分享/授权设备权限不足 | 核对子账号 Permission / Resource |
DV1019 | 能力集不支持 | 确认型号与 设备能力 |
DV1020 | 通道离线 | 检查通道与设备状态 |
DV1026 | 不支持此功能 | 换接口或升级固件 |
DV1028 | 未绑定或通道不存在 | 核对 deviceId / channelId |
DV1030 | 设备休眠 | 唤醒后再调 |
DV1057 | 通道不存在 | 核对通道号 |
DV1061 | 设备响应超时 | 检查设备网络 |
DV1062 | 需先唤醒设备 | 调用唤醒接口 |
DV1069 | 不满足操作条件 | 见 msg |
说明
支持管理员、子用户或子账号 accessToken;子账号须传 openid。新接入优先 V2 按 ID 批量详情。