刷新设备密钥
典型场景
已在物联网平台注册的设备,若设备的唯一标识码发生变更(如更换设备等场景),应用服务器需要调用此接口在物联网平台更新设备的唯一标识,并重新绑定设备。
仅当设备处于离线状态时,才能进行刷新设备秘钥操作。
接口功能
支持应用服务器在物联网平台更新已注册设备的nodeId,在设备deviceId不变的情况下,重新绑新设备。
接口原型
请求方法 |
PUT |
---|---|
请求地址 |
https://server:port/iocm/app/reg/v1.1.0/deviceCredentials/{deviceId}?appId={appId} |
传输协议 |
HTTPS |
请求参数
参数 |
必选/可选 |
类型 |
位置 |
描述 |
---|---|---|---|---|
app_key |
必选 |
String |
header |
访问物联网平台的应用ID,在物联网平台创建应用时由平台分配获得。 |
Authorization |
必选 |
String |
header |
访问物联网平台的认证信息,值为“Bearer {accessToken}”,其中{accessToken}为调用鉴权接口返回的accessToken。 |
deviceId |
必选 |
String(256) |
path |
设备ID,用于唯一标识一个设备,在注册设备时由物联网平台分配获得。 |
appId |
可选 |
String |
query |
访问物联网平台的应用ID,在物联网平台创建应用时由平台分配获得。此处填写授权应用的appId。 |
nodeId |
可选 |
String(256) |
body |
设备唯一标识码,通常使用MAC地址,Serial No或IMEI作为nodeId。 若需要更新设备的nodeId,则填写此参数,否则不需要填写。
说明:
若使用IMEI作为nodeId,根据不同厂家的芯片有不同填写要求。
|
timeout |
可选 |
Integer |
body |
超时时间。在超时时间内可绑定设备,若超过timeout时间且未绑定设备,则会删除超时的开户信息。 取值范围:0~2147483647。若填写为“0”,则表示设备验证码不会失效(建议填写为“0”)。 默认值:180(默认值可配置,具体配置值请咨询物联网平台运维人员。) 单位:秒。 |
verifyCode |
可选 |
String(256) |
body |
设备验证码,若在请求中指定verifyCode,则响应中返回请求中指定的verifyCode;若请求中不指定verifyCode,则由物联网平台自动生成。建议和nodeId设置成一样。 在NB-IoT方案中,verifyCode为必填参数,且必须与nodeId设置成相同值。 |
响应参数
Status Code: 200 OK
参数 |
类型 |
描述 |
---|---|---|
verifyCode |
String(256) |
设备验证码,设备可以通过验证码完成物联网平台的接入认证。若在请求中指定verifyCode,则响应中返回请求中指定的verifyCode;若请求中不指定verifyCode,则由物联网平台自动生成。 |
timeout |
Integer |
验证码有效时间,单位秒,设备需要在有效时间内接入物联网平台。 |
请求示例
Method: PUT request: https://server:port/iocm/app/reg/v1.1.0/deviceCredentials/*************?appId=************* Header: app_key: ****** Authorization: Bearer ****** Content-Type: application/json Body: { "verifyCode": "****************", "nodeId": "********", "timeout": 300 }
响应示例
response: Status Code: 200 OK Content-Type: application/json Body: { "verifyCode": "AE10-12424-12414", "timeout": 300 }
错误码
Http状态码 |
错误码 |
错误描述 |
说明 |
---|---|---|---|
200 |
100217 |
The application hasn't been authorized. |
应用未被授权。 处理建议:若非应用授权场景,请确认请求参数中的appId为空。 |
400 |
100003 |
Invalid verify code. |
验证码无效。 处理建议:请检查接口请求中的verifyCode是否有误。若请求参数中未带verifyCode,请联系物联网平台维护人员处理。 |
400 |
100007 |
Bad request message. |
参数不合法。 处理建议:deviceId未赋值,请参考请求参数说明填写请求。 |
400 |
100426 |
The nodeId is duplicated. |
nodeId重复。 处理建议:请检查接口请求中nodeId是否有误。 |
400 |
100610 |
Device is not active. |
设备未激活。 处理建议:请检查该设备是否已接入物联网平台并激活。 |
400 |
100611 |
Device is online. |
设备在线。 处理建议:请下线该设备或者断开设备与物联网平台的连接。 |
400 |
50400 |
The input is invalid. |
输入参数无效。 处理建议:请检查接口调用请求中携带参数的合法性。 |
401 |
100025 |
AppId for auth not exist. |
获取不到appId鉴权信息。 处理建议:
|
403 |
100203 |
The application is not existed. |
授权应用不存在。 处理建议:
|
403 |
100217 |
The application hasn't been authorized. |
应用未被授权。 处理建议:若非应用授权场景,请确认请求参数中的appId为空。 |
403 |
1010009 |
app throttle exceed. |
应用调用接口过于频繁,超过流控值(默认值是100次/60s)。 处理建议:联系物联网平台维护人员调大流控阈值或者控制接口的调用频率。 |
403 |
1010005 |
App_key or access_token is invalid. |
错误的token信息。 处理建议:请检查接口请求中所携带的accessToken是否有误。 |
404 |
100403 |
The device is not existed. |
设备不存在。 处理建议:物联网平台未找到deviceId对应的设备,请检查deviceId是否有误。 |
404 |
100418 |
The deviceData is not existed. |
设备信息不存在。 处理建议:
|
500 |
100203 |
The application is not existed. |
应用不存在。 处理建议:
|
500 |
50252 |
Internal server error. |
服务器运行内部错误。 处理建议:物联网平台内部错误,请联系物联网平台维护人员处理。 |