更新时间:2022-02-24 GMT+08:00

刷新设备密钥

典型场景

已在物联网平台注册的设备,若设备的唯一标识码发生变更(如更换设备等场景),应用服务器需要调用此接口在物联网平台更新设备的唯一标识,并重新绑定设备。

说明:

仅当设备处于离线状态时,才能进行刷新设备秘钥操作。

接口功能

支持应用服务器在物联网平台更新已注册设备的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,根据不同厂家的芯片有不同填写要求。

  • 高通芯片设备的唯一标识为urn:imei:xxxx,xxxx为IMEI号
  • 海思芯片设备的唯一标识为IMEI号
  • 其他厂家芯片的设备唯一标识请联系模组厂家确认。

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鉴权信息。

处理建议:

  • 请检查请求结构体的Header头域中是否给字段app_key赋值。
  • 若通过HTTP调用,请联系物联网平台维护人员确认Header头域中放置appId的字段名是app_key还是x-app-key。

403

100203

The application is not existed.

授权应用不存在。

处理建议:

  • 请检查HTTP请求头域中携带的appId是否有误。
  • 请检查请求路径(url)中传入的appId是否有误。

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.

设备信息不存在。

处理建议:

  • 请求参数中携带的deviceId错误。请确认该deviceId是否属于该appId或者deviceId是否写错。
  • Header中携带的appId有误,请确认该appId下是否有该deviceId。
  • 如果URL中携带了可选参数appId,请检查该appId是否有误。

500

100203

The application is not existed.

应用不存在。

处理建议:

  • 请检查HTTP请求头域中携带的appId是否有误。
  • 请检查请求路径(url)中传入的appId是否有误。

500

50252

Internal server error.

服务器运行内部错误。

处理建议:物联网平台内部错误,请联系物联网平台维护人员处理。