服务端订阅

服务端订阅是通过HTTP通道,将产品下所有设备数据按订阅类型转发到指定的HTTP地址。服务端订阅适用于单纯接收设备数据的场景。可快速地获取设备消息,无消息过滤功能,功能较单一但简单易用且高效。目前支持的订阅类型消息有:数据上报消息、数据变化通知、控制响应通知、上下线通知。

操作说明

1. “产品开发”页面,点击单个产品,点击“服务端订阅”;
2. 在“服务端订阅”中,点击“添加订阅”按钮;
3. 在“创建服务端订阅”的编辑框中,选择要订阅的类型、填写订阅的名称、订阅方URL地址;
4. 点击确定。

【说明】

订阅方URL地址: 数据流转的目的地

【注意】

平台以HTTP POST请求形式向第三方平台URL地址推送数据,第三方平台接收到数据后需要返回HTTP状态码 2xx,否则IoT OS会认为此次推送无效并重试,最多重试3次。且等待客户端的响应都设有时限(目前是5秒),在规定时限内没有收到响应会认为发送失败,连续失败100次(包括重试次数,并且计数规则是根据URL计算。相同URL下的不同规则都会被计算在内。)则会认为第三方地址不可用,推送服务将停止,对应订阅或者规则状态显示为"未启用"。建议第三方应用接收程序接收到数据时,先做数据缓存,再做业务逻辑处理。 其中请求的Content-Typeapplication/json

订阅类型:

下述为用户通过HTTP通道获取到的不同订阅类型下的数据。

设备上报消息

指产品下的设备进行上报消息(devSend)时通知给订阅端的消息。

{
    "iot_sys_devId": "8237948938472348",
    "iot_sys_pk": "fb4327cdcfe5432e82ad217572bd8ebd",
    "iot_sys_req": "{\"action\":\"devSend\",\"msgId\":0,\"pk\":\"fb4327cdcfe5432e82ad217572bd8ebd\",\"devId\":\"8237948938472348\",\"data\":{\"cmd\":\"reportPower\",\"params\":{\"power\":0}}}",
    "iot_sys_params": {
        "power": 0
    },
    "iot_sys_event": "devSend",
    "iot_sys_cmd": "reportPower",
    "iot_sys_raw": "{\"action\":\"devSend\",\"msgId\":0,\"pk\":\"fb4327cdcfe5432e82ad217572bd8ebd\",\"devId\":\"8237948938472348\",\"data\":{\"cmd\":\"reportPower\",\"params\":{\"power\":0}}}",
    "iot_sys_resp": "{\"action\":\"devSendResp\",\"msgId\":0,\"pk\":\"fb4327cdcfe5432e82ad217572bd8ebd\",\"devId\":\"8237948938472348\",\"code\":0,\"desc\":\"success\"}",
    "iot_sys_timestamp": 1576467306280
}
参数 类型 说明
iot_sys_devId String 设备ID
iot_sys_pk String 设备所属产品pk
iot_sys_req String 解析后的KLink数据
iot_sys_params object 所属产品定义的参数
iot_sys_event String 事件(devSend\devLogin等事件)
iot_sys_cmd String 所属产品定义的命令
iot_sys_raw String 原始请求数据
iot_sys_resp String 云端针对该事件的数据回复
iot_sys_timestamp number 请求时间(ms)

数据变化通知

指产品下的设备参数值发生变化时通知给订阅端的消息

{
    "iot_sys_devId": "8237948938472348",
    "iot_sys_pk": "fb4327cdcfe5432e82ad217572bd8ebd",
    "iot_sys_req": "{\"action\":\"devSend\",\"msgId\":0,\"pk\":\"fb4327cdcfe5432e82ad217572bd8ebd\",\"devId\":\"8237948938472348\",\"data\":{\"cmd\":\"reportPower\",\"params\":{\"power\":0}}}",
    "iot_sys_event": "dataChanged",
    "iot_sys_raw": "{\"last\":{\"pk\":\"fb4327cdcfe5432e82ad217572bd8ebd\",\"devId\":\"8237948938472348\",\"timestamp\":1576482068202,\"data\":{\"cmd\":\"reportPower\",\"params\":{\"hum\":23,\"light\":50,\"power\":1}}},\"current\":{\"pk\":\"fb4327cdcfe5432e82ad217572bd8ebd\",\"devId\":\"8237948938472348\",\"timestamp\":1576482072514,\"data\":{\"cmd\":\"reportPower\",\"params\":{\"power\":0}}},\"changed\":true}",
    "iot_sys_timestamp": 1576482072526,
    "iot_sys_snapshot": "{last=Snapshot(pk=fb4327cdcfe5432e82ad217572bd8ebd, devId=8237948938472348, timestamp=1576482068202, data=ModelData(cmd=reportPower, params={hum=23, light=50, power=1})), current=Snapshot(pk=fb4327cdcfe5432e82ad217572bd8ebd, devId=8237948938472348, timestamp=1576482072514, data=ModelData(cmd=reportPower, params={power=0}))}"
}
参数 类型 说明
iot_sys_devId String 设备ID
iot_sys_pk String 设备所属产品pk
iot_sys_req String 解析后的KLink数据
iot_sys_event String 事件
iot_sys_raw String 原始请求数据
iot_sys_resp String 云端针对该事件的数据回复
iot_sys_timestamp number 请求时间(ms)
iot_sys_snapshot object 设备快照

