Skip to content

数据接口

数据接口是第三方向平台调用,所以需要携带认证方式参数,URL 当中需要携带 ?appKey=xxx&timestamp=xxx&signature=xxx

数据接口可以使用 API 在线文档 进行查看。

3.1 查询区域列表

返回所有区域。

请求方式: POST /openapi/query/regions

请求体参数:

响应示例:

json
{
  "code": 200,
  "message": "success",
  "data": [
    {
      "regionId": 1,
      "regionName": "一级区域",
      "parentId": 0,
      "parentName": null,
      "remark": "备注"
    }
  ],
  "timestamp": 1732694400000
}

响应参数:

参数数据类型示例描述
regionIdLong719943688798277区域 ID
regionNameString一级区域区域名称
parentIdLong719943688798270父区域 ID
parentNameString顶级区域父区域名称
remarkString备注备注

3.2 查询设备列表

请求方式: POST /openapi/query/device/list

请求体参数:

json
{
  "regionIds": [1, 2],
  "deviceIds": [1, 2],
  "businessIds": [1, 2],
  "page": 1,
  "size": 10
}

根据查询参数,查询设备列表。单页最多 1000 个设备。如果设备不多的情况,可以一次性查询全部。

请求参数:

参数数据类型示例必填描述
regionIds整型 List[1, 2]区域 ID 集合,可以单个
deviceIds整型 List[1, 2]设备 ID 集合,可以单个
businessIds整型 List[1, 2]行业 ID 集合,可以单个
pageInteger1分页参数
sizeInteger10分页参数

响应示例:

json
{
  "code": 200,
  "message": "success",
  "data": [
    {
      "deviceId": 123,
      "businessId": "IMEI123456",
      "deviceName": "设备 001",
      "productId": 1,
      "productName": "4G 终端",
      "regionId": 1,
      "regionName": "一级区域",
      "onlineStatus": 1,
      "deviceStatus": 0,
      "activeTime": "2025-01-01 10:00:00",
      "lastOnlineTime": "2025-11-27 16:00:00",
      "remark": "备注"
    }
  ],
  "timestamp": 1732694400000
}

响应参数:

参数数据类型示例描述
deviceIdLong719943688798277设备 ID
businessIdStringIMEI123456行业 ID
deviceNameString设备 001设备名称
productIdLong719943688798271产品 ID
productNameString4G 终端产品名称
regionIdLong719943688795245区域 ID
regionNameString一级区域区域名称
onlineStatusInteger0在线状态,0-在线,1-离线
alarmStatusInteger0告警状态,0-正常,1-告警
activeTimeString2025-01-01 14:00:00激活时间
offlineTimeString2025-01-01 14:00:00离线时间,如果设备在线,为空串
remarkString备注备注

3.3 查询单个设备信息

请求方式: GET /openapi/query/device/{deviceId}

路径参数: deviceId — 设备 ID

响应示例: 同"查询设备列表"中的单个设备对象。

3.4 查询设备实时数据

请求方式: POST /openapi/query/device/list/realtime

请求体参数:

json
{
  "regionIds": [1, 2],
  "deviceIds": [1, 2],
  "businessIds": [1, 2],
  "page": 1,
  "size": 10
}

根据查询参数,返回单个或者多个设备的实时数据。单页最多 1000 个设备。如果设备不多的情况,可以一次性查询全部。

请求参数:

参数数据类型示例必填描述
regionIds整型 List[1, 2]区域 ID 集合,可以单个
deviceIds整型 List[1, 2]设备 ID 集合,可以单个
businessIds整型 List[1, 2]行业 ID 集合,可以单个
pageInteger1分页参数
sizeInteger10分页参数

响应示例:

json
{
  "code": 200,
  "message": "success",
  "data": {
    "deviceId": 123,
    "deviceName": "设备 001",
    "businessId": "IMEI123456",
    "regionId": 1,
    "regionName": "一级区域",
    "onlineStatus": 1,
    "metrics": [
      {
        "meteId": "1555",
        "meteName": "温度",
        "value": "25.5",
        "sValue": "25.5",
        "unit": "℃",
        "time": "2024-11-27 16:00:00"
      },
      {
        "meteId": "12125",
        "meteName": "湿度",
        "value": "60",
        "sValue": "60",
        "unit": "%",
        "time": "2024-11-27 16:00:00"
      }
    ],
    "timestamp": 1732694400000
  },
  "timestamp": 1732694400000
}

