Open API


Open API 节点通过调用 EnOS open API 接口访问系统内的资源。有关 EnOS open API 的更多信息,参见 有关 EnOS API

节点类型

Action。

输入和输出能力

该节点具有多个入口点和 1 个出口点。输入可以是任何格式。


输出是来自 API 接口返回的数据,通常为 JSON 格式。


节点属性

../../_images/open_api.png


名称

该节点的名称。


请求方法

该节点向 API 接口发出请求时所用的方法。支持的请求方法有 GETPOSTDELETEPATCH


API URL

调用 API 接口的 URL。支持通过表达式 ${msg.XXX} 引用上游节点提供的 URL。


AccessKey

API 接口的 AccessKey。


SecretKey

API 接口的 SecretKey。


Params 配置

以 “?key=value” 的形式附加到请求 URL 的参数。


Body

选择 POSTPATCH 作为请求方法时,可以将需要提交的数据放在 Body 中。数据类型不受限制,通常为 JSON 格式。API 接口将根据 body 中的参数返回内容,并放在输出 msg 中。


超时

该节点的请求超时时间。单位为秒,默认值为 30。如果该节点在超时时间内未收到来自服务器的任何响应,请求将会超时。可用的最短超时时间为 1 秒。


描述

该节点的描述。


示例

输入示例

{
    "externalId":"externalId",
    "timestamp":24214324324,
    "measurepoints":{
        "speed":32,
        "heat":40
    }
}


假设一个查找已连接设备信息的 Open API 节点具有以下配置:

字段
名称 Open API
请求方法 GET
API URL https://ag-cn5.eniot.io/connect-service/v2.1/devices
Params action: search
orgId: o15475450989191
assetId: NhrKJecm
超时 10


则相当于发出如下请求:

GET https://ag-cn5.eniot.io/connect-service/v2.1/devices?action=search&orgId=o15475450989191&assetId=NhrKJecm


输出示例

{
  "MetaData": {},
  "Body": {
    "code": 0,
    "msg": "OK",
    "requestId": "c8c79cfe-6a54-496f-8f91-61bea3c97a53",
    "data": [
      {
        "orgId": "o15475450989191",
        "assetId": "pH125j6p",
        "modelId": "sq0329",
        "modelIdPath": "/sq0329",
        "productKey": "9z7q93kR",
        "productName": {
          "defaultValue": "sq0329",
          "i18nValue": {}
        },
        "productType": "Device",
        "dataFormat": "Json",
        "deviceKey": "v8lpJN2bwu",
        "deviceName": {
          "defaultValue": "device01",
          "i18nValue": {}
        },
        "deviceSecret": "DeviceSecretDemo1",
        "deviceDesc": "",
        "timezone": "+08:00",
        "deviceAttributes": {},
        "deviceTags": {},
        "mirrorSource": null,
        "firmwareVersion": null,
        "createTime": 1649668259178,
        "status": "online",
        "activeTime": 1649668289281,
        "lastOnlineTime": 1649670014408,
        "lastOfflineTime": 1649669913216,
        "measurepointLastUpdate": null,
        "eventLastUpdate": null,
        "attributeLastUpdate": null,
        "featureLastUpdate": null
      }
    ],
    "pagination": {
      "sortedBy": null,
      "pageNo": 1,
      "pageSize": 1,
      "totalSize": 100
    }
  }
}