【注意】

设备快照中last字段表示数据改变前一次的快照,current字段表示数据改变时的快照。

如果是第一次上报数据,last 为 null。

控制响应通知

指产品下的设备对下发命令应答时通知给订阅端消息。

{
    "iot_sys_devId": "10003",
    "iot_sys_pk": "da47c27d593e4ecfb2e8f031875463d1",
    "iot_sys_event": "cloudSendResp",
    "iot_sys_raw":"{\n\"action\":\"cloudSendResp\",\n\"pk\":\"da47c27d593e4ecfb2e8f031875463d1\",\n\"devId\":\"10003\",\n\"msgId\":1,\n\"code\":0\n}\n",
    "iot_sys_timestamp": 1573111224907
}
参数 类型 说明
iot_sys_devId String 设备ID
iot_sys_pk String 设备所属产品pk
iot_sys_req String 解析后的KLink数据
iot_sys_event String 事件
iot_sys_raw String 原始请求数据
iot_sys_timestamp number 请求时间(ms)

上下线通知

产品下的设备发生上下线状态变化时通知给订阅端的消息。

【上线通知】:

{
    "iot_sys_devId": "8237948938472348",
    "iot_sys_pk": "fb4327cdcfe5432e82ad217572bd8ebd",
    "iot_sys_req": "{\"action\":\"devLogin\",\"msgId\":0,\"random\":\"init\",\"hashMethod\":\"HmacSHA1\",\"sign\":\"4f6a95a54bad27a874132929781ff4fea1748b7c\"}",
    "iot_sys_event": "devLogin",
    "iot_sys_raw": "{\"action\":\"devLogin\",\"msgId\":0,\"random\":\"init\",\"hashMethod\":\"HmacSHA1\",\"sign\":\"4f6a95a54bad27a874132929781ff4fea1748b7c\"}",
    "iot_sys_resp": "{\"action\":\"devLoginResp\",\"msgId\":0,\"pk\":\"fb4327cdcfe5432e82ad217572bd8ebd\",\"devId\":\"8237948938472348\",\"code\":0,\"desc\":\"success, \"}",
    "iot_sys_timestamp": 1576468460670
}
参数 类型 说明
iot_sys_devId String 设备ID
iot_sys_pk String 设备所属产品pk
iot_sys_req String 解析后的KLink数据
iot_sys_event String 事件
iot_sys_raw String 原始请求数据
iot_sys_resp String 云端针对该事件的数据回复
iot_sys_timestamp number 请求时间(ms)

【离线通知】:

{
    "iot_sys_devId": "8237948938472348",
    "iot_sys_pk": "fb4327cdcfe5432e82ad217572bd8ebd",
    "iot_sys_req": "{\"action\":\"devLogout\",\"msgId\":0,\"reason\":\"device send disconnect\"}",
    "iot_sys_event": "devLogout",
    "iot_sys_raw": "{\"action\":\"devLogout\",\"msgId\":0,\"reason\":\"device send disconnect\"}",
    "iot_sys_resp": "{\"action\":\"devLogoutResp\",\"msgId\":0,\"pk\":\"fb4327cdcfe5432e82ad217572bd8ebd\",\"devId\":\"8237948938472348\",\"code\":0,\"desc\":\"success\"}",
    "iot_sys_timestamp": 1576468459769
}
字段 说明
iot_sys_devId 设备ID
iot_sys_pk 设备所属产品pk
iot_sys_req 解析后的KLink数据
iot_sys_event 事件
iot_sys_raw 原始请求数据
iot_sys_resp 云端针对该事件的数据回复
iot_sys_timestamp 请求时间(ms)

results matching ""

    No results matching ""

    results matching ""

      No results matching ""