响应参数:

参数数据类型示例描述
deviceIdLong719943688798277设备 ID
businessIdStringIMEI123456行业 ID
deviceNameString设备 001设备名称
productIdLong719943688798271产品 ID
productNameString产品名称产品名称
regionIdLong719943688795245区域 ID
regionNameString区域名称区域名称
onlineStatusInteger0在线状态,0-在线,1-离线
metricsList属性量列表
├─ meteIdString1855521量 ID
├─ meteNameString温度量名称
├─ valueString26.5实时值
├─ unitString单位
├─ timeString2025-01-01 14:00:00时间
└─ sValueString26.5翻译之后的实时值。枚举类型为翻译后的值,字符串类型与 value 等值

3.5 查询单个设备实时数据

请求方式: GET /openapi/query/device/realtime/{deviceId}

路径参数: deviceId — 设备 ID

响应示例:

json
{
  "code": 200,
  "message": "success",
  "data": {
    "deviceId": 123,
    "deviceName": "设备 001",
    "businessId": "IMEI123456",
    "regionId": 1,
    "regionName": "一级区域",
    "onlineStatus": 1,
    "metrics": [
      {
        "meteId": "1555",
        "meteName": "温度",
        "value": "25.5",
        "sValue": "25.5",
        "unit": "℃",
        "time": "2024-11-27 16:00:00"
      },
      {
        "meteId": "12125",
        "meteName": "湿度",
        "value": "60",
        "unit": "%",
        "time": "2024-11-27 16:00:00"
      }
    ]
  },
  "timestamp": 1732694400000
}

响应参数:3.4 查询设备实时数据

3.6 获取设备的在线状态

请求方式: POST /openapi/query/device/onlinestatus/list

请求体参数:

json
{
  "regionIds": [1, 2],
  "deviceIds": [1, 2],
  "businessIds": [1, 2],
  "page": 1,
  "size": 10
}

根据查询参数,返回单个或者多个设备的在线状态。单页最多 1000 个设备。如果设备不多的情况,可以一次性查询全部。

请求参数:

参数数据类型示例必填描述
regionIds整型 List[1, 2]区域 ID 集合,可以单个
deviceIds整型 List[1, 2]设备 ID 集合,可以单个
businessIds整型 List[1, 2]行业 ID 集合,可以单个
pageInteger1分页参数
sizeInteger10分页参数

响应示例:

json
{
  "code": 200,
  "message": "success",
  "data": {
    "deviceId": 123,
    "deviceName": "设备 001",
    "businessId": "IMEI123456",
    "onlineStatus": 1
  },
  "timestamp": 1732694400000
}

响应参数:

参数数据类型示例描述
deviceIdLong719943688798277设备 ID
businessIdStringIMEI123456行业 ID
deviceNameString设备 001设备名称
onlineStatusInteger0设备状态,0-在线,1-离线

3.7 查询实时告警数据

请求方式: POST /openapi/query/device/alarm/list

请求体参数:

json
{
  "regionIds": [1, 2],
  "deviceIds": [1, 2],
  "businessIds": [1, 2]
}

根据查询参数,返回单个或者多个设备的实时告警。此接口不分页,一次查询全部实时告警。

请求参数:

参数数据类型示例必填描述
regionIds整型 List[1, 2]区域 ID 集合,可以单个
deviceIds整型 List[1, 2]设备 ID 集合,可以单个
businessIds整型 List[1, 2]行业 ID 集合,可以单个

响应示例:

json
{
  "code": 200,
  "message": "success",
  "data": [
    {
      "alarmId": 456,
      "deviceId": 123,
      "deviceName": "设备 001",
      "businessId": "IMEI123456",
      "regionId": 1,
      "regionName": "一级区域",
      "meteId": "80015551",
      "meteName": "压力过低",
      "level": 1,
      "value": "155",
      "sValue": "155",
      "alarmTime": "2025-11-27 16:00:00"
    }
  ],
  "timestamp": 1732694400000
}

响应参数:

