docs: add OneNET API reference documentation
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,71 @@
|
||||
接口地址
|
||||
|
||||
https://iot-api.heclouds.com/product/detail
|
||||
|
||||
API说明
|
||||
|
||||
请求方式:GET
|
||||
|
||||
http query 请求参数
|
||||
|
||||
参数名称 格式 是否必选 说明
|
||||
product_id string 是 产品ID
|
||||
返回数据
|
||||
|
||||
参数名称 类型 描述
|
||||
code int 错误码,当为0时表示请求成功,取值见错误码说明表
|
||||
msg string 错误描述信息
|
||||
request_id string API请求链路id
|
||||
data - 具体响应内容
|
||||
data.product_id string 产品id
|
||||
data.access_protocol int 接入协议,取值见接入协议取值说明表
|
||||
data.data_protocol int 数据协议,取值见数据协议取值说明表
|
||||
data.name string 产品名称
|
||||
data.node_type string 节点类型,1-直连设备;2-网关设备;3-子设备
|
||||
data.create_time datetime 产品创建时间
|
||||
data.update_time datetime 最近修改时间
|
||||
data.network string 联网方式
|
||||
data.manufacturer string 产品厂商
|
||||
data.model string 产品型号
|
||||
data.brand string 产品品牌
|
||||
data.desc string 产品描述
|
||||
data.status int 开发状态 1-开发中;2-审核中;3-审核未通过;4-已发布;5-已下架
|
||||
data.own_device_count int 自有设备总数, 缓存时效为5分钟
|
||||
data.online_device_count int 在线设备总数, 缓存时效为5分钟
|
||||
data.offline_device_count int 离线设备数, 缓存时效为5分钟
|
||||
data.not_active_device_count int 未激活设备数, 缓存时效为5分钟
|
||||
data.query_time int64 查询时间(毫秒时间戳)
|
||||
data.viot_app_id string 视频类产品返回,用于视频播放器sdk集成参数
|
||||
示例
|
||||
|
||||
请求示例:
|
||||
|
||||
https://iot-api.heclouds.com/product/detail?product_id=123
|
||||
响应示例:
|
||||
|
||||
{
|
||||
"code": 0,
|
||||
"data": {
|
||||
"product_id": "fupcJIVEuz",
|
||||
"name": "MQTT-测试产品",
|
||||
"node_type": 1,
|
||||
"access_protocol": 2,
|
||||
"data_protocol": 1,
|
||||
"network": "2",
|
||||
"manufacturer": "",
|
||||
"model": "",
|
||||
"brand": "",
|
||||
"desc": "",
|
||||
"create_time": "2024-08-20T08:43:05.915Z",
|
||||
"update_time": "2024-08-20T08:43:56.346Z",
|
||||
"status": 4,
|
||||
"viot_app_id": "aaaaaaaaaaaaaaaaa",
|
||||
"own_device_count": 1, //缓存时效为5分钟
|
||||
"online_device_count": 0,//缓存时效为5分钟
|
||||
"offline_device_count": 0,//缓存时效为5分钟
|
||||
"not_active_device_count": 1,//缓存时效为5分钟
|
||||
"query_time": 1732097555350
|
||||
},
|
||||
"msg": "succ",
|
||||
"request_id": "b5ed8d0500994f1b8784101b3c8f73d7"
|
||||
}
|
||||
+119
@@ -0,0 +1,119 @@
|
||||
物模型查询
|
||||
最近更新时间:2024-02-21 16:47:03
|
||||
接口功能
|
||||
根据产品id查询指定产品下的物模型功能点
|
||||
|
||||
备注
|
||||
数据协议为OneJson的产品可查询
|
||||
|
||||
接口地址
|
||||
http(s)://iot-api.heclouds.com/thingmodel/query-thing-model
|
||||
|
||||
API说明
|
||||
请求方式:GET
|
||||
|
||||
http query 请求参数:
|
||||
|
||||
参数 类型 是否必选 描述
|
||||
product_id string 是 产品id
|
||||
返回数据
|
||||
|
||||
参数名称 类型 描述
|
||||
code int 调用失败时,返回的错误码
|
||||
msg string 调用失败时,返回的错误信息
|
||||
request_id string 调用API时生成的请求标识
|
||||
data.properties array 数组对象 属性功能点
|
||||
p.functionMode string 功能点类型,定值'property'
|
||||
p.identifier string 属性唯一标识符(产品下唯一)
|
||||
p.name string 属性名称
|
||||
p.desc string 属性描述
|
||||
p.accessMode string "属性读写类型:只读(r)或读写(rw)
|
||||
p.functionType string 是否是标准功能点,自定义(u)/系统(s)
|
||||
p.dataType object 属性功能点数据
|
||||
p.dataType.type string 属性类型: int32(32位整数)、int64(64位整数)、float(单精度浮点)、double(双精度浮点型)、string(字符串)、date(String类型UTC秒)、bool(true或false)、enum(int类型)、bitMap(位图)、date(int64类型UTC时间戳毫秒)、struct(结构体类型)、array(数组)
|
||||
p.dataType.specs object 属性功能点数据
|
||||
data.events array 数组对象 事件功能点
|
||||
e.functionMode string 功能点类型,定值'event'
|
||||
e.identifier string 事件唯一标识符
|
||||
e.name string 事件名称
|
||||
e.desc string 事件描述
|
||||
e.type string 事件类型(info、alert、error)
|
||||
e.fuctionType string 是否是标准功能点,自定义(u)/标准(s)
|
||||
e.outputData array 参数
|
||||
e.outputData.identifier string 参数唯一标识符
|
||||
e.outputData.name string 参数名称
|
||||
e.outputData.dataType object 参数数据
|
||||
e.outputData.dataType.type string 属性类型: int32(32位整数)、int64(64位整数)、float(单精度浮点)、double(双精度浮点型)、string(字符串)、date(String类型UTC秒)、bool(true或false)、enum(int类型)、bitMap(位图)、date(int64类型UTC时间戳毫秒)、struct(结构体类型)、array(数组)
|
||||
services array 数组对象 服务功能点
|
||||
s.functionMode string 功能点类型,定值'service'
|
||||
s.identifier string 服务唯一标识符(产品下唯一)
|
||||
s.name string 服务名称
|
||||
s.desc string 服务描述
|
||||
s.callType string 调用方式,同步(s)/异步(a)
|
||||
s.fuctionType string 功能点类型,自定义(u)/系统(s)
|
||||
s.input array 输入参数
|
||||
s.input.identifier string 参数唯一标识符
|
||||
s.input.name string 参数名称
|
||||
s.input.dataType object 参数数
|
||||
s.input.dataType.type string 属性类型: int32(32位整数)、int64(64位整数)、float(单精度浮点)、double(双精度浮点型)、string(字符串)、bool(true或false)、enum(int类型)、bitMap(位图)、date(int64类型UTC时间戳毫秒)、struct(结构体类型)、array(数组)
|
||||
s.input.dataType.specs object 参数功能点数据
|
||||
s.output array 输出参数
|
||||
s.output.identifier string 参数唯一标识符
|
||||
s.output.name string 参数名称
|
||||
s.output.dataType object 参数数据
|
||||
s.output.dataType.type string 属性类型: int32(32位整数)、int64(64位整数)、float(单精度浮点)、double(双精度浮点型)、string(字符串)、bool(true或false)、enum(int类型)、bitMap(位图)、date(int64类型UTC时间戳毫秒)、struct(结构体类型)、array(数组)
|
||||
s.output.dataType.specs object 参数功能点数据
|
||||
示例
|
||||
请求示例
|
||||
|
||||
GET http(s)://iot-api.heclouds.com/thingmodel/query-thing-model?product_id=xxx
|
||||
|
||||
响应示例
|
||||
|
||||
{
|
||||
"data": {
|
||||
"properties": [
|
||||
{
|
||||
"name": "模式",
|
||||
"identifier": "model",
|
||||
"functionType": "u",
|
||||
"functionMode": "property",
|
||||
"desc": "",
|
||||
"accessMode": "rw",
|
||||
"dataType": {
|
||||
"type": "enum",
|
||||
"specs": {
|
||||
"1": "模式1",
|
||||
"2": "模式2"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"events": [
|
||||
{
|
||||
"name": "test",
|
||||
"identifier": "test",
|
||||
"functionType": "u",
|
||||
"functionMode": "event",
|
||||
"desc": null,
|
||||
"eventType": "info",
|
||||
"outputData": [
|
||||
{
|
||||
"dataType": {
|
||||
"type": "bool",
|
||||
"specs": {
|
||||
"false": "关",
|
||||
"true": "开"
|
||||
}
|
||||
},
|
||||
"name": "开关",
|
||||
"identifier": "switch"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"request_id": "a25087f46df04b69b29e90ef0acfd115",
|
||||
"msg": "succ",
|
||||
"code": 0
|
||||
}
|
||||
+49
@@ -0,0 +1,49 @@
|
||||
获取设备属性详情
|
||||
最近更新时间:2026-01-16 16:47:29
|
||||
接口功能
|
||||
根据产品ID和设备名,下发物模型属性获取命令到设备,设备返回属性值到接口
|
||||
|
||||
备注
|
||||
仅支持OneJson设备,需要设备在线
|
||||
|
||||
接口地址
|
||||
https://iot-api.heclouds.com/thingmodel/query-device-property-detail
|
||||
|
||||
API说明
|
||||
请求方式:POST
|
||||
|
||||
http body 请求参数:
|
||||
|
||||
参数 类型 是否必选 描述
|
||||
product_id string 是 产品ID,平台生成唯一ID
|
||||
device_name string 是 设备名称
|
||||
params array 是 功能点标识数组,expample: ["light","model"]
|
||||
返回数据
|
||||
|
||||
参数名称 类型 描述
|
||||
code int 调用成功或失败时,返回的code码
|
||||
msg string 调用成功或失败时,返回的msg信息
|
||||
request_id string 调用API生成的请求标识
|
||||
data - 调用成功时,返回的业务数据
|
||||
示例
|
||||
请求示例
|
||||
|
||||
POST http(s)://iot-api.heclouds.com/thingmodel/query-device-property-detail
|
||||
Content-type: application/json
|
||||
{
|
||||
"product_id":"B7EEW578EbRg5Y4K",
|
||||
"device_name":"device3",
|
||||
"params":["light","model"]
|
||||
}
|
||||
|
||||
响应示例
|
||||
|
||||
{
|
||||
"request_id": "a25087f46df04b69b29e90ef0acfd115",
|
||||
"msg": "succ",
|
||||
"code": 0,
|
||||
"data":{
|
||||
"light":1,
|
||||
"model":1
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,76 @@
|
||||
设备属性最新数据查询
|
||||
最近更新时间:2026-01-16 16:47:29
|
||||
接口功能
|
||||
根据产品id和设备名,查询设备最新属性功能点数据
|
||||
|
||||
备注
|
||||
支持OneJson、自定义透传数据协议,设备能正常下发上报
|
||||
|
||||
接口地址
|
||||
https://iot-api.heclouds.com/thingmodel/query-device-property
|
||||
|
||||
API说明
|
||||
请求方式:GET
|
||||
|
||||
http query 请求参数:
|
||||
|
||||
参数 类型 是否必选 描述
|
||||
product_id string 是 产品ID,平台生成唯一ID
|
||||
device_name string 是 设备名称
|
||||
返回数据
|
||||
|
||||
参数名称 类型 描述
|
||||
code int 调用成功或失败时,返回的code码
|
||||
msg string 调用成功或失败时,返回的msg信息
|
||||
request_id string 调用API生成的请求标识
|
||||
data - 调用成功时,返回的业务数据
|
||||
data.list array 设备属性数据集合
|
||||
data.list字段结构
|
||||
|
||||
[
|
||||
{
|
||||
"identifier": string, # 功能点标识
|
||||
"time": string, # 上报时间,毫秒时间戳
|
||||
"value": string, # 功能点上报值,json字符串
|
||||
"data_type": string, # 数据类型 int32、int64、float、double、enum、bool、string、struct、bitMap
|
||||
"access_mode": string, # 读写类型
|
||||
"expect_value": string, # 期望值, json字符串,属性功能点具有该字段
|
||||
"name": string, # 功能点名称
|
||||
"description": string, # 功能描述
|
||||
}
|
||||
]
|
||||
示例
|
||||
请求示例
|
||||
|
||||
GET http(s)://iot-api.heclouds.com/thingmodel/query-device-property
|
||||
?product_id=9MaNe52pNO&device_name=no001
|
||||
|
||||
响应示例
|
||||
|
||||
{
|
||||
"data":[
|
||||
{
|
||||
"access_mode": "读写",
|
||||
"data_type": "int32",
|
||||
"description": "二氧化碳",
|
||||
"expect_value": "800",
|
||||
"identifier": "CO2",
|
||||
"name": "二氧化碳",
|
||||
"time": "1592797444539",
|
||||
"value": "600"
|
||||
},
|
||||
{
|
||||
"access_mode": "读写",
|
||||
"data_type": "bool",
|
||||
"description": "关",
|
||||
"expect_value": "true",
|
||||
"identifier": "fan",
|
||||
"name": "风扇",
|
||||
"time": "1592797444539",
|
||||
"value": "false"
|
||||
}
|
||||
],
|
||||
"request_id": "a25087f46df04b69b29e90ef0acfd115",
|
||||
"msg": "succ",
|
||||
"code": 0
|
||||
}
|
||||
@@ -0,0 +1,64 @@
|
||||
设备属性记录查询
|
||||
最近更新时间:2026-01-16 16:47:29
|
||||
接口功能
|
||||
根据产品id设备名称时间范围等参数,查询设备属性历史功能点数据
|
||||
|
||||
备注
|
||||
支持OneJson、自定义透传数据协议,设备能正常下发上报
|
||||
|
||||
接口地址
|
||||
https://iot-api.heclouds.com/thingmodel/query-device-property-history
|
||||
|
||||
API说明
|
||||
请求方式:GET
|
||||
|
||||
http query 请求参数:
|
||||
|
||||
参数 类型 是否必选 描述
|
||||
product_id string 是 产品ID,平台生成唯一ID
|
||||
device_name string 是 设备名称
|
||||
identifier string 是 属性功能点标识
|
||||
start_time string 是 查询起始时间,毫秒时间戳
|
||||
end_time string 是 查询结束时间,毫秒时间戳
|
||||
sort string 否 排序参数 1-正序 2-倒序 默认倒叙
|
||||
offset string 否 请求起始位置,默认0
|
||||
limit string 否 每次请求记录数,默认10, 范围[1, 100]
|
||||
返回数据
|
||||
|
||||
参数名称 类型 描述
|
||||
code int 调用成功或失败时,返回的code码
|
||||
msg string 调用成功或失败时,返回的msg信息
|
||||
request_id string 调用API生成的请求标识
|
||||
data - 调用成功时,返回的业务数据
|
||||
data.list array 设备属性数据集合
|
||||
data.list字段结构
|
||||
|
||||
[
|
||||
{
|
||||
"value": string, # 属性功能点上报值
|
||||
"time": int, # 属性功能点上报时间
|
||||
}
|
||||
]
|
||||
示例
|
||||
请求示例
|
||||
|
||||
GET http(s)://iot-api.heclouds.com/thingmodel/query-device-property-history
|
||||
?product_id=9MaNe52pNO&device_name=no001&identifier=someDate&start_time=1681713647000&end_time=1681799966562
|
||||
|
||||
响应示例
|
||||
|
||||
{
|
||||
"data": [
|
||||
{
|
||||
"time": "1592810751988",
|
||||
"value": "false"
|
||||
},
|
||||
{
|
||||
"time": "1592810746988",
|
||||
"value": "true"
|
||||
}
|
||||
],
|
||||
"request_id": "a25087f46df04b69b29e90ef0acfd115",
|
||||
"msg": "succ",
|
||||
"code": 0
|
||||
}
|
||||
+90
@@ -0,0 +1,90 @@
|
||||
查询设备数据点
|
||||
最近更新时间:2026-01-16 16:47:29
|
||||
接口功能
|
||||
根据产品id和设备名称查询,时间范围参数,查询设备历史数据点信息
|
||||
|
||||
备注
|
||||
仅支持数据流、IPSO数据协议,设备能正常下发上报
|
||||
|
||||
接口地址
|
||||
http(s)://iot-api.heclouds.com/datapoint/history-datapoints
|
||||
|
||||
API说明
|
||||
请求方式:GET
|
||||
|
||||
http query 请求参数:
|
||||
|
||||
参数 类型 是否必选 描述
|
||||
datastream_id string 否 数据流ID,多个id之间用逗号分开,缺省时取数据流或数据流模板100条为缺省数据流id条件
|
||||
product_id string 是 产品ID,平台生成唯一ID
|
||||
device_name string 是 设备名称
|
||||
imei string 否 lwm2m协议时传,设备imei
|
||||
start string 否 提取数据点的开始时间,精确到秒,示例:2015-01-10T08:00:35
|
||||
end string 否 提取数据点的结束时间,精确到秒,示例:2015-01-10T08:00:35
|
||||
duration int 否 查询时间区间,单位为秒
|
||||
limit int 否 限定本次请求最多返回的数据点数,默认100,范围为(0,6000]
|
||||
cursor string 否 指定本次请求继续从cursor位置开始提取数据
|
||||
sort enum 否 时间排序方式,DESC:倒序,ASC:升序,默认为DESC
|
||||
返回数据
|
||||
|
||||
参数名称 类型 描述
|
||||
code int 调用成功或失败时,返回的code码
|
||||
msg string 调用成功或失败时,返回的msg信息
|
||||
request_id string 调用API生成的请求标识
|
||||
data - 调用成功时,返回的业务数据
|
||||
data.count int 本次返回的数据点数量
|
||||
data.cursor string 本次请求若未能返回所有数据,则会返回cursor参数,用户可以携带cursor参数进行再次请求,获取剩下的数据
|
||||
data.datastreams array-json 设备数据流信息的json数组,见datastreams描述
|
||||
datastreams描述表
|
||||
|
||||
参数名称 格式 说明
|
||||
id string 数据流名称
|
||||
datapoints array-json 数据点信息的json数组,见datapoints描述表
|
||||
datapoints描述表
|
||||
|
||||
参数名称 格式 说明
|
||||
at string 数据记录时间
|
||||
value string/int/json... 数据点的值
|
||||
特别说明
|
||||
|
||||
当start,end时间均为空
|
||||
i) limit
|
||||
不传值或传值等于1时:排序为升序则查询最早一个数据点(30天内),否则查询最新数据点(最新缓存数据)
|
||||
|
||||
ii) limit
|
||||
传值大于1时:排序为升序则查询最早x条数据点,否则查询最新x条数据点(30天内,x=limit)
|
||||
|
||||
示例
|
||||
请求示例
|
||||
|
||||
GET http(s)://iot-api.heclouds.com/datapoint/history-datapoints
|
||||
?product_id=XhONWQ5zV5&device_name=mqtts-dev&datastream_id=ds&start=2017-01-01T00:00:00&limit=100
|
||||
响应示例
|
||||
|
||||
{
|
||||
"data":{
|
||||
"cursor":"25971_564280_1448961152173",
|
||||
"count":5,
|
||||
"datastreams":[
|
||||
{
|
||||
"datapoints":[
|
||||
{
|
||||
"at":"2015-12-01 17:10:24.981",
|
||||
"value":"35"
|
||||
},
|
||||
{
|
||||
"at":"2015-12-01 17:10:53.406",
|
||||
"value":"38"
|
||||
},
|
||||
...
|
||||
],
|
||||
"id":"3200_0_5501"
|
||||
},
|
||||
...
|
||||
]
|
||||
},
|
||||
"request_id": "a25087f46df04b69b29e90ef0acfd115",
|
||||
"msg": "succ",
|
||||
"code": 0
|
||||
}
|
||||
|
||||
+128
@@ -0,0 +1,128 @@
|
||||
设备详情
|
||||
最近更新时间:2026-03-30 09:58:43
|
||||
接口说明
|
||||
查询平台上已注册设备的详细信息
|
||||
|
||||
接口地址
|
||||
https://iot-api.heclouds.com/device/detail
|
||||
|
||||
API 说明
|
||||
请求方式:GET
|
||||
|
||||
httpquery 请求参数
|
||||
|
||||
参数名称 格式 是否必选 说明
|
||||
product_id string 产品 id+设备名称、imei 二选一必填 产品 ID
|
||||
device_name string 产品 id+设备名称、imei 二选一必填 设备名称
|
||||
imei string 产品 id+设备名称、imei 二选一必填 设备 imei(当设备来自于老平台下 NB 套件产品时,imei 必填,且 device_name 应当为空)
|
||||
返回数据
|
||||
|
||||
参数名称 类型 描述
|
||||
code int 错误码,当为 0 时表示请求成功,取值见错误码说明表
|
||||
msg string 错误描述信息
|
||||
request_id string API 请求链路 id
|
||||
data - 具体响应内容
|
||||
data.did int/string 设备 id
|
||||
data.pid string 产品 id
|
||||
data.access_pt int 接入协议,取值见接入协议取值说明表
|
||||
data.data_pt int 数据协议,取值见数据协议取值说明表
|
||||
data.name string 设备名称
|
||||
data.desc string 设备描述
|
||||
data.auth_info --- ---
|
||||
data.status int 设备状态,0-离线,1-在线,2-未激活
|
||||
data.create_time datetime 设备创建时间
|
||||
data.activate_time datetime 设备激活时间
|
||||
data.last_time datetime 设备最后一次在线时间
|
||||
data.sec_key string 设备接入鉴权 key
|
||||
data.imei string LwM2M 设备 imei
|
||||
data.imsi string LwM2M 设备 imsi
|
||||
data.psk string LwM2M 设备 psk
|
||||
data.auth_code string LwM2M 设备 auth_code
|
||||
data.intelligent_way int 产品智能化方式,1-设备接入、2-产品智能化
|
||||
data.group_id string 设备分组 id
|
||||
data.enable_status bool 设备启用状态
|
||||
data.tags string-array 设备标签列表
|
||||
data.lon string 经度
|
||||
data.lat string 纬度
|
||||
data.chip --- ---
|
||||
data.obsv bool 设备资源自动订阅是否启用
|
||||
data.obsv_st bool 设备资源自动订阅状态
|
||||
data.private bool 设备私密性
|
||||
data.imsi_old string-array 设备 imsi 历史变更记录
|
||||
data.imsi_mt datetime 设备 imsi 最近一次修改时间
|
||||
视联网设备时返回以下字段
|
||||
data.viot_device_sn string 视频设备编码,视联网设备返回
|
||||
data.viot_protocol int 视频设备接入协议,视联网设备返回
|
||||
1-GB28181 协议
|
||||
2-千里眼协议
|
||||
data.viot_device_type int 视频设备设备类型,视联网设备返回
|
||||
1-IPC
|
||||
2-NVR
|
||||
视联网国标协议设备时返回
|
||||
data.viot_sip_server_id string SIP 服务器 ID,国标摄像头设备返回
|
||||
data.viot_sip_server_domain string SIP 服务器域,国标摄像头设备返回
|
||||
data.viot_sip_server_ip string SIP 服务器 IP,国标摄像头设备返回
|
||||
data.viot_sip_server_port string SIP 服务器端口,国标摄像头设备返回
|
||||
data.viot_login_name string 登录用户名,国标摄像头设备返回
|
||||
data.viot_login_pwd string 登录密码,国标摄像头设备返回
|
||||
视联网千里眼协议设备时返回
|
||||
data.viot_module_id string 设备 modelId,如:cmiot_E4702_002
|
||||
data.viot_camera_app_version string 软件版本,如:2.860.20250512
|
||||
data.viot_firmware_version string 固件版本,如:2.860.20250512
|
||||
data.viot_imei string 千里眼设备 imei(cmei),如:119094672043670
|
||||
机卡协同设备上报数据,设备上报后返回
|
||||
data.up_iccid string 设备上报的iccid,如:898604310000000000
|
||||
data.up_msisdn string 设备上报的msisdn,如:+8613800000000
|
||||
data.up_sn string 设备上报的sn
|
||||
data.up_imei string 设备上报的imei,如:119094672043670
|
||||
data.up_imsi string 设备上报的imsi,如:460010000000000
|
||||
data.up_mac string 设备上报的mac,如:08:00:27:01:02:03
|
||||
data.up_network int 设备上报的网络类型,0-非蜂窝网, 1-移动,2-电信,3-联通,4-广电
|
||||
示例
|
||||
请求示例:
|
||||
|
||||
GET https://iot-api.heclouds.com/device/detail?product_id=123&device_name=dname
|
||||
响应示例:
|
||||
|
||||
{
|
||||
"code": 0,
|
||||
"data": {
|
||||
"did": 2502614722,
|
||||
"pid": "FUSZT1w5t2",
|
||||
"access_pt": 51,
|
||||
"auth_info": "e02efee79b5a-pro",
|
||||
"data_pt": 3,
|
||||
"name": "e02efee79b5a-pro",
|
||||
"desc": "",
|
||||
"status": 1,
|
||||
"create_time": "2025-11-28T09:49:00.613+08:00",
|
||||
"activate_time": "2025-12-01T15:38:51.073+08:00",
|
||||
"last_time": "2025-12-01T15:38:51.073+08:00",
|
||||
"imsi": "",
|
||||
"imei": "",
|
||||
"psk": "",
|
||||
"group_id": "",
|
||||
"enable_status": true,
|
||||
"tags": [],
|
||||
"lat": "",
|
||||
"lon": "",
|
||||
"auth_code": "",
|
||||
"sec_key": "",
|
||||
"chip": 0,
|
||||
"obsv": false,
|
||||
"obsv_st": false,
|
||||
"private": false,
|
||||
"imsi_old": [],
|
||||
"imsi_mt": "0001-01-01T08:05:43+08:05",
|
||||
"intelligent_way": 1,
|
||||
"viot_device_sn": "e02efee79b5a",
|
||||
"viot_protocol": 2,
|
||||
"viot_device_type": 1,
|
||||
"viot_module_id": "cmiot_E4702_002",
|
||||
"viot_camera_app_version": "2.860.20250512",
|
||||
"viot_firmware_version": "2.860.20250512",
|
||||
"viot_imei": "119094672043670"
|
||||
},
|
||||
"msg": "succ",
|
||||
"request_id": "a3d0de892827437b9ad2aa9e6754fb40"
|
||||
}
|
||||
@@ -0,0 +1,71 @@
|
||||
设备事件记录查询
|
||||
最近更新时间:2025-07-02 10:27:26
|
||||
接口说明
|
||||
查询设备的事件记录
|
||||
|
||||
接口地址
|
||||
https://iot-api.heclouds.com/device/event-log
|
||||
|
||||
API说明
|
||||
请求方式:GET
|
||||
|
||||
http query 请求参数:
|
||||
|
||||
参数名称 格式 是否必选 说明
|
||||
product_id string 产品id+设备名称、imei二选一必填 产品ID
|
||||
device_name string 产品id+设备名称、imei二选一必填 设备名称
|
||||
imei string 产品id+设备名称、imei二选一必填 设备imei (当设备来自于老平台下NB套件产品时,imei必填,且device_name应当为空)
|
||||
start_time long 是 查询起始时间-毫秒时间戳
|
||||
end_time long 是 查询截止时间-毫秒时间戳
|
||||
identifier string 否 事件功能点标识
|
||||
event_type int 否 事件类型,1-信息,2-告警,3-故障
|
||||
offset int 否 请求起始位置,默认0
|
||||
limit int 否 每次请求记录数,默认10,范围[1,100]
|
||||
返回数据
|
||||
|
||||
参数名称 类型 描述
|
||||
code int 错误码,当为0时表示请求成功,取值见错误码说明表
|
||||
msg string 错误描述信息
|
||||
request_id string API请求链路id
|
||||
data - 具体响应内容
|
||||
data.list Object-array 设备事件记录列表
|
||||
data.list[0].event_type int 事件类型,1-信息,2-告警,3-故障
|
||||
data.list[0].time long 设备事件上报时间戳
|
||||
data.list[0].identifier string 事件功能点标识
|
||||
data.list[0].name string 事件名称
|
||||
data.list[0].value string 事件值
|
||||
data.limit string 本次请求记录数上限
|
||||
data.offset string 本次请求起始位置
|
||||
示例
|
||||
请求示例:
|
||||
|
||||
GET https://iot-api.heclouds.com/device/event-log?
|
||||
imei=1234512345&start_time=1592398420000&end_time=1592398421297
|
||||
|
||||
响应示例:
|
||||
|
||||
{
|
||||
"code": 0,
|
||||
"data": {
|
||||
"list": [
|
||||
{
|
||||
"event_type": 1,
|
||||
"identifier": "lock_event",
|
||||
"name": "lock_event",
|
||||
"time": 1592814341051,
|
||||
"value": "{\"type\":1, \"user\":27010}"
|
||||
},
|
||||
{
|
||||
"event_type": 1,
|
||||
"identifier": "lock_event",
|
||||
"name": "lock_event",
|
||||
"time": 1592814336050,
|
||||
"value": "{\"type\":2, \"user\":27010}"
|
||||
}
|
||||
],
|
||||
"limit": 10,
|
||||
"offset": 0
|
||||
},
|
||||
"msg": "succ",
|
||||
"request_id": "a25ffffddsfddb69b29e90ef0acfd115"
|
||||
}
|
||||
@@ -0,0 +1,102 @@
|
||||
设备列表
|
||||
最近更新时间:2025-12-22 10:38:50
|
||||
接口说明
|
||||
用于查询产品下的设备列表,支持通过设备名称左前缀模糊匹配。
|
||||
|
||||
接口地址
|
||||
https://iot-api.heclouds.com/device/list
|
||||
|
||||
API说明
|
||||
请求方式:GET
|
||||
|
||||
http query 请求参数
|
||||
|
||||
参数名称 格式 是否必选 说明
|
||||
product_id string 是 产品ID
|
||||
device_name string 否 设备名称(左前缀模糊匹配)
|
||||
offset int 否 查询起始下标,默认为0
|
||||
limit int 否 单次查询数量限额,默认为10,最大为100
|
||||
返回数据
|
||||
|
||||
参数名称 类型 描述
|
||||
code int 错误码,当为0时表示请求成功,取值见错误码说明表
|
||||
msg string 错误描述信息
|
||||
request_id string API请求链路id
|
||||
data - 具体响应内容
|
||||
data.list[0].did int/string 设备id
|
||||
data.list[0].pid string 产品id
|
||||
data.list[0].access_pt int 接入协议,取值见接入协议取值说明表
|
||||
data.list[0].data_pt int 数据协议,取值见数据协议取值说明表
|
||||
data.list[0].name string 设备名称
|
||||
data.list[0].desc string 设备描述
|
||||
data.list[0].status int 设备状态,0-离线,1-在线,2-未激活
|
||||
data.list[0].create_time datetime 设备创建时间
|
||||
data.list[0].activate_time datetime 设备激活时间
|
||||
data.list[0].last_time datetime 设备最后一次在线时间
|
||||
data.list[0].sec_key string 设备接入鉴权key
|
||||
data.list[0].imei string LwM2M设备imei
|
||||
data.list[0].imsi string LwM2M设备imsi
|
||||
data.list[0].psk string LwM2M设备psk
|
||||
data.list[0].auth_code string LwM2M设备auth_code
|
||||
data.list[0].intelligent_way int 产品智能化方式,1-设备接入、2-产品智能化
|
||||
data.list[0].group_id string 设备分组id
|
||||
data.list[0].enable_status bool 设备启用状态
|
||||
data.list[0].lon string 经度
|
||||
data.list[0].lat string 纬度
|
||||
data.list[0].obsv bool 设备资源自动订阅是否启用
|
||||
data.list[0].obsv_st bool 设备资源自动订阅状态
|
||||
data.list[0].private bool 设备私密性
|
||||
data.list[0].imsi_old string-array 设备imsi历史变更记录
|
||||
data.list[0].imsi_mt datetime 设备imsi最近一次修改时间
|
||||
data.list[0].viot_device_sn string 移动视联网设备返回唯一标识
|
||||
data.list[0].viot_protocol int 移动视联网设备返回接入协议
|
||||
1-GB28181协议
|
||||
2-千里眼协议
|
||||
data.offset int 查询起始下标
|
||||
data.limit int 单次查询数量限额
|
||||
示例
|
||||
请求示例:
|
||||
|
||||
GET https://iot-api.heclouds.com/device/list?product_id=43770&device_name=&offset=0&limit=10
|
||||
响应示例:
|
||||
|
||||
{
|
||||
"code": 0,
|
||||
"data":{
|
||||
"list":[{
|
||||
"did": 500006387,
|
||||
"pid": "43770",
|
||||
"access_pt": 4, //2-MQTT,4-LwM2M
|
||||
"data_pt": 2,
|
||||
"name": "nb4",
|
||||
"desc": "",
|
||||
"auth_info": {
|
||||
"177393918128741": "222222"
|
||||
},
|
||||
"status": 2,//0-离线;1-在线;2-未激活
|
||||
"create_time": "2022-07-13T09:19:53.873+08:00",
|
||||
"activate_time": "0001-01-01T08:00:00+08:00",
|
||||
"last_connect_time": "0001-01-01T00:00:00Z",
|
||||
"imsi": "222222",
|
||||
"imei": "177393918128741",
|
||||
"psk": "BpLnfgDsc3WD9F3q",
|
||||
"group_id": "",
|
||||
"enable_status": true,
|
||||
"Lat": "29.500816495765097",
|
||||
"Lon": "106.69984891483458",
|
||||
"auth_code": "",
|
||||
"sec_key": "TmZISzZhOTVqakprd3pEa2gwaDNmaGZVVnVTMGpaOXU=",
|
||||
"chip": 0,
|
||||
"obsv": true,
|
||||
"obsv_st": false,
|
||||
"private": false,
|
||||
"imsi_old": [],
|
||||
"imsi_mt": "0001-01-01T08:00:00+08:00",
|
||||
"intelligent_way": 1
|
||||
}],
|
||||
"limit":10,
|
||||
"offset":0
|
||||
}
|
||||
"msg": "succ",
|
||||
"requestId": "a25087f46dfddb69b29e90ef0acfd115"
|
||||
}
|
||||
@@ -0,0 +1,70 @@
|
||||
1.鉴权算法,我的userId:459810,appkey:3BeJti9supdvX4K+n/98Osx7Zmadd4ze9qR+EfXAfoQWiMXvqksrU0VDUZa7tDUQ
|
||||
Java代码示例
|
||||
import javax.crypto.Mac;
|
||||
import javax.crypto.spec.SecretKeySpec;
|
||||
import java.io.UnsupportedEncodingException;
|
||||
import java.net.URLEncoder;
|
||||
import java.security.InvalidKeyException;
|
||||
import java.security.NoSuchAlgorithmException;
|
||||
import java.util.Base64;
|
||||
|
||||
|
||||
public class Token {
|
||||
|
||||
public static String assembleToken(String version, String resourceName, String expirationTime, String signatureMethod, String accessKey)
|
||||
throws UnsupportedEncodingException, NoSuchAlgorithmException, InvalidKeyException {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
String res = URLEncoder.encode(resourceName, "UTF-8");
|
||||
String sig = URLEncoder.encode(generatorSignature(version, resourceName, expirationTime, accessKey, signatureMethod), "UTF-8");
|
||||
sb.append("version=")
|
||||
.append(version)
|
||||
.append("&res=")
|
||||
.append(res)
|
||||
.append("&et=")
|
||||
.append(expirationTime)
|
||||
.append("&method=")
|
||||
.append(signatureMethod)
|
||||
.append("&sign=")
|
||||
.append(sig);
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
public static String generatorSignature(String version, String resourceName, String expirationTime, String accessKey, String signatureMethod)
|
||||
throws NoSuchAlgorithmException, InvalidKeyException {
|
||||
String encryptText = expirationTime + "\n" + signatureMethod + "\n" + resourceName + "\n" + version;
|
||||
String signature;
|
||||
byte[] bytes = HmacEncrypt(encryptText, accessKey, signatureMethod);
|
||||
signature = Base64.getEncoder().encodeToString(bytes);
|
||||
return signature;
|
||||
}
|
||||
|
||||
public static byte[] HmacEncrypt(String data, String key, String signatureMethod)
|
||||
throws NoSuchAlgorithmException, InvalidKeyException {
|
||||
//根据给定的字节数组构造一个密钥,第二参数指定一个密钥算法的名称
|
||||
SecretKeySpec signinKey = null;
|
||||
signinKey = new SecretKeySpec(Base64.getDecoder().decode(key),
|
||||
"Hmac" + signatureMethod.toUpperCase());
|
||||
//生成一个指定 Mac 算法 的 Mac 对象
|
||||
Mac mac = null;
|
||||
mac = Mac.getInstance("Hmac" + signatureMethod.toUpperCase());
|
||||
//用给定密钥初始化 Mac 对象
|
||||
mac.init(signinKey);
|
||||
//完成 Mac 操作
|
||||
return mac.doFinal(data.getBytes());
|
||||
}
|
||||
|
||||
public enum SignatureMethod {
|
||||
SHA1, MD5, SHA256;
|
||||
}
|
||||
|
||||
public static void main(String[] args) throws UnsupportedEncodingException, NoSuchAlgorithmException, InvalidKeyException {
|
||||
String version = "2022-05-01";
|
||||
String resourceName = "userid/12321";
|
||||
//用户自定义token过期时间
|
||||
String expirationTime = System.currentTimeMillis() / 1000 + 3600 + "";
|
||||
String signatureMethod = SignatureMethod.SHA1.name().toLowerCase();
|
||||
String accessKey = "KuF3NT/jUBJ62LNBB/A8XZA9CqS3Cu79B/ABmfA1UCw=";
|
||||
String token = assembleToken(version, resourceName, expirationTime, signatureMethod, accessKey);
|
||||
System.out.println("Authorization:" + token);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user