bindDevice(绑定设备)
bindDevice:绑定设备
要点:https://openapi.lechange.cn/openapi/bindDevice · 见 错误码
将设备绑定在指定账号下。
请求参数
| 参数名 | 参数类型 | 是否必填 | 默认值 | 合法值 | 参数说明 |
|---|---|---|---|---|---|
| token | String | 是 | 管理员accessToken | ||
| deviceId | String | 是 | 设备序列号 | ||
| code | String | 是 | code统称为设备验证码,针对不同的场景传的code值也会不一样,如下: 1、如果未修改过设备密码,则传设备底部标签中(或二维码中)8位数字的安全码; 2、如果修改了设备密码,则传修改后的设备密码; 3、如果未修改过设备密码,且该设备底部标签中(或二维码中)没有8位数字的安全码,则code值传空即可。 | 设备验证码或密码 | |
| encryptCode | String | 否 | 加密后的code值,非必填。code参数或encryptCode参数可选其一使用,若两者都传以code为准。 如果业务对安全有较高需求,可使用encryptCode参数,加密规则如下。 | 加密后的设备验证码或密码 | |
| encryptCodeV2 | String | 否 | 密文验证码 v2;与 encryptCode 同传时优先按 v2 解密 | ||
| productId | String | 否 | IoT 等设备的产品型号;子设备/NVR 快速绑定等场景使用 | ||
| linkedDeviceId | String | 否 | 与 productId 同传,用于 NVR 等快速绑定子设备 | ||
| type | String | 否 | 部分 NB 等绑定场景的类型字段 |
password计算值的公式为:encryptCode = Base64(AES256_CBC(code,key[],iv[])); 详细规则如下: 1、采用CBC分组加密的方式,算法为AES/CBC/PKCS5Padding; 2、code为设备的明文验证码或密码; 3、key[]为密匙(key)的二进制数组; 4、密钥(key)为:LowerCase(MD5(UpperCase(Base64(KDF(deviceId,MD5(appSecret)))))),KDF算法为PBKDF2WithHmacSHA256,迭代1200次,导出密钥长度 256;
appSecret为控制台应用密钥(与 签名 一致,JSON 字段名以控制台为准)。 5、iv[]为初始化向量的二进制数组,为:MD5(appSecret),采用Java自带的MessageDigest的MD5算法加密。
加密示例: deviceId是TESTQWERXXXX,appSecret是12345qwert67890asdfg12345qwert,原code是Admin123,计算后得到encryptCode为5ZtW6b0Ttf1zOiFhqynKaA==
请求示例
{
"system":{
"ver":"1.0",
"appId":"lcdxxxxxxxxx",
"sign": "xjhCQBoJ9hRDsCjyDcHjtDNzRZ3ZJezcawsfWeiaoxU=",
"time":1603352833,
"nonce":"b52eb20c-c836-45d7-9a98-cded3cf2fa9b"
},
"id":"5d5c16ec-0ee4-4880-88dd-6ce602d1e138",
"params":{
"token": "<yourAccessToken>",
"deviceId":"TESTQWERXXXX",
"code":"Admin123"
}
}
响应字段
无data数据返回
响应示例
{
"result":{
"msg":"操作成功。",
"code":"0"
},
"id":"5d5c16ec-0ee4-4880-88dd-6ce602d1e138"
}
错误码
本接口可能返回下列码;完整分组见 错误码。
网关与鉴权(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)
| 错误码 | 错误码说明 | 下一步 |
|---|---|---|
DV1001 | 已被其他账号绑定 | 解绑或换设备 |
DV1002 | 设备不存在 | 核对序列号 |
DV1003 | 已被当前账号绑定 | 无需重复绑定 |
DV1005 | 验证码 / SC 码错误 | 核对设备机身码 |
DV1008 | 绑定数量超限 | 解绑冗余设备 |
DV1011 | 设备未绑定 | 先执行绑定 |
DV1013 | 注册超 3 天须局域网绑定 | 设备与客户端同网或重启设备 |
DV1014 | 绑定错误过频(30 分钟) | 等待解锁 |
DV1015 | 绑定错误过频(24 小时) | 等待解锁 |
DV1029 | 设备已被绑定 | 勿重复绑定 |
DV1033 | 已被他人绑定 | 联系绑定方 |
DV1055 | 非开放平台绑定设备 | 走开放平台绑定流程 |
DV1059 | 第三方平台已绑定 | 先解除第三方绑定 |
更多见 错误码 · DV。
说明
仅支持管理员 accessToken;子账号不可调用本接口。