注册设备(验证码方式)
典型场景
在设备接入物联网平台前,第三方应用需要调用此接口在物联网平台注册设备,并把设备的唯一标识码(如IMEI)设置为设备接入平台的验证码。在设备接入物联网平台时携带设备唯一标识,完成设备的接入认证。
接口功能
支持第三方应用在物联网平台注册设备,完成注册后设备方可接入物联网平台。
接口描述
1
|
def regDirectDevice(self, rddInDto, appId, accessToken) |
接口所属类
DeviceManagement
参数说明
参数 |
必选/可选 |
类型 |
位置 |
描述 |
---|---|---|---|---|
rddInDto |
必选 |
RegDirectDeviceInDTO |
body |
见下表RegDirectDeviceInDTO的描述。 |
appId |
可选 |
String |
query |
如果是本应用的设备,此参数值可以填写None,否则填写授权应用的appId。 |
accessToken |
必选 |
String |
header |
填写鉴权接口获取的accessToken。 |
RegDirectDeviceInDTO
参数 |
必选/可选 |
类型 |
位置 |
描述 |
---|---|---|---|---|
deviceInfo |
可选 |
Body |
设备信息。 |
|
endUserId |
可选 |
String(256) |
Body |
终端用户ID。 在NB-IoT方案中,endUserId设置为设备的IMSI号。在Smarthome解决方案中, endUserId设置为App账号。 |
imsi |
可选 |
String(1-64) |
Body |
NB-IoT终端的IMSI。 |
isSecure |
可选 |
Boolean |
Body |
指定设备是否为安全设备,默认值为“false”。
说明:
如果用户需要注册安全设备,isSecure参数必须填写。 |
nodeId |
必选 |
String(256) |
Body |
设备的唯一标识,必须与设备上报的设备标识一致。通常使用MAC地址,Serial No或IMEI作为nodeId。
说明:
使用IMEI作为nodeId时,根据不同厂家的芯片有不同填写要求。
|
psk |
可选 |
String(8-32) |
Body |
请求中指定psk,则平台使用指定的psk;请求中不指定psk,则由平台生成psk。取值范围是“a-f、A-F、0-9”组成的字符串。 |
timeout |
可选 |
Integer(>=0) |
Body |
超时时间。当调用API接口对设备开户,在超时时间内可绑定设备,若超过timeout时间且未绑定设备,则会删除超时的开户信息。 取值范围:0~2147483647。若填写为“0”,则表示设备验证码不会失效(建议填写为“0”)。 默认值:“0”(默认值可配置,具体配置值请咨询物联网平台运维人员。) 单位:秒。 |
verifyCode |
可选 |
String(256) |
body |
设备验证码,全局唯一,建议与nodeId设置成相同值。若在请求中指定verifyCode,则响应中返回请求中指定的verifyCode;若请求中不指定verifyCode,则由物联网平台自动生成。 在NB-IoT方案中,verifyCode为必填参数,且必须与nodeId设置成相同值。 |
productId |
可选 |
String(256) |
Body |
设备所属的产品ID。 |
参数 |
必选/可选 |
类型 |
位置 |
描述 |
---|---|---|---|---|
manufacturerId |
可选 |
String(256) |
Body |
厂商ID,唯一标识一个厂商。 |
manufacturerName |
可选 |
String(256) |
Body |
厂商名称。 |
deviceType |
可选 |
String(256) |
Body |
设备类型,大驼峰命名方式,如MultiSensor、ContactSensor、CameraGateway。 |
model |
必选 |
String(256) |
Body |
设备的型号。 Z-Wave:ProductType + ProductId,16 进制格式 XXXX-XXXX 补0对齐,如:001A-0A12,其他协议的格式待定。 |
protocolType |
可选 |
String(256) |
Body |
设备使用的协议类型,当前支持的协议类型:CoAP,huaweiM2M,Z-Wave,ONVIF,WPS,Hue,WiFi,J808,Gateway,ZigBee,LWM2M。 |
返回值
RegDirectDeviceOutDTO
参数 |
类型 |
描述 |
---|---|---|
deviceId |
String(256) |
设备ID,用于唯一标识一个设备。 |
verifyCode |
String(256) |
验证码,设备可以通过验证码获取设备ID和密码。若在请求中指定verifyCode,则响应中返回请求中指定的verifyCode;若请求中不指定verifyCode,则由物联网平台自动生成。 |
timeout |
Number |
验证码有效时间,单位秒,设备需要在有效时间内接入物联网平台。 |
psk |
String(32) |
随机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鉴权信息。 处理建议:
|
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 |
Invalid access token or appId. |
错误的token信息。 处理建议:请检查接口请求中所携带的accessToken是否有误。 |
403 |
600002 |
The product not existed. |
产品不存在。 处理建议:物联网平台未找到productId对应的产品,请检查productId是否有误。 |
500 |
100001 |
Internal server error. |
服务内部处理错误。 处理建议:物联网平台内部错误,请联系物联网平台维护人员处理。 |
500 |
100203 |
The application is not existed. |
授权应用不存在。 处理建议:
|
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. |
服务器运行内部错误。 处理建议:物联网平台内部错误,请联系物联网平台维护人员处理。 |