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

注册设备(验证码方式)

典型场景

在设备接入物联网平台前,第三方应用需要调用此接口在物联网平台注册设备,并把设备的唯一标识码(如IMEI)设置为设备接入平台的验证码。在设备接入物联网平台时携带设备唯一标识,完成设备的接入认证。

接口功能

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

接口描述

1
public function regDirectDevice($rddInDto, $appId, $accessToken)

接口所属类

DeviceManagement

参数说明

参数

必选/可选

位置

描述

$rddInDto

必选

body

见下表RegDirectDeviceInDTO的描述。

$appId

必选

query

如果是本应用的设备,此参数值可以填写null,否则填写授权应用的appId。

$accessToken

必选

header

填写鉴权接口获取的accessToken。

RegDirectDeviceInDTO

参数

必选/可选

位置

描述

deviceInfo

可选

Body

设备信息,见下方DeviceInfo结构体说明。。

endUserId

可选

Body

终端用户ID。

在NB-IoT方案中,endUserId设置为设备的IMSI号。在Smarthome解决方案中, endUserId设置为App账号。

imsi

可选

Body

NB-IoT终端的IMSI。

isSecure

可选

Body

指定设备是否为安全设备,默认值为“false”

  • “true”:安全设备
  • “false”:非安全设备
说明:

如果用户需要注册安全设备,isSecure参数必须填写。

nodeId

必选

Body

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

说明:

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

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

psk

可选

Body

请求中指定psk,则平台使用指定的psk;请求中不指定psk,则由平台生成psk。取值范围是“a-f、A-F、0-9”组成的字符串。

timeout

可选

Body

超时时间。当调用北向接口对设备开户,在超时时间内可绑定设备,若超过timeout时间且未绑定设备,则会删除超时的开户信息。

取值范围:0~2147483647。若填写为“0”,则表示设备验证码不会失效(建议填写为“0”)。

默认值:“180”(默认值可配置,具体配置值请咨询物联网平台运维人员。)

单位:秒。

verifyCode

条件可选

必选

body

设备验证码。若请求中指定verifyCode,则响应中返回请求中指定的verifyCode。若请求中不指定verifyCode,则由物联网平台自动生成。在NB-IoT方案中,verifyCode为必填参数,且必须与nodeId设置成相同值。

productId

可选

Body

设备所属的产品ID。

DeviceInfo:

参数

必选/可选

位置

描述

manufacturerId

可选

Body

厂商ID,唯一标识一个厂商。

manufacturerName

可选

Body

厂商名称。

deviceType

可选

Body

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

model

必选

Body

设备的型号。

Z-Wave:ProductType + ProductId,16 进制格式 XXXX-XXXX 补0对齐,如:001A-0A12,其他协议的格式待定。

protocolType

可选

Body

设备使用的协议类型,当前支持的协议类型:CoAP,huaweiM2M,Z-Wave,ONVIF,WPS,Hue,WiFi,J808,Gateway,ZigBee,LWM2M。

返回值

RegDirectDeviceOutDTO

参数

描述

$deviceId

设备ID,用于唯一标识一个设备。

$verifyCode

验证码,设备可以通过验证码获取设备ID和密码。若在请求中指定verifyCode,则响应中返回请求中指定的verifyCode;若请求中不指定verifyCode,则由物联网平台自动生成。

$timeout

验证码有效时间,单位秒,设备需要在有效时间内接入物联网平台。

$psk

随机psk参数,若请求中携带了psk,则使用请求中的psk,否则由平台生成随机psk参数。

错误码

Http状态码

错误码

错误描述

说明

200

103028

The license pool resources.

License资源用尽。

400

100003

Invalid verify code.

验证码无效。

处理建议:请检查接口请求中的verifyCode是否有误。若请求参数中未带verifyCode,请联系物联网平台维护人员处理。

400

100007

Bad request message.

参数不合法。

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

400

100416

The device has already been binded.

设备已经绑定。

处理建议:请检查设备是否已经注册。

400

100426

The nodeId is duplicated.

nodeId重复。

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

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

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

100441

The amount of nonSecure device has reached the limit.

非安全设备数量已达到上限。

500

103026

The license is not exist.

License不存在。

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

500

50252

Internal server error.

服务器运行内部错误。

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