历史事件集成

如果使用非透传模式,第三方系统需要按照EnOS 云端中定义的标准格式(当前为JSON)生成数据,然后上报数据。

上行

  • 请求TOPIC: sys/${productKey}/integration/event/post

  • 响应TOPIC: sys/${productKey}/integration/event/post_reply

请求数据格式

{
    "id":"123",
    "version":"1.0",
    "params":[
        {
            "deviceKey":"device1",
            "events":{
                "eventId1":{
                    "alarm":9,
                    "level":3
                }
            },
            "time":123456
        },
        {
            "deviceKey":"device2",
            "events":{
                "eventId2":{
                    "result":"ok"
                }
            },
            "time":123456
        }
    ],
    "method":"integration.event.post"
}

响应数据格式

{
    "id": "123",
    "code": 200,
    "data": {}
}

参数说明

参数

类型

是否必需

描述

id

String

可选

消息 ID 号,保留值

version

String

必需

协议版本号,目前协议版本1.0

params

Object

必需

设备事件上报的参数

deviceKey

String

必需

设备的device key

events

Object

必需

需上报的事件的标识符的列表

eventId1

String

必需

需上报的事件的标识符。在本例中,为参数 eventId1**和**eventId2。此处设置的格式必须与服务的数据类型匹配。例如,当此参数的数据类型在模型中设置为struct时,此处的格式必须与模型中保持一致,此示例中为 alarmlevel

alarm

Integer

可选

要上报的事件的成员的标识符。在本例中,为参数 alarm。其值的格式必须与服务的数据类型匹配。例如,当此参数的数据类型在模型中设置为int时,其值格式必须与模型中保持一致,为 9

level

Integer

可选

要上报的事件的成员的标识符。在本例中,为参数 level。其值的格式必须与服务的数据类型匹配。例如,当此参数的数据类型在模型中设置为int时,其值格式必须与模型中保持一致,为 3

result

String

可选

要上报的事件的成员的标识符。在本例中,为参数 result。其值的格式必须与服务的数据类型匹配。例如,当此参数的数据类型在模型中设置为string时,其值格式必须与模型中保持一致,为 OK

time

String

必需

事件的时间戳。

method

String

可选

请求方法

code

Integer

必需

结果返回码,200代表请求成功执行

data

String

可选

返回的详细信息 。JSON格式

结果返回码

返回码

错误信息

释义

1202

Failed to decode payload

消息体的有效负载信息解析错误。

1204

Model validate failed

数据格式不符合模型定义。

1220

Payload format error

消息体格式错误。

1250

Unknown method

消息体方法参数无效。

1257

Device not found

设备不存在。

1274

RPC calls are too frequent and have been flow-restricted

RPC 调用过于频繁。