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

注册设备(密码方式)

典型场景

在设备接入物联网平台前,应用服务器需要调用此接口在物联网平台注册设备,获取设备ID和密码。在设备接入物联网平台时携带设备ID和密码,完成设备的接入认证。

此注册设备接口适用于使用MQTT协议接入的设备。

接口功能

支持应用服务器在物联网平台注册设备,完成注册后设备方可接入物联网平台。

接口原型

请求方法

POST

请求地址

https://server:port/iocm/app/reg/v2.0.0/deviceCredentials?appId={appId}

传输协议

HTTPS

请求参数

参数

必选/可选

类型

位置

描述

app_key

必选

String

header

访问物联网平台的应用ID,在物联网平台创建应用时由平台分配获得。

Authorization

必选

String

header

访问物联网平台的认证信息,值为“Bearer {accessToken}”,其中{accessToken}为调用鉴权接口返回的accessToken。

appId

可选

String

query

访问物联网平台的应用ID,在物联网平台创建应用时由平台分配获得。此处填写授权应用的appId。

deviceInfo

可选

DeviceInfo

Body

设备信息。

endUserId

可选

String(256)

Body

终端用户ID。

在NB-IoT方案中,endUserId设置为设备的IMSI号。

organization

可选

String(256)

Body

设备所属的组织信息。

region

可选

String(256)

Body

设备所在的区域信息。

timezone

可选

String(256)

Body

设备所在的时区信息。

mqttConnect

可选

Boolean

Body

设备是否使用MQTT协议接入,注册MQTT协议接入设备时需要设置为true。

productId

可选

String(256)

Body

设备所属的产品ID,用于关联设备所属的产品模型。与manufacturerId、manufacturerName、deviceType、model和protocolType系列参数二选一。

secret

可选

String

Body

设备密码,若在请求中指定secret,则响应中返回请求中指定的secret;若请求中不指定secret,则由物联网平台自动生成。

DeviceInfo:

参数

必选/可选

类型

位置

描述

nodeId

必选

String(256)

Body

设备唯一标识码,必须与设备上报的设备标识一致。通常使用MAC地址,Serial No或IMEI作为nodeId。

说明:

使用IMEI作为nodeId时,根据不同厂家的芯片有不同填写要求。

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

manufacturerId

可选

String(256)

Body

厂商ID,唯一标识一个厂商。与manufacturerName、deviceType、model和protocolType参数一起用于关联设备所属的产品模型,与productId参数二选一。

manufacturerName

可选

String(256)

Body

厂商名称。与manufacturerId、deviceType、model和protocolType参数一起用于关联设备所属的产品模型,与productId参数二选一。

deviceType

可选

String(256)

Body

设备类型,大驼峰命名方式,如MultiSensor、ContactSensor、CameraGateway。

与manufacturerId、manufacturerName、model和protocolType参数一起用于关联设备所属的产品模型,与productId参数二选一。

model

必选

String(256)

Body

设备的型号。与manufacturerId、manufacturerName、deviceType和model参数一起用于关联设备所属的产品模型,与productId参数二选一。

protocolType

可选

String(256)

Body

设备使用的协议类型,当前支持的协议类型:MQTT。

与manufacturerId、manufacturerName、deviceType和model参数一起用于关联设备所属的产品模型,与productId参数二选一。

name

可选

String

Body

设备名称。

响应参数

Status Code: 200 OK

参数

类型

描述

deviceId

String(256)

设备ID,用于唯一标识一个设备,在注册设备时由物联网平台分配获得。

psk

String(32)

随机psk参数,由物联网平台自动生成。

secret

String(256)

设备密码,设备可以通过验证码完成物联网平台的接入认证。若在请求中指定secret,则响应中返回请求中指定的secret;若请求中不指定secret,则由物联网平台自动生成。

请求示例

Method: POST
request:
https://server:port/iocm/app/reg/v2.0.0/deviceCredentials?appId=*********
Header:
app_key: ******
Authorization: Bearer ******
Content-Type: application/json
Body:
{
  "deviceInfo": {
    "nodeId": "******",
    "manufacturerName": "******",
    "manufacturerId": "******",
    "deviceType": "******",
    "model": "******",
    "protocolType": "******",
    "name": "******"
  },
  "endUserId": "***********",
  "organization": "***********",
  "region": "***********",
  "timezone": "***********",
  "mqttConnect": true,
  "productId": "***********",
  "secret": "***********"
}

响应示例

response:
Status Code: 200 OK
Content-Type: application/json
Body:
{
  "deviceId": "*******",
  "psk": "*********",
  "secret": "*********"
}

错误码

Http状态码

错误码

错误描述

说明

400

100007

Bad request message.

参数不合法。

处理建议:deviceId未赋值,请参考请求参数说明填写请求。

400

100426

The nodeId is duplicated.

nodeId重复。

处理建议:请检查接口请求中nodeId是否有误。

400

50400

The input is invalid.

输入参数无效。

处理建议:请检查接口调用请求中携带参数的合法性。

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是否有误。

403

600002

The product not existed.

产品不存在。

处理建议:物联网平台未找到productId对应的产品,请检查productId是否有误。

500

100001

Internal server error.

服务内部处理错误。

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

500

100203

The application is not existed.

授权应用不存在。

处理建议:

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

500

100412

The amount of device has reached the limit.

当前应用下设备数量达到上限。

处理建议:请检查当前应用下的设备数量是否已达到所申请资源的上限。

500

103026

The license is not exist.

License不存在。

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

500

50252

Internal server error.

服务器运行内部错误。

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