开放api
大约 10 分钟
物联网
Base URLs:
Authentication
- HTTP Authentication, scheme: bearer
对外开放api
GET 获取设备类型
GET /openApi/v1/device_type
获取设备类型
请求参数
| 名称 | 位置 | 类型 | 必选 | 说明 |
|---|---|---|---|---|
| Authorization | header | string | 否 | none |
返回示例
{
"code": 200,
"message": "请求成功",
"data": [
{
"device_type": "equip_emeter",
"device_type_name": "电表"
}
]
}{
"code": 201,
"message": "服务异常"
}{
"code": 200,
"message": "请求成功",
"data": [
{
"device_type": "equip_emeter",
"device_type_name": "电表"
}
]
}返回结果
| 状态码 | 状态码含义 | 说明 | 数据模型 |
|---|---|---|---|
| 200 | OK | none | Inline |
返回数据结构
状态码 200
| 名称 | 类型 | 必选 | 约束 | 中文名 | 说明 |
|---|---|---|---|---|---|
| » code | integer | true | none | 200为成功,其他为异常 | |
| » message | string | true | none | none | |
| » data | [object] | true | none | none | |
| »» device_type | string | false | none | none | |
| »» device_type_name | string | false | none | none |
GET 获取产品列表
GET /openApi/product/list
请求参数
| 名称 | 位置 | 类型 | 必选 | 说明 |
|---|---|---|---|---|
| page | query | string | 否 | 页数 |
| page_size | query | string | 否 | 页码 |
| search_key | query | string | 否 | 模糊搜索 |
| Authorization | header | string | 否 | none |
返回示例
200 Response
{
"code": 200,
"message": "请求成功",
"data": {
"list": [
{
"product_id": 1,
"name": "产品名称",
"table_name": "equip_emeter",
"network_type": 1,
"type": 1,
"desc": "产品描述",
"code": "产品编码",
"publish_status": 1
}
],
"total": 100
}
}返回结果
| 状态码 | 状态码含义 | 说明 | 数据模型 |
|---|---|---|---|
| 200 | OK | none | Inline |
返回数据结构
状态码 200
| 名称 | 类型 | 必选 | 约束 | 中文名 | 说明 |
|---|---|---|---|---|---|
| » code | integer | true | none | none | |
| » message | string | true | none | none | |
| » data | object | true | none | none | |
| »» list | [object] | true | none | none | |
| »»» product_id | integer | false | none | 产品id | none |
| »»» name | string | false | none | 产品名称 | none |
| »»» table_name | string | false | none | 物模型标识符 | none |
| »»» network_type | integer | false | none | 网络类型 | none |
| »»» type | integer | false | none | 节点类型 1.直连设备 具有IP地址,可直接连接物联网平台,且不能挂载子设备。2.网关子设备 不直接连接物联网平台,而是通过网关设备接入物联网平台的设备。 3.网关设备 可以挂载子设备的直连设备。网关具有子设备管理模块,可以维持子设备的拓扑关系,将与子设备的拓扑关系同步到云端 | none |
| »»» desc | string | false | none | 描述 | none |
| »»» code | string | false | none | 产品唯一编码 | none |
| »»» publish_status | integer | false | none | 发布状态 1.未发布 2.已发布 | none |
| »» total | integer | true | none | 条数 | none |
GET 获取设备列表
GET /openApi/v1/device_list
请求参数
| 名称 | 位置 | 类型 | 必选 | 说明 |
|---|---|---|---|---|
| page | query | integer | 是 | 页码 |
| page_size | query | integer | 是 | 页码尺寸 |
| device_type | query | string | 否 | 设备类型 |
| device_sn | query | string | 否 | 设备sn号 |
| product_id | query | integer | 否 | 产品id |
| station_id | query | string | 否 | 站点id |
| Authorization | header | string | 否 | none |
返回示例
200 Response
{
"code": 200,
"message": "请求成功",
"data": [
{
"device_id": 1323,
"sn": "13232",
"device_type": "equip_emeter",
"device_type_desc": "电表",
"product_id": 1323,
"state": 0,
"product_name": "产品名称"
}
]
}返回结果
| 状态码 | 状态码含义 | 说明 | 数据模型 |
|---|---|---|---|
| 200 | OK | none | Inline |
返回数据结构
状态码 200
| 名称 | 类型 | 必选 | 约束 | 中文名 | 说明 |
|---|---|---|---|---|---|
| » code | integer | true | none | none | |
| » message | string | true | none | none | |
| » data | [object] | true | none | none | |
| »» device_id | integer | false | none | 设备id | |
| »» sn | string | false | none | 设备sn | |
| »» device_type | string | false | none | 设备类型 | |
| »» device_type_desc | string | false | none | 设备类型描述 | |
| »» product_id | integer | false | none | 产品id | |
| »» product_name | string | false | none | 产品名称 | |
| »» state | integer | false | none | 离线在线状态 | |
| »» lat | number | true | none | 经度 | |
| »» lng | number | true | none | 纬度 |
GET 获取设备详情
GET /openApi/v1/device_detail
请求参数
| 名称 | 位置 | 类型 | 必选 | 说明 |
|---|---|---|---|---|
| device_sn | query | string | 否 | 设备sn号 |
| Authorization | header | string | 否 | none |
返回示例
200 Response
{
"code": 200,
"message": "请求成功",
"data": {
"detail": {
"device_id": 1323,
"sn": "13232",
"device_type": "equip_emeter",
"device_type_desc": "电表",
"product_id": 1323,
"state": 0,
"product_name": "产品名称"
}
}
}返回结果
| 状态码 | 状态码含义 | 说明 | 数据模型 |
|---|---|---|---|
| 200 | OK | none | Inline |
返回数据结构
状态码 200
| 名称 | 类型 | 必选 | 约束 | 中文名 | 说明 |
|---|---|---|---|---|---|
| » code | integer | true | none | none | |
| » message | string | true | none | none | |
| » data | object | true | none | none | |
| »» detail | object | true | none | none | |
| »»» device_id | integer | true | none | none | |
| »»» sn | string | true | none | none | |
| »»» device_type | string | true | none | none | |
| »»» device_type_desc | string | true | none | none | |
| »»» product_id | integer | true | none | none | |
| »»» state | integer | true | none | none | |
| »»» product_name | string | true | none | none | |
| »»» lat | string | true | none | 经度 | none |
| »»» lng | string | true | none | 纬度 | none |
GET 设备实时数据
GET /openApi/v1/device_realData
请求参数
| 名称 | 位置 | 类型 | 必选 | 说明 |
|---|---|---|---|---|
| sns | query | array[string] | 否 | none |
| Authorization | header | string | 否 | none |
返回示例
200 Response
{
"code": 0,
"message": "string",
"data": {
"list": [
{
"sn": "string",
"real_data": "string"
}
]
}
}返回结果
| 状态码 | 状态码含义 | 说明 | 数据模型 |
|---|---|---|---|
| 200 | OK | none | Inline |
返回数据结构
状态码 200
| 名称 | 类型 | 必选 | 约束 | 中文名 | 说明 |
|---|---|---|---|---|---|
| » code | integer | true | none | none | |
| » message | string | true | none | none | |
| » data | object | true | none | none | |
| »» list | [object] | true | none | none | |
| »»» sn | string | true | none | 设备sn | |
| »»» real_data | any | true | none | 实时数据 |
oneOf
| 名称 | 类型 | 必选 | 约束 | 中文名 | 说明 |
|---|---|---|---|---|---|
| »»»» anonymous | string | false | none | none |
xor
| 名称 | 类型 | 必选 | 约束 | 中文名 | 说明 |
|---|---|---|---|---|---|
| »»»» anonymous | integer | false | none | none |
xor
| 名称 | 类型 | 必选 | 约束 | 中文名 | 说明 |
|---|---|---|---|---|---|
| »»»» anonymous | boolean | false | none | none |
xor
| 名称 | 类型 | 必选 | 约束 | 中文名 | 说明 |
|---|---|---|---|---|---|
| »»»» anonymous | array | false | none | none |
xor
| 名称 | 类型 | 必选 | 约束 | 中文名 | 说明 |
|---|---|---|---|---|---|
| »»»» anonymous | object | false | none | none |
xor
| 名称 | 类型 | 必选 | 约束 | 中文名 | 说明 |
|---|---|---|---|---|---|
| »»»» anonymous | number | false | none | none |
GET 设备历史数据
GET /openApi/v1/device_hisData
请求参数
| 名称 | 位置 | 类型 | 必选 | 说明 |
|---|---|---|---|---|
| sn | query | string | 否 | none |
| field | query | string | 否 | none |
| start_time | query | string | 否 | none |
| end_time | query | string | 否 | none |
| every | query | string | 否 | none |
| Authorization | header | string | 否 | none |
返回示例
200 Response
{
"code": "string",
"message": "string",
"data": {
"list": [
{
"time": "string",
"value": "string"
}
]
}
}返回结果
| 状态码 | 状态码含义 | 说明 | 数据模型 |
|---|---|---|---|
| 200 | OK | none | Inline |
返回数据结构
状态码 200
| 名称 | 类型 | 必选 | 约束 | 中文名 | 说明 |
|---|---|---|---|---|---|
| » code | string | true | none | none | |
| » message | string | true | none | none | |
| » data | object | true | none | none | |
| »» list | [object] | true | none | none | |
| »»» time | string | true | none | none | |
| »»» value | any | true | none | none |
oneOf
| 名称 | 类型 | 必选 | 约束 | 中文名 | 说明 |
|---|---|---|---|---|---|
| »»»» anonymous | string | false | none | none |
xor
| 名称 | 类型 | 必选 | 约束 | 中文名 | 说明 |
|---|---|---|---|---|---|
| »»»» anonymous | integer | false | none | none |
xor
| 名称 | 类型 | 必选 | 约束 | 中文名 | 说明 |
|---|---|---|---|---|---|
| »»»» anonymous | boolean | false | none | none |
xor
| 名称 | 类型 | 必选 | 约束 | 中文名 | 说明 |
|---|---|---|---|---|---|
| »»»» anonymous | array | false | none | none |
xor
| 名称 | 类型 | 必选 | 约束 | 中文名 | 说明 |
|---|---|---|---|---|---|
| »»»» anonymous | object | false | none | none |
xor
| 名称 | 类型 | 必选 | 约束 | 中文名 | 说明 |
|---|---|---|---|---|---|
| »»»» anonymous | number | false | none | none |
GET 设备五分钟降采样
GET /openApi/v1/device_five_minutes_data
请求参数
| 名称 | 位置 | 类型 | 必选 | 说明 |
|---|---|---|---|---|
| start_time | query | string | 否 | none |
| end_time | query | string | 否 | none |
| sn | query | string | 否 | none |
| Authorization | header | string | 否 | none |
返回示例
200 Response
{
"code": 0,
"message": "string",
"data": {
"list": [
{
"sn": "string",
"_field": "string"
}
]
}
}返回结果
| 状态码 | 状态码含义 | 说明 | 数据模型 |
|---|---|---|---|
| 200 | OK | none | Inline |
返回数据结构
状态码 200
| 名称 | 类型 | 必选 | 约束 | 中文名 | 说明 |
|---|---|---|---|---|---|
| » code | integer | true | none | none | |
| » message | string | true | none | none | |
| » data | object | true | none | none | |
| »» list | [object] | true | none | none | |
| »»» sn | string | true | none | none | |
| »»» _field | any | true | none | 测点数据 |
oneOf
| 名称 | 类型 | 必选 | 约束 | 中文名 | 说明 |
|---|---|---|---|---|---|
| »»»» anonymous | string | false | none | none |
xor
| 名称 | 类型 | 必选 | 约束 | 中文名 | 说明 |
|---|---|---|---|---|---|
| »»»» anonymous | integer | false | none | none |
xor
| 名称 | 类型 | 必选 | 约束 | 中文名 | 说明 |
|---|---|---|---|---|---|
| »»»» anonymous | boolean | false | none | none |
xor
| 名称 | 类型 | 必选 | 约束 | 中文名 | 说明 |
|---|---|---|---|---|---|
| »»»» anonymous | array | false | none | none |
xor
| 名称 | 类型 | 必选 | 约束 | 中文名 | 说明 |
|---|---|---|---|---|---|
| »»»» anonymous | object | false | none | none |
xor
| 名称 | 类型 | 必选 | 约束 | 中文名 | 说明 |
|---|---|---|---|---|---|
| »»»» anonymous | number | false | none | none |
POST 设备属性值修改
POST /openApi/equipment/setProperty
Body 请求参数
{
"equipment_sn": "esse",
"params": {
"pfn": 63
},
"is_sync": 1,
"time_out": 30
}请求参数
| 名称 | 位置 | 类型 | 必选 | 说明 |
|---|---|---|---|---|
| Authorization | header | string | 否 | none |
| body | body | object | 否 | none |
| » equipment_sn | body | string | 是 | none |
| » params | body | object | 是 | none |
| »» pfn | body | integer | 是 | none |
| » is_sync | body | integer | 否 | 是否同步返回结果,默认为异步获取结果 |
| » time_out | body | integer | 否 | 超时时间 单位为秒,默认为30秒 |
返回示例
200 Response
{}返回结果
| 状态码 | 状态码含义 | 说明 | 数据模型 |
|---|---|---|---|
| 200 | OK | none | Inline |
返回数据结构
GET 获取设备增量值
GET /openapi/equipment/calculateIncremental
请求参数
| 名称 | 位置 | 类型 | 必选 | 说明 |
|---|---|---|---|---|
| sns[] | query | array[string] | 否 | none |
| start_time | query | string | 否 | none |
| end_time | query | string | 否 | none |
| filed | query | string | 否 | 字段 |
| every | query | string | 否 | 周期 1.小时(h) 2. 天(d) |
| Authorization | header | string | 否 | none |
返回示例
200 Response
{
"code": 200,
"message": "请求成功",
"data": {
"records": [
{
"time": "2025-04-07 00:00:00",
"value": 635440,
"diff": 0
},
{
"time": "2025-04-07 01:00:00",
"value": 635440,
"diff": 0
},
{
"time": "2025-04-07 02:00:00",
"value": 635440,
"diff": 0
},
{
"time": "2025-04-07 03:00:00",
"value": 635440,
"diff": 0
},
{
"time": "2025-04-07 04:00:00",
"value": 635440,
"diff": 0
},
{
"time": "2025-04-07 05:00:00",
"value": 635440,
"diff": 0
},
{
"time": "2025-04-07 06:00:00",
"value": 635440,
"diff": 0
},
{
"time": "2025-04-07 07:00:00",
"value": 635440,
"diff": 120
},
{
"time": "2025-04-07 08:00:00",
"value": 635560,
"diff": 200
},
{
"time": "2025-04-07 09:00:00",
"value": 635760,
"diff": 360
},
{
"time": "2025-04-07 10:00:00",
"value": 636120,
"diff": 400
},
{
"time": "2025-04-07 11:00:00",
"value": 636520,
"diff": 560
},
{
"time": "2025-04-07 12:00:00",
"value": 637080,
"diff": 680
},
{
"time": "2025-04-07 13:00:00",
"value": 637760,
"diff": 600
},
{
"time": "2025-04-07 14:00:00",
"value": 638360,
"diff": 480
},
{
"time": "2025-04-07 15:00:00",
"value": 638840,
"diff": 360
},
{
"time": "2025-04-07 16:00:00",
"value": 639200,
"diff": 280
},
{
"time": "2025-04-07 17:00:00",
"value": 639480,
"diff": 80
},
{
"time": "2025-04-07 18:00:00",
"value": 639560,
"diff": 0
},
{
"time": "2025-04-07 19:00:00",
"value": 639560,
"diff": 0
},
{
"time": "2025-04-07 20:00:00",
"value": 639560,
"diff": 0
},
{
"time": "2025-04-07 21:00:00",
"value": 639560,
"diff": 0
},
{
"time": "2025-04-07 22:00:00",
"value": 639560,
"diff": 0
},
{
"time": "2025-04-07 23:00:00",
"value": 639560,
"diff": 0
},
{
"time": "2025-04-08 00:00:00",
"value": 639560,
"diff": 0
},
{
"time": "2025-04-08 01:00:00",
"value": 639560,
"diff": 0
},
{
"time": "2025-04-08 02:00:00",
"value": 639560,
"diff": 0
},
{
"time": "2025-04-08 03:00:00",
"value": 639560,
"diff": 0
},
{
"time": "2025-04-08 04:00:00",
"value": 639560,
"diff": 0
},
{
"time": "2025-04-08 05:00:00",
"value": 639560,
"diff": 0
},
{
"time": "2025-04-08 06:00:00",
"value": 639560,
"diff": 0
},
{
"time": "2025-04-08 07:00:00",
"value": 639560,
"diff": 80
},
{
"time": "2025-04-08 08:00:00",
"value": 639640,
"diff": 80
},
{
"time": "2025-04-08 09:00:00",
"value": 639720,
"diff": 160
},
{
"time": "2025-04-08 10:00:00",
"value": 639880,
"diff": 480
},
{
"time": "2025-04-08 11:00:00",
"value": 640360,
"diff": 440
},
{
"time": "2025-04-08 12:00:00",
"value": 640800,
"diff": 640
},
{
"time": "2025-04-08 13:00:00",
"value": 641440,
"diff": 400
},
{
"time": "2025-04-08 14:00:00",
"value": 641840,
"diff": 320
},
{
"time": "2025-04-08 15:00:00",
"value": 642160,
"diff": 280
},
{
"time": "2025-04-08 16:00:00",
"value": 642440,
"diff": 80
},
{
"time": "2025-04-08 17:00:00",
"value": 642520,
"diff": 40
},
{
"time": "2025-04-08 18:00:00",
"value": 642560,
"diff": 0
},
{
"time": "2025-04-08 19:00:00",
"value": 642560,
"diff": 0
},
{
"time": "2025-04-08 20:00:00",
"value": 642560,
"diff": 0
},
{
"time": "2025-04-08 21:00:00",
"value": 642560,
"diff": 0
},
{
"time": "2025-04-08 22:00:00",
"value": 642560,
"diff": 0
},
{
"time": "2025-04-08 23:00:00",
"value": 642560,
"diff": 0
},
{
"time": "2025-04-09 00:00:00",
"value": 642560,
"diff": 0
}
],
"total_diff": 7120,
"value_diff": 7120
}
}返回结果
| 状态码 | 状态码含义 | 说明 | 数据模型 |
|---|---|---|---|
| 200 | OK | none | Inline |
返回数据结构
状态码 200
| 名称 | 类型 | 必选 | 约束 | 中文名 | 说明 |
|---|---|---|---|---|---|
| » code | integer | true | none | none | |
| » message | string | true | none | none | |
| » data | object | true | none | none | |
| »» records | [object] | true | none | none | |
| »»» time | string | true | none | none | |
| »»» value | integer | true | none | none | |
| »»» diff | integer | true | none | none | |
| »» total_diff | integer | true | none | none | |
| »» value_diff | integer | true | none | none |
GET 获取储能充电次数
GET /openapi/equipment/mutation
请求参数
| 名称 | 位置 | 类型 | 必选 | 说明 |
|---|---|---|---|---|
| sn | query | string | 否 | none |
| start_time | query | string | 否 | none |
| end_time | query | string | 否 | none |
| filed | query | string | 否 | 字段 |
| Authorization | header | string | 否 | none |
返回示例
200 Response
{
"code": 200,
"message": "请求成功",
"data": {
"total": 0
}
}返回结果
| 状态码 | 状态码含义 | 说明 | 数据模型 |
|---|---|---|---|
| 200 | OK | none | Inline |
返回数据结构
状态码 200
| 名称 | 类型 | 必选 | 约束 | 中文名 | 说明 |
|---|---|---|---|---|---|
| » code | integer | true | none | none | |
| » message | string | true | none | none | |
| » data | object | true | none | none | |
| »» total | integer | true | none | none |
POST 设备控制下发
POST /openApi/equipment/setControl
Body 请求参数
{
"equipment_sn": "esse",
"params": {
"pfn": 63
},
"is_sync": 1,
"time_out": 30
}请求参数
| 名称 | 位置 | 类型 | 必选 | 说明 |
|---|---|---|---|---|
| Authorization | header | string | 否 | none |
| body | body | object | 否 | none |
| » equipment_sn | body | string | 是 | none |
| » params | body | object | 是 | none |
| »» pfn | body | integer | 是 | none |
| » is_sync | body | integer | 否 | 是否同步返回结果,默认为异步获取结果 |
| » time_out | body | integer | 否 | 超时时间 单位为秒,默认为30秒 |
返回示例
200 Response
{}返回结果
| 状态码 | 状态码含义 | 说明 | 数据模型 |
|---|---|---|---|
| 200 | OK | none | Inline |
返回数据结构
GET 报警列表
GET /openApi/alarm/list
请求参数
| 名称 | 位置 | 类型 | 必选 | 说明 |
|---|---|---|---|---|
| page | query | string | 否 | 页数 |
| page_size | query | string | 否 | 页码 |
| search_key | query | string | 否 | 模糊搜索 |
| start_time | query | string | 否 | 开始时间 |
| end_time | query | string | 否 | 结束时间 |
| Authorization | header | string | 否 | none |
返回示例
200 Response
{
"code": 200,
"message": "请求成功",
"data": {
"list": [
{
"alarm_id": 1003,
"alarm_rule_id": 3,
"alarm_rule_name": "报警名称",
"level": 1,
"level_desc": "严重",
"equipment_sn": "设备sn",
"equipment_name": "设备名称",
"created_at": "创建时间",
"updated_at": "更新时间"
}
],
"total": 100
}
}返回结果
| 状态码 | 状态码含义 | 说明 | 数据模型 |
|---|---|---|---|
| 200 | OK | none | Inline |