Skip to content

数据接口

数据接口是第三方向平台调用。第三方向平台发送 MQTT 消息,平台给第三方响应 MQTT 接口数据。

  • 请求主题: /openapi/data/request/{appKey}
  • 响应主题: /openapi/data/response/{appKey}

3.1 查询区域列表

该接口返回所有区域。

方法名(method): queryRegions

请求示例:

json
{
  "messageId": "uuid-1234-5678-abcd",
  "appKey": "ABC123456",
  "method": "queryRegions",
  "data": {}
}

响应示例:

json
{
  "messageId": "uuid-1234-5678-abcd",
  "appKey": "ABC123456",
  "method": "queryRegions",
  "data": {
    "code": 200,
    "message": "success",
    "data": [
      {
        "regionId": 1,
        "regionName": "一级区域",
        "parentId": 0,
        "parentName": null,
        "remark": "备注"
      }
    ],
    "timestamp": 1732694400000
  }
}

响应参数:

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

3.2 查询设备列表

方法名(method): queryDeviceList

请求示例:

json
{
  "messageId": "uuid-1234-5678-abcd",
  "appKey": "ABC123456",
  "method": "queryDeviceList",
  "data": {
    "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
{
  "messageId": "uuid-1234-5678-abcd",
  "appKey": "ABC123456",
  "method": "queryDeviceList",
  "data": {
    "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 查询单个设备信息

方法名(method): queryDevice

请求示例:

json
{
  "messageId": "uuid-1234-5678-abcd",
  "appKey": "ABC123456",
  "method": "queryDevice",
  "data": {
    "deviceId": 1
  }
}

响应示例:

json
{
  "messageId": "uuid-1234-5678-abcd",
  "appKey": "ABC123456",
  "method": "queryDevice",
  "data": {
    "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
  }
}

3.4 查询设备实时数据

方法名(method): queryDeviceListRealtime

请求示例:

json
{
  "messageId": "uuid-1234-5678-abcd",
  "appKey": "ABC123456",
  "method": "queryDeviceListRealtime",
  "data": {
    "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
{
  "messageId": "uuid-1234-5678-abcd",
  "appKey": "ABC123456",
  "method": "queryDeviceListRealtime",
  "data": {
    "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 查询单个设备实时数据

方法名(method): queryDeviceRealtime

请求示例:

json
{
  "messageId": "uuid-1234-5678-abcd",
  "appKey": "ABC123456",
  "method": "queryDeviceRealtime",
  "data": {
    "deviceId": 1
  }
}

响应示例:

json
{
  "messageId": "uuid-1234-5678-abcd",
  "appKey": "ABC123456",
  "method": "queryDeviceRealtime",
  "data": {
    "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 获取设备的在线状态

方法名(method): queryDeviceOnlineStatusList

请求示例:

json
{
  "messageId": "uuid-1234-5678-abcd",
  "appKey": "ABC123456",
  "method": "queryDeviceOnlineStatusList",
  "data": {
    "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
{
  "messageId": "uuid-1234-5678-abcd",
  "appKey": "ABC123456",
  "method": "queryDeviceOnlineStatusList",
  "data": {
    "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 查询实时告警数据

方法名(method): queryRealtimeAlarms

请求示例:

json
{
  "messageId": "uuid-1234-5678-abcd",
  "appKey": "ABC123456",
  "method": "queryRealtimeAlarms",
  "data": {
    "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
{
  "messageId": "uuid-1234-5678-abcd",
  "appKey": "ABC123456",
  "method": "queryRealtimeAlarms",
  "data": {
    "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 查询单个设备历史告警

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

方法名(method): queryDeviceHistoryAlarms

请求示例:

json
{
  "messageId": "uuid-1234-5678-abcd",
  "appKey": "ABC123456",
  "method": "queryDeviceHistoryAlarms",
  "data": {
    "deviceId": 1,
    "businessId": 1,
    "page": 1,
    "size": 10
  }
}

请求参数:

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

响应示例:

json
{
  "messageId": "uuid-1234-5678-abcd",
  "appKey": "ABC123456",
  "method": "queryDeviceHistoryAlarms",
  "data": {
    "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 查询产品列表

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

方法名(method): queryProductList

请求示例:

json
{
  "messageId": "uuid-1234-5678-abcd",
  "appKey": "ABC123456",
  "method": "queryProductList",
  "data": {}
}

请求参数:

响应示例:

json
{
  "messageId": "uuid-1234-5678-abcd",
  "appKey": "ABC123456",
  "method": "queryProductList",
  "data": {
    "code": 200,
    "message": "success",
    "timestamp": 1764749697528,
    "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
          }
        ]
      }
    ]
  }
}

响应参数:

参数数据类型示例描述
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枚举值定义