订阅平台业务数据
接口说明
应用服务器可调用此接口在物联网平台订阅设备相关的业务信息,当设备的业务信息发生变化时(如设备注册、设备数据上报、设备状态变更等),平台会向应用服务器发送通知消息。
URI
请求方法 |
POST |
---|---|
URI |
/iocm/app/sub/v1.2.0/subscriptions |
传输协议 |
HTTPS |
请求参数
参数 |
必选/可选 |
类型 |
位置 |
描述 |
---|---|---|---|---|
app_key |
必选 |
String |
header |
访问物联网平台的应用ID,在物联网平台创建应用时由平台分配获得。 |
Authorization |
必选 |
String |
header |
访问物联网平台的认证信息,值为“Bearer {accessToken}”,其中{accessToken}为调用鉴权接口返回的accessToken。 |
ownerFlag |
可选 |
String(256) |
query |
callbackUrl的所有者标识。
|
appId |
可选 |
String(256) |
body |
订阅所属的应用ID,当创建授权应用下的订阅时才需要填写。 |
notifyType |
必选 |
String |
body |
通知类型,应用可以根据通知类型接收物联网平台推送的对应通知消息。
|
callbackUrl |
必选 |
String(1024) |
body |
订阅的回调地址,用于接收对应类型的通知消息。 可使用HTTPS或HTTP回调地址,建议使用HTTPS。回调地址支持IP地址或域名格式,同时回调地址中必须指定回调地址的端口。例如:https://XXX.XXX.XXX.XXX:443/callbackurltest |
响应参数
Status Code: 201 Created
参数 |
类型 |
描述 |
---|---|---|
subscriptionId |
String |
订阅ID,用于唯一标识一个订阅,在创建订阅时由物联网平台分配获得。 |
notifyType |
String |
通知的类型。 |
callbackUrl |
String |
订阅的回调地址。 |
请求示例
POST https://{host}:{port}/iocm/app/sub/v1.2.0/subscriptions Content-Type: application/json app_key: ****** Authorization: Bearer ***** { "appId": "*******", "notifyType": "deviceInfoChanged", "callbackUrl": "https://***********" }
正常响应示例
Status Code: 201 Created Content-Type: application/json { "subscriptionId": "*******", "notifyType": "*******", "callbackUrl": "https://***********" }
错误码
Http状态码 |
错误码 |
错误描述 |
说明 |
---|---|---|---|
400 |
100222 |
The request callbackurl is illegal. |
回调地址非法。 处理建议:请检查请求体中的回调地址是否有误。 |
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是否有误。 |
409 |
100227 |
The resource is conflicted. |
资源冲突,通知类型已经被订阅。 处理建议:请检查要订阅的通知类型是否已被订阅。 |