参数数据类型示例描述
alarmIdLong15454521告警 ID,告警恢复时以此 ID 为主键
deviceIdLong719943688798277设备 ID
businessIdStringIMEI123456行业 ID
deviceNameString设备 001设备名称
regionIdLong719943688795245区域 ID
regionNameString一级区域区域名称
meteIdString1545451告警量 ID
meteNameString温度过低告警量名称
levelInteger1告警等级 1 2 3 4
valueString22.5实时值
sValueString22.5翻译之后的实时值。枚举类型为翻译后的值,字符串类型与 value 等值
alarmTimeString2025-11-27 16:00:00告警时间

3.8 查询单个设备历史告警

历史告警较多,所以单个设备查询历史告警。

请求方式: POST /openapi/query/device/alarms/history

请求体参数:

json
{
  "deviceId": 1,
  "businessId": 1,
  "page": 1,
  "size": 10
}

请求参数:

参数数据类型示例必填描述
deviceIdLong1设备 ID
businessIdLong1行业 ID,行业 ID 和设备 ID 必填其一
pageInteger1分页参数
sizeInteger10分页参数

响应示例:

json
{
  "code": 200,
  "message": "success",
  "data": [
    {
      "alarmId": 456,
      "deviceId": 123,
      "deviceName": "设备 001",
      "businessId": "IMEI123456",
      "regionId": 1,
      "regionName": "一级区域",
      "meteId": "80015551",
      "meteName": "压力过低",
      "level": 1,
      "value": "155",
      "sValue": "155",
      "alarmTime": "2025-11-27 16:00:00",
      "state": "END",
      "closeTime": "2025-11-27 18:00:00"
    },
    {
      "alarmId": 457,
      "deviceId": 123,
      "deviceName": "设备 001",
      "businessId": "IMEI123456",
      "regionId": 1,
      "regionName": "一级区域",
      "meteId": "80015551",
      "meteName": "压力过低",
      "level": 1,
      "value": "155",
      "sValue": "155",
      "alarmTime": "2025-11-27 16:00:00",
      "state": "BEGIN",
      "closeTime": ""
    }
  ],
  "timestamp": 1732694400000
}

响应参数:

参数数据类型示例描述
alarmIdLong15454521告警 ID,告警恢复时以此 ID 为主键
deviceIdLong719943688798277设备 ID
businessIdStringIMEI123456行业 ID
deviceNameString设备 001设备名称
regionIdLong719943688795245区域 ID
regionNameString一级区域区域名称
meteIdString1545451告警量 ID
meteNameString温度过低告警量名称
levelInteger1告警等级 1 2 3 4
valueString22.5实时值
sValueString22.5翻译之后的实时值。枚举类型为翻译后的值,字符串类型与 value 等值
alarmTimeString2025-11-27 16:00:00告警时间
stateStringBEGINBEGIN 是告警中,END 是已关闭
closeTimeString2025-11-27 18:00:00恢复时间,如果是 END 才会有 closeTime

3.9 查询产品列表

查看产品列表,产品包含物模型。

请求方式: GET /openapi/query/product/list

请求参数:

响应示例:

json
{
  "code": 200,
  "message": "success",
  "data": [
    {
      "productId": 744000000001000,
      "productName": "门磁",
      "onlinePeriod": 1440,
      "thingModel": [
        {
          "meteId": "1",
          "meteName": "门磁状态",
          "unit": "",
          "dataType": 3,
          "meteType": 0,
          "enumValues": [
            { "name": "门磁关门", "value": "0" },
            { "name": "门磁打开", "value": "1" }
          ],
          "level": 0,
          "decimalPoint": 1
        },
        {
          "meteId": "2",
          "meteName": "电池电压",
          "unit": "",
          "dataType": 2,
          "meteType": 0,
          "level": 0,
          "decimalPoint": 1
        }
      ]
    }
  ],
  "timestamp": 1764749697528
}

响应参数:

参数数据类型示例描述
productIdLong744000000001000产品 ID
productNameString门磁产品名称
onlinePeriodInteger1440在线周期(分钟)
thingModelList物模型列表
├─ meteIdString1量 ID
├─ meteNameString门磁状态量名称
├─ unitString单位
├─ dataTypeInteger3数据类型:0-字符串,1-整型,2-浮点,3-枚举
├─ meteTypeInteger0量类型:0-采集量,1-告警量,2-控制量,3-配置量,4-阈值量
├─ levelInteger1告警等级 1 2 3 4
├─ decimalPointInteger2小数点位数 1-4 位
└─ enumValuesList枚举值定义