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

注册设备通知

典型场景

应用服务器在物联网平台订阅了注册设备通知后(订阅的通知类型为deviceAdded),当应用服务器通过“注册设备”接口在平台注册设备时,平台会向应用服务器推送通知消息。

接口功能

支持物联网平台向订阅了注册设备通知的应用服务器推送通知消息。

注意事项

应用收到推送消息,请务必返回响应码。

接口原型

请求方法

POST

请求地址

由应用服务器订阅请求消息中的callbackurl决定。

传输协议

HTTPS/HTTP

请求参数

参数

必选/可选

类型

位置

描述

notifyType

必选

String

body

通知类型,取值:deviceAdded。

deviceId

必选

String

body

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

gatewayId

可选

String

body

网关ID,用于标识一个网关设备。当设备是直连设备时,gatewayId与设备的deviceId一致。当设备是非直连设备时,gatewayId为设备所关联的直连设备(即网关)的deviceId。

nodeType

必选

String

body

设备类型。

  • ENDPOINT
  • GATEWAY
  • UNKNOWN

deviceInfo

必选

DeviceInfo

body

设备信息,具体参见DeviceInfo结构体

DeviceInfo结构体说明:

参数

必选/可选

类型

位置

描述

nodeId

必选

String(256)

body

设备唯一标识码,通常使用MAC地址,Serial No或IMEI作为nodeId。

说明:

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

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

name

可选

String(256)

body

设备名称。

description

可选

String(2048)

body

设备的描述信息。

manufacturerId

可选

String(256)

body

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

manufacturerName

可选

String(256)

body

厂商名称。

mac

可选

String(256)

body

设备的MAC地址。

location

可选

String(2048)

body

设备的位置信息。

deviceType

可选

String(256)

body

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

model

可选

String(256)

body

设备的型号。

swVersion

可选

String(256)

body

设备的软件版本。

fwVersion

可选

String(256)

body

设备的固件版本。

hwVersion

可选

String(256)

body

设备的硬件版本。

protocolType

可选

String(256)

body

设备使用的协议类型。

bridgeId

可选

String(256)

body

Bridge标识,表示设备通过哪个Bridge接入物联网平台。

status

可选

String

body

设备的状态,表示设备是否在线,取值范围:ONLINE、OFFLINE、INACTIVE、ABNORMAL。

  • 设备首次接入平台之前,设备的状态为INACTIVE。
  • 若设备超过25(默认值)小时未向平台上报数据或发送消息,则设备状态为ABNORMAL(默认值);若设备超过49小时未向平台上报数据或发送消息,则设备状态为OFFLINE。

statusDetail

可选

String(256)

body

设备的状态详情,跟status取值对应。

  • status为ONLINE时,取值范围为NONE(无),CONFIGURATION_PENDING(配置待下发),UE_REACHABILITY(设备可达),AVAILABILITY_AFTER_DDN_FAILURE(寻呼失败后设备重新可达)。
  • status为OFFLINE时,取值范围为NONE(无),COMMUNICATION_ERROR(通信故障),CONFIGURATION_ERROR(配置错误),BRIDGE_OFFLINE(Bridge离线),FIRMWARE_UPDATING(固件升级中),DUTY_CYCLE,NOT_ACTIVE(未激活),LOSS_OF_CONNECTIVITY(连接断开),TIME_OUT(超时)。
  • status为INACTIVE时,取值范围为NONE(无),NOT_ACTIVE(未激活)。

mute

可选

String

body

表示设备是否处于冻结状态,即设备上报数据时,平台是否会管理和保存。

  • TRUE:冻结状态
  • FALSE:非冻结状态

supportedSecurity

可选

String

body

表示设备是否支持安全模式。

  • TRUE:支持安全模式
  • FALSE:不支持安全模式

isSecurity

可选

String

body

表示设备当前是否启用安全模式。

  • TRUE:启用
  • FALSE:未启用

signalStrength

可选

String(256)

body

设备的信号强度。

sigVersion

可选

String(256)

body

设备的sig版本。

serialNumber

可选

String(256)

body

设备的序列号。

batteryLevel

可选

String(256)

body

设备的电池电量。

说明:

设备向物联网平台上报设备状态时需要status、statusDetail成对上报。statusDetail建议仅用作显示,不建议用于逻辑判断。

响应参数

Status Code: 200 OK

请求示例

Method: POST
request: {callbackUrl}
Header:
Content-Type: application/json
Body:
{
  "notifyType": "deviceAdded",
  "deviceId": "*****",
  "gatewayId": "*****",
  "nodeType": "GATEWAY",
  "deviceInfo": {
    "nodeId": "******",
    "name": null,
    "description": null,
    "manufacturerId": null,
    "manufacturerName": null,
    "mac": null,
    "location": null,
    "deviceType": null,
    "model": null,
    "swVersion": null,
    "fwVersion": null,
    "hwVersion": null,
    "protocolType": null,
    "bridgeId": null,
    "status": "OFFLINE",
    "statusDetail": "NOT_ACTIVE",
    "mute": null,
    "supportedSecurity": null,
    "isSecurity": null,
    "signalStrength": null,
    "sigVersion": null,
    "serialNumber": null,
    "batteryLevel": null
  }
}

响应示例

response:
Status Code: 200 OK