物联网服务产品云端API文档
物联服务云端API列表
物联服务云端API列表
项目管理相关接口
接口 | 描述 |
---|---|
项目列表 | 查询所有项目列表 |
项目详情 | 查询指定项目详情 |
创建项目 | 创建项目 |
修改项目 | 修改指定项目 |
产品管理相关接口
接口 | 描述 |
---|---|
产品列表 | 查询项目下所有产品列表 |
产品详情 | 查询指定产品详情 |
产品功能定义详情 | 查询指定产品物模型(功能定义列表) |
创建产品 | 创建产品 |
修改产品 | 修改产品 |
删除产品 | 删除产品 |
创建产品标签 | 创建产品标签 |
修改产品标签 | 修改产品标签 |
删除产品标签 | 删除产品标签 |
创建产品属性 | 创建产品属性 |
修改产品属性 | 修改产品属性 |
删除产品属性 | 删除产品属性 |
创建产品服务 | 创建产品服务 |
修改产品服务 | 修改产品服务 |
删除产品服务 | 删除产品服务 |
创建产品事件 | 创建产品事件 |
修改产品事件 | 修改产品事件 |
删除产品事件 | 删除产品事件 |
设备管理相关接口
接口 | 描述 |
---|---|
创建设备 | 添加设备 |
指定产品设备列表 | 查询指定产品下所有设备列表 |
设备详情 | 查询指定设备详情 |
修改设备 | 修改指定设备 |
删除设备 | 删除指定设备 |
查询指定设备状态 | 查询指定设备的运行状态(在线/离线和激活/未激活) |
批量查询指定设备的运行状态 | 批量查询同一产品下指定设备的运行状态 |
子设备所属网关 | 根据子设备信息查询对应的网关设备信息 |
指定设备标签列表 | 查询指定设备的标签列表 |
创建设备标签 | 为指定设备设置标签 |
删除设备标签 | 删除设备下的指定标签 |
网关下子设备列表 | 查询指定设备的拓扑关系(网关设备下子设备列表) |
网关绑定子设备 | 添加子设备到网关 |
网关解绑子设备 | 从网关中移除子设备 |
自定义主题发布 | 自定义主题发布 |
功能详细说明
产品线接口
项目管理
项目列表
查询租户下所有项目列表。
- URI
GET /iot/v1/projects
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
queryBy | param | string | 是 | “usergroup”或者“owner” |
- 返回参数
名称 | 类型 | 描述 |
---|---|---|
data | 项目列表(Project列表) | 项目列表 |
requestId | String | 请求 Id |
- 示例
请求示例
url:
1、iot.cn-north-3.cloudapi.com/iot/v1/projects?queryBy=owner
2、http://iot.cn-north-3.cloudapi.com/iot/v1/projects?queryBy=owner
返回示例
{
"data": [
{
"updatedTime": "2019-12-21T07:48:52Z",
"id": "2c9fbc2a687f1a7101687f7f7ccb0000",
"dmOutterAddress": "100.111.64.77:30378",
"emqOutterAddress": "117.73.3.68:31339",
"description": "我是描述1",
"flag": null,
"externalIp": "172.31.0.11",
"emqInnerAddress": "172.31.0.11:31339",
"eip": "117.73.3.68",
"storageClass": null,
"region": "cn-north-3",
"clusterId": null,
"code": "iot09adyw1u",
"name": "名称1",
"username": "cloud-productdepartment",
"floatingIp": "100.111.64.77",
"availabilityZone": null,
"ownerId": "8247e9e1-8f13-490b-aa44-0fa19367f352",
"accountId": "8247e9e1-8f13-490b-aa44-0fa19367f352",
"emqOutterControlAddress": null,
"createdTime": "2019-01-24T18:54:48Z",
"namespace": "default",
"hubId": "iothub5",
"emqInnerHost": "iot09adyw1u-iot-emq-service-in"
}
],
"requestId": "1688a9a6-8614-4247-8e09-9b7b534d6677"
}
项目详情
查询指定项目的详情。
- URI
GET /iot/v1/projects/{projectId}
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
projectId | path | String | 是 | 项目ID |
- 返回参数
返回值为Project Project结构请参考Project
- 示例
请求示例
URI:
iot.cn-north-3.cloudapi.com/iot/v1/projects/2c9f3329687f19ec01687fb6a19d0003
返回示例
{
"id": "2c9f3329687f19ec01687fb6a19d0003",
"namespace": "default",
"code": "iotzo86wpdc",
"name": "名称2",
"ownerId": "767bb18c-6966-453b-812a-2b9585582d44",
"username": "test13",
"storageClass": null,
"accountId": "767bb18c-6966-453b-812a-2b9585582d44",
"emqInnerHost": "iotzo86wpdc-iot-emq-service-in",
"dmOutterAddress": "100.111.64.77:30378",
"emqInnerAddress": "172.31.0.11:31187",
"emqOutterAddress": "117.73.3.68:31187",
"emqOutterControlAddress": null,
"createdTime": "2019-01-24T19:55:01Z",
"updatedTime": "2019-12-24T07:21:27Z",
"description": "我是描述2",
"region": "cn-north-3",
"availabilityZone": null,
"floatingIp": "100.111.64.77",
"externalIp": "172.31.0.11",
"hubId": "iothub5",
"clusterId": null,
"flag": null,
"eip": "117.73.3.68"
}
创建项目
创建项目
- URI
POST /iot/v1/projects
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
name | body | String | 是 | 项目名称 |
description | body | String | 否 | 描述 |
- 返回参数
返回值为Project Project结构请参考Project
- 示例
请求示例
iot.cn-north-3.cloudapi.com/iot/v1/projects
body:
{
"name": "名称1",
"description": "我是描述1"
}
响应示例
{
"id": "8a48d4a76850747a0168508e1f340001",
"namespace": "default",
"code": "iotxc6hwwr7",
"name": "名称1",
"ownerId": "35e5dfc6-91fc-44b7-9220-dfb793412e67",
"username": "cloud-operator",
"storageClass": null,
"environmentId": null,
"accountId": "group-cloud-operator",
"emqInnerHost": "iotxc6hwwr7-iot-emq-service-in",
"dmOutterAddress": "localhost:9102",
"emqInnerAddress": "10.110.25.114:30548",
"emqOutterAddress": "10.110.25.114:30548",
"emqOutterControlAddress": null,
"createTime": "2019-01-15T08:08:37Z",
"updateTime": "2019-01-15T08:08:37Z",
"description": "我是描述1",
"floatingIp": "10.110.25.114",
"externalIp": "10.110.25.114",
"hubId": "hubwushan3",
"clusterId": "9439c591-b8c9-486d-8793-8d8f8eb9f292",
"eip": "10.110.25.114"
}
修改项目
更新项目
- URI
PUT /iot/v1/projects/{projectId}
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
projectId | path | String | 是 | 项目ID |
name | body | String | 是 | 项目名称 |
description | body | String | 否 | 描述 |
- 返回参数
返回值为Project Project结构请参考Project
- 示例
请求示例
url:
iot.cn-north-3.cloudapi.com/iot/v1/projects/2c9f3329687f19ec01687fb6a19d0003
body:
{
"name": "名称2",
"description": "我是描述2"
}
响应示例
{
"id": "2c9f3329687f19ec01687fb6a19d0003",
"namespace": "default",
"code": "iotzo86wpdc",
"name": "名称2",
"ownerId": "767bb18c-6966-453b-812a-2b9585582d44",
"username": "test13",
"storageClass": null,
"accountId": "767bb18c-6966-453b-812a-2b9585582d44",
"emqInnerHost": "iotzo86wpdc-iot-emq-service-in",
"dmOutterAddress": "100.111.64.77:30378",
"emqInnerAddress": "172.31.0.11:31187",
"emqOutterAddress": "117.73.3.68:31187",
"emqOutterControlAddress": null,
"createdTime": "2019-01-24T19:55:01Z",
"updatedTime": "2019-12-27T01:34:33Z",
"description": "我是描述2",
"region": "cn-north-3",
"availabilityZone": null,
"floatingIp": "100.111.64.77",
"externalIp": "172.31.0.11",
"hubId": "iothub5",
"clusterId": null,
"flag": null,
"eip": "117.73.3.68"
}
产品管理
获取产品列表(分页)
获取产品列表(分页)
- URI
GET /iot/v1/open-api/products/{pageNo}/{pageSize}
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
pageNo | path | Integer | 是 | 当前页码(从索引0开始) |
pageSize | path | Integer | 是 | 每页数目,默认值10 |
projectId | param | String | 是 | 项目Id(字段必须有,可以为空字符串,查询所有项目) |
- 返回参数
名称 | 类型 | 是否必须 | 描述 |
---|---|---|---|
totalCount | Integer | 是 | 产品总条数 |
pageNo | Integer | 是 | 当前分页为第几页 |
data | Object(Product列表) | 是 | 产品列表 |
pageSize | Integer | 是 | 分页大小 |
- 示例
请求示例
iot.cn-north-3.cloudapi.com/iot/v1/open-api/products/0/10?projectId=2c9f3329687f19ec01687fb6a19d0003
响应示例
{
"totalCount": 1,
"pageNo": 1,
"pageSize": 10,
"data": [
{
"id": "4028cbdf6d1400a9016d14bad264002b",
"code": "wxc8m7ap",
"name": "vvvvv",
"versionType": "advanced",
"type": "device",
"encryption": "bydevice",
"productTemplateId": "00",
"projectId": "4028cbdf6d1400a9016d14b85657002a",
"certId": null,
"svrsubCertId": "4028cbdf6d1400a9016d14bad3a0003f",
"certCode": null,
"dataFormat": "透传/自定义",
"protocol": null,
"flag": null,
"publishStatus": false,
"dynamicRegister": false,
"ownerId": "c4dc81c6-da86-427e-b9f9-60e495062a70",
"accountId": "c4dc81c6-da86-427e-b9f9-60e495062a70",
"secertKey": "zwembenLIlGXwbTu",
"description": "vvvv",
"productTemplateName": "自定义品类",
"deviceCount": 1,
"createdTime": "2019-09-08T22:34:10Z",
"updatedTime": "2019-09-08T22:34:10Z",
"region": "cn-north-3",
"availabilityZone": null,
"projectName": "yqq",
"userName": "xuewei81",
"oneDeviceOneCert": true,
"oneProductOneCert": false
}
]
}
产品列表
查询指定项目下所有产品列表。
- URI
GET /iot/v1/products
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
projectId | param | String | 否 | 项目ID |
- 返回参数
返回值为Product列表
Product结构请参考Product
- 示例
请求示例
1 iot.cn-north-3.cloudapi.com/iot/v1/products
2 iot.cn-north-3.cloudapi.com/iot/v1/products?projectId=2c9f3329687f19ec01687fb6a19d0003
响应示例
[
{
"certId": null,
"deviceCount": null,
"productTemplateId": "00",
"protocol": null,
"oneProductOneCert": false,
"oneDeviceOneCert": true,
"userName": null,
"svrsubCertId": "2c9f08e4713079fb017133af03e90441",
"availabilityZone": null,
"versionType": "advanced",
"description": null,
"flag": null,
"accessType": null,
"updatedTime": "2020-04-01T03:00:39Z",
"productTemplateName": null,
"createdTime": "2020-04-01T03:00:39Z",
"dynamicRegister": false,
"region": "cn-north-3",
"dataFormat": "透传/自定义",
"secertKey": null,
"name": "z",
"certCode": null,
"ownerId": "767bb18c-6966-453b-812a-2b9585582d44",
"projectId": "2c9f3329687f19ec01687fb6a19d0003",
"id": "2c9f08e4713079fb017133af02c0042b",
"accountId": "767bb18c-6966-453b-812a-2b9585582d44",
"code": "3zhouser",
"publishStatus": false,
"encryption": "bydevice",
"projectName": null,
"type": "subdevice"
},
{
"certId": null,
"deviceCount": null,
"productTemplateId": "00",
"protocol": null,
"oneProductOneCert": false,
"oneDeviceOneCert": true,
"userName": null,
"svrsubCertId": "2c9f08e4713079fb017130af0e360061",
"availabilityZone": null,
"versionType": "advanced",
"description": "zzzzz",
"flag": null,
"accessType": "pwd",
"updatedTime": "2020-03-31T13:01:50Z",
"productTemplateName": null,
"createdTime": "2020-03-31T13:01:50Z",
"dynamicRegister": false,
"region": "cn-north-3",
"dataFormat": "透传/自定义",
"secertKey": "8EnI0QnRBmrcY8dI",
"name": "zzzzzzzz",
"certCode": null,
"ownerId": "767bb18c-6966-453b-812a-2b9585582d44",
"projectId": "2c9f3329687f19ec01687fb6a19d0003",
"id": "2c9f08e4713079fb017130af0c8a004b",
"accountId": "767bb18c-6966-453b-812a-2b9585582d44",
"code": "1ejt2zi6",
"publishStatus": false,
"encryption": "bydevice",
"projectName": null,
"type": "device"
}
]
产品详情
查询指定产品的详情。
- URI
GET /iot/v1/products/{id}
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
id | path | String | 是 | 产品ID |
- 返回参数
返回值为Product
Product结构请参考Product
- 示例
请求示例
iot.cn-north-3.cloudapi.com/iot/v1/products/2c9f5a9371307add017130920a030041
响应示例
{
"certId": null,
"deviceCount": 0,
"productTemplateId": "243",
"protocol": null,
"oneProductOneCert": false,
"oneDeviceOneCert": true,
"userName": null,
"svrsubCertId": "2c9f5a9371307add017130920af30057",
"availabilityZone": null,
"versionType": "advanced",
"description": null,
"flag": null,
"accessType": "cert",
"updatedTime": "2020-03-31T12:30:09Z",
"productTemplateName": "林业",
"createdTime": "2020-03-31T12:30:09Z",
"dynamicRegister": false,
"region": "cn-north-3",
"dataFormat": "透传/自定义",
"secertKey": "zW0G4zom1QHbPLKX",
"name": "product_6",
"certCode": null,
"ownerId": "767bb18c-6966-453b-812a-2b9585582d44",
"projectId": "2c9f3329687f19ec01687fb6a19d0003",
"id": "2c9f5a9371307add017130920a030041",
"accountId": "767bb18c-6966-453b-812a-2b9585582d44",
"code": "ljd06psn",
"publishStatus": false,
"encryption": "bydevice",
"projectName": "名称2",
"type": "device"
}
产品功能定义详情
获取单个产品功能定义详情。
- URI
GET /iot/v1/products/{productId}/evens/function/{PageNo}/{PageSize}
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
productId | path | String | 是 | 产品ID |
pageNo | path | Integer | 是 | 当前页码(从索引0开始) |
pageSize | path | Integer | 是 | 每页数目,默认值10 |
- 返回参数
名称 | 类型 | 是否必须 | 描述 |
---|---|---|---|
totalCount | Integer | 是 | 产品总条数 |
pageNo | Integer | 是 | 当前页码(从索引0开始) |
data | Object(ProductProp列表,ProductServ列表,ProductEvent列表) | 是 | 产品列表 |
pageSize | Integer | 是 | 每页数目,默认值10 |
返回值为 ProductProp列表请参考ProductProp ProductServ列表请参考ProductServ ProductEvent列表请参考ProductEvent
- 示例
请求示例
iot.cn-north-3.cloudapi.com/iot/v1/products/2c9f33006e459cbd016e7c7f00fc105a/evens/function/{PageNo}/{PageSize}
响应示例
{
"totalCount": 4,
"pageNo": 1,
"pageSize": 10,
"data": [
{
"outputData": "[{\"specs\":\"{\\\"max\\\":123,\\\"min\\\":1,\\\"step\\\":1,\\\"unit\\\":null}\",\"name\":\"out\",\"identifier\":\"out\",\"type\":\"int\"}]",
"updatedTime": "2021-01-21T09:36:40Z",
"identifier": "open",
"inputData": "[{\"specs\":\"{\\\"max\\\":111,\\\"min\\\":1,\\\"step\\\":1,\\\"unit\\\":null}\",\"name\":\"in\",\"identifier\":\"in\",\"type\":\"int\"}]",
"productId": "2c9f80a477053a3a0177055ce7880000",
"description": null,
"accessMode": "",
"type": "",
"callType": "async",
"specs": "",
"evenType": "",
"functionalType": "service",
"name": "open",
"createdTime": "2021-01-21T09:36:40Z",
"id": "2c9f80a4772404450177244d954b0007"
},
{
"outputData": "[{\"identifier\":\"power\",\"name\":\"电量\",\"type\":\"int\",\"specs\":\"{\\\"max\\\":20,\\\"min\\\":0,\\\"step\\\":1,\\\"unit\\\":\\\"百分比 / %\\\"}\"}]",
"identifier": "lowPower",
"updatedTime": "2021-01-21T08:23:37Z",
"inputData": "",
"productId": "2c9f80a477053a3a0177055ce7880000",
"description": "电量过低告警事件",
"accessMode": "",
"type": "",
"callType": "",
"evenType": "info",
"specs": "",
"functionalType": "even",
"name": "电量过低告警",
"createdTime": "2021-01-15T09:27:13Z",
"id": "2c9f80a477053a3a0177055ec442001c"
},
{
"outputData": "",
"updatedTime": "2021-01-15T09:27:13Z",
"identifier": "GeoLocation",
"tempSpecs": "",
"inputData": "",
"productId": "2c9f80a477053a3a0177055ce7880000",
"description": null,
"type": "struct",
"accessMode": "r",
"callType": "",
"evenType": "",
"specs": "[{\"identifier\":\"Longitude\",\"dataType\":{\"specs\":{\"unit\":\"°\",\"min\":\"-180\",\"unitName\":\"度\",\"max\":\"180\",\"step\":\"0.01\"},\"type\":\"double\"},\"name\":\"经度\"},{\"identifier\":\"Latitude\",\"dataType\":{\"specs\":{\"unit\":\"°\",\"min\":\"-90\",\"unitName\":\"度\",\"max\":\"90\",\"step\":\"0.01\"},\"type\":\"double\"},\"name\":\"纬度\"},{\"identifier\":\"Altitude\",\"dataType\":{\"specs\":{\"unit\":\"m\",\"min\":\"0\",\"unitName\":\"米\",\"max\":\"9999\",\"step\":\"0.01\"},\"type\":\"double\"},\"name\":\"海拔\"},{\"identifier\":\"CoordinateSystem\",\"dataType\":{\"specs\":{\"1\":\"WGS_84\",\"2\":\"GCJ_02\"},\"type\":\"enum\"},\"name\":\"坐标系统\"}]",
"functionalType": "property",
"name": "地理位置",
"createdTime": "2021-01-15T09:27:13Z",
"id": "2c9f80a477053a3a0177055ec59d001f"
}
]
}
创建产品
创建产品
- URI
POST /iot/v1/products
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
name | body | String | 是 | 产品名称 |
dataFormat | body | String | 是 | 数据格式(暂时只有透传) |
description | body | String | 否 | 产品描述 |
encryption | body | String | 是 | 证书类型(一机一密) |
projectId | body | String | 是 | 项目ID |
dynamicRegister | body | Boolean | 是 | 是否动态注册 |
productTemplateId | body | String | 是 | 模板ID |
versionType | body | String | 是 | 产品版本(暂时只有高级版) |
type | body | String | 是 | 产品类型 |
accessType | body | String | 是 | 接入方式 |
- 返回参数
返回值为Product
Product结构请参考Product
- 示例
请求示例
url:
iot.cn-north-3.cloudapi.com/iot/v1/products
body:
{
"dataFormat": "透传/自定义",
"description": "我是描述1",
"encryption": "bymodel",
"projectId": "8a48d4a76850747a0168508e1f340001",
"dynamicRegister": false,
"name": "产品1",
"productTemplateId": "00",
"type": "device",
"versionType": "advanced"
"accessType":"cert"
}
响应示例
{
"id": "2c9f34916ed5e836016f455b1ec71ec0",
"code": "5zwqh4hz",
"name": "产品1",
"versionType": "advanced",
"type": "device",
"encryption": "bydevice",
"productTemplateId": "00",
"projectId": "2c9f3329687f19ec01687fb6a19d0003",
"certId": null,
"svrsubCertId": "2c9f34916ed5e836016f455b1f571ed6",
"certCode": null,
"dataFormat": "透传/自定义",
"protocol": null,
"flag": null,
"publishStatus": false,
"dynamicRegister": false,
"ownerId": "767bb18c-6966-453b-812a-2b9585582d44",
"accountId": "767bb18c-6966-453b-812a-2b9585582d44",
"secertKey": "xx1f0MkscMGSHKYc",
"description": "我是描述1",
"productTemplateName": null,
"deviceCount": null,
"createdTime": "2019-12-27T03:16:37Z",
"updatedTime": "2019-12-27T03:16:37Z",
"region": "cn-north-3",
"availabilityZone": null,
"projectName": null,
"userName": null,
"oneDeviceOneCert": true,
"oneProductOneCert": false,
"accessType": "cert"
}
修改产品
更新产品
- URI
PUT /iot/v1/products/{id}
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
id | path | String | 是 | 产品ID |
name | body | String | 是 | 产品名称 |
description | body | String | 否 | 产品描述 |
- 返回参数
返回值为Product列表
Product结构请参考Product
- 示例
请求示例
iot.cn-north-3.cloudapi.com/iot/v1/products/2c9f321c6ed5ea39016f3aaf647f269d
body:
{
"name": "产品2",
"description": "我是描述2"
}
响应示例
{
"id": "2c9f34916ed5e836016f455b1ec71ec0",
"code": "5zwqh4hz",
"name": "产品2",
"versionType": "advanced",
"type": "device",
"encryption": "bydevice",
"productTemplateId": "00",
"projectId": "2c9f3329687f19ec01687fb6a19d0003",
"certId": null,
"svrsubCertId": "2c9f34916ed5e836016f455b1f571ed6",
"certCode": null,
"dataFormat": "透传/自定义",
"protocol": null,
"flag": null,
"publishStatus": false,
"dynamicRegister": false,
"ownerId": "767bb18c-6966-453b-812a-2b9585582d44",
"accountId": "767bb18c-6966-453b-812a-2b9585582d44",
"secertKey": "xx1f0MkscMGSHKYc",
"description": "我是描述2",
"productTemplateName": "自定义品类",
"deviceCount": 0,
"createdTime": "2019-12-27T03:16:37Z",
"updatedTime": "2019-12-27T03:18:53Z",
"region": "cn-north-3",
"availabilityZone": null,
"projectName": "名称2",
"userName": null,
"oneDeviceOneCert": true,
"oneProductOneCert": false,
"accessType": "cert"
}
删除产品
删除产品
- URI
DELETE /iot/v1/products/{id}
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
id | path | String | 是 | 产品ID |
返回参数
无
示例
请求示例
iot.cn-north-3.cloudapi.com/iot/v1/products/2c9f321c6ed5ea39016f3aaf647f269d
响应示例
无
创建产品标签
创建产品标签
- URI
POST /iot/v1/products/{productId}/labels
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
productId | path | String | 是 | 产品ID |
name | body | String | 否 | 标签名字 |
labelKey | body | String | 是 | 标签的key |
value | body | String | 是 | 标签值 |
- 返回参数
返回值为ProductLabel
ProductLabel结构请参考ProductLabel
- 示例
请求示例
iot.cn-north-3.cloudapi.com/iot/v1/products/2c9f33006e459cbd016e7c7f00fc105a/labels
body:
{
"productId": "8a48d4a76854263001685431d5780004",
"name": "标签1",
"labelKey": "label1",
"value": "value1"
}
响应示例
{
"id": "8a48d4a76854263001685435fa45000b",
"productId": "8a48d4a76854263001685431d5780004",
"name": "标签1",
"ownerId": "35e5dfc6-91fc-44b7-9220-dfb793412e67",
"labelKey": "label1",
"value": "value1",
"createdTime": "2019-01-16T01:10:50Z",
"updatedTime": "2019-01-16T01:10:50Z"
}
修改产品标签
更新产品标签
- URI
PUT /iot/v1/products/{productId}/labels/{id}
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
productId | path | String | 是 | 标签的名称 |
id | path | String | 是 | 标签的名称 |
name | body | String | 是 | 标签的名称 |
value | body | String | 是 | 标签的值 |
- 返回参数
返回值为ProductLabel
ProductLabel结构请参考ProductLabel
- 示例
请求示例
iot.cn-north-3.cloudapi.com/iot/v1/products/2c9f34916ed5e836016f16de9f7e1518/labels/2c9f34916ed5e836016f16de9f841519
body:
{
"name": "标签2",
"value": "value2"
}
响应示例
{
"id": "8a48d4a76854263001685435fa45000b",
"productId": "8a48d4a76854263001685431d5780004",
"name": "标签2",
"ownerId": "35e5dfc6-91fc-44b7-9220-dfb793412e67",
"labelKey": "label2",
"value": "value2",
"createdTime": "2019-01-16T01:10:50Z",
"updatedTime": "2019-01-16T02:30:33Z"
}
删除产品标签
删除产品标签
- URI
DELETE /iot/v1/products/{productId}/labels/{id}
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
productId | path | String | 是 | 产品ID |
id | path | String | 是 | 标签ID |
- 返回参数
无
- 示例
请求示例
iot.cn-north-3.cloudapi.com/iot/v1/products/2c9f34916ed5e836016f16de9f7e1518/labels/2c9f34916ed5e836016f16de9f841519
响应示例
无
创建产品属性
创建产品属性
- URI
POST /iot/v1/products/{productId}/props
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
identifier | body | String | 是 | 标识符 |
functionalType | body | String | 是 | 功能类型(property) |
name | body | String | 是 | 功能名称 |
type | body | String | 是 | 类型 |
specs | body | String | 是 | 规格 |
accessMode | body | String | 是 | 可读/可写 |
description | body | String | 否 | 功能的描述 |
- 返回参数
返回值为ProductProp
ProductProp结构请参考ProductProp
- 示例
请求示例
url:
iot.cn-north-3.cloudapi.com/iot/v1/products/2c9f34916ed5e836016f16de9f7e1518/props
body:
int、double、float类型时的请求体(主要区别在specs字段)
{
"identifier": "intTest",
"functionalType": "property",
"name": "wqer",
"description": "描述",
"accessMode": "rw",
"type": "int",
"specs": "{\"max\":1111,\"min\":1,\"step\":1,\"unit\":\"纳米 / nm\"}"
}
枚举及布尔类型时的请求体
{
"identifier": "enumTest",
"functionalType": "property",
"name": "enumTest",
"description": null,
"accessMode": "rw",
"type": "enum",
"specs": "{\"0\":\"2\",\"99\":\"是\"}"
}
时间类型
{
"identifier": "dateTest",
"functionalType": "property",
"name": "dateTest",
"description": null,
"accessMode": "rw",
"type": "date",
"specs": "{}"
}
text类型
{
"identifier": "textTest",
"functionalType": "property",
"name": "textTest",
"description": null,
"accessMode": "rw",
"type": "text",
"specs": "{\"length\":\"12\"}"
}
struct类型
{
"identifier": "structTest",
"functionalType": "property",
"name": "structTest",
"description": null,
"accessMode": "rw",
"type": "struct",
"specs": "[{\"identifier\":\"boolTest\",\"name\":\"boolTest\",\"dataType\":{\"specs\":{\"0\":\"kai\",\"1\":\"关\"},\"type\":\"bool\"}},{\"identifier\":\"textTest\",\"name\":\"textTest\",\"dataType\":{\"specs\":{\"length\":\"12\"},\"type\":\"text\"}},{\"identifier\":\"dateTest\",\"name\":\"dateTest\",\"dataType\":{\"specs\":{},\"type\":\"date\"}},{\"identifier\":\"enumTest\",\"name\":\"enumTest\",\"dataType\":{\"specs\":{\"2\":\"234\",\"33\":\"1\"},\"type\":\"enum\"}},{\"identifier\":\"intTest\",\"name\":\"intTest\",\"dataType\":{\"specs\":{\"max\":123,\"min\":1,\"step\":2,\"unit\":\"平方米 / ㎡\"},\"type\":\"int\"}}]"
}
数组类型
{
"identifier": "arrayTest",
"functionalType": "property",
"name": "arrayTest",
"description": null,
"accessMode": "rw",
"type": "array",
"specs": "{\"size\":11,\"item\":{\"type\":\"int\"}}"
}
数组下包含结构体的类型
{
"identifier": "arrayToStructTest",
"functionalType": "property",
"name": "arrayToStructTest",
"description": null,
"accessMode": "rw",
"type": "array",
"specs": "{\"size\":12,\"item\":{\"specs\":[{\"identifier\":\"floatTest\",\"name\":\"floatTest\",\"dataType\":{\"specs\":{\"max\":122,\"min\":10.2,\"step\":1,\"unit\":\"微米 / μm\"},\"type\":\"float\"}},{\"identifier\":\"enumTest\",\"name\":\"enumTest\",\"dataType\":{\"specs\":{\"22\":\"22\",\"33\":\"aa\"},\"type\":\"enum\"}},{\"identifier\":\"boolTest\",\"name\":\"boolTest\",\"dataType\":{\"specs\":{\"0\":\"aa\",\"1\":\"bb\"},\"type\":\"bool\"}},{\"identifier\":\"textTest\",\"name\":\"textTest\",\"dataType\":{\"specs\":{\"length\":\"12\"},\"type\":\"text\"}},{\"identifier\":\"dateTest\",\"name\":\"dateTest\",\"dataType\":{\"specs\":{},\"type\":\"date\"}}],\"type\":\"struct\"}}"
}
响应示例
{
"id": "8a48d4b96ee8802c016ee89e01430000",
"productId": "8a48d4b96ee848bb016ee84d1661002e",
"functionalType": "property",
"name": "intTest",
"identifier": "intTest",
"type": "int",
"accessMode": "rw",
"specs": "{\"max\":2222,\"min\":2,\"step\":2,\"unit\":\"厘米 / cm\"}",
"tempSpecs": null,
"description": null,
"createdTime": null,
"updatedTime": "2019-12-19T02:41:18Z"
}
修改产品属性
更新产品属性
- URI
PUT /iot/v1/products/{productId}/props/{id}
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
productId | path | String | 是 | 产品ID |
id | path | String | 是 | 功能ID |
functionalType | body | String | 是 | 功能类型 |
name | body | String | 是 | 功能名称 |
identifier | body | String | 是 | 标识符 |
type | body | String | 是 | 类型 |
accessMode | body | String | 是 | 可读/可写 |
description | body | String | 否 | 功能的描述 |
- 返回参数
返回值为ProductProp
ProductProp结构请参考ProductProp
- 示例
请求示例
url:
iot.cn-north-3.cloudapi.com/iot/v1/products/2c9f34916ed5e836016f16de9f7e1518/props/2c9f321c6ed5ea39016f3196ac2e25e0
body:
建议参考创建产品功能模块
{
"identifier": "intTest",
"functionalType": "property",
"name": "wqer",
"description": "描述",
"accessMode": "rw",
"type": "int",
"specs": "{\"max\":1111,\"min\":1,\"step\":1,\"unit\":\"纳米 / nm\"}"
}
响应示例
{
"id": "8a48d4b96ee8802c016ee89e01430000",
"productId": "8a48d4b96ee848bb016ee84d1661002e",
"functionalType": "property",
"name": "intTest",
"identifier": "intTest",
"type": "int",
"accessMode": "rw",
"specs": "{\"max\":2222,\"min\":2,\"step\":2,\"unit\":\"厘米 / cm\"}",
"tempSpecs": null,
"description": null,
"createdTime": null,
"updatedTime": "2019-12-19T02:41:18Z"
}
删除产品属性
删除产品属性
- URI
DELETE /iot/v1/products/{productId}/props/{id}
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
productId | path | String | 是 | 产品ID |
id | path | String | 是 | 功能ID |
返回参数
无
示例
请求示例
iot.cn-north-3.cloudapi.com/iot/v1/products/2c9f34916ed5e836016f16de9f7e1518/props/2c9f34916ed5e836016f16de9f841519
响应示例
无
创建指令参数
创建指令参数
- URI
POST /iot/v1/products/{productId}/services
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
identifier | body | String | 是 | 标识符 |
functionalType | body | String | 是 | 功能类型(service) |
name | body | String | 是 | 功能名称 |
type | body | String | 是 | 类型 |
specs | body | String | 是 | 规格 |
description | body | String | 否 | 功能的描述 |
inputData | body | String | 否 | 输入参数 |
outputData | body | String | 否 | 输出参数 |
callType | body | String | 是 | 异步或同步(async/sync) |
- 返回参数
返回值为ProductServ
ProductServ结构请参考ProductServ
- 示例
请求示例
url:
iot.cn-north-3.cloudapi.com/iot/v1/products/2c9f34916ed5e836016f16de9f7e1518/services
body:
数据结构:
{
"functionalType":"service",
"identifier":"serviceTest2",
"name":"serviceTest2",
"callType":"async",
"inputData": [
{
"identifier":"input",
"name":"input",
"type":"int",
"specs": {
"min":"0",
"max":"12345",
"step":"1"
}
}
],
"outputData": [
{
"identifier":"output",
"name":"output",
"type":"text",
"specs": {
"length":"1024"
}
}
]
}
int、double、float类型时的数据结构
{
"identifier": "intTest",
"specs": {
"unit": "turn/m",
"unit_name": "千米/小时",
"min": "1",
"max": "1234",
"step": "12"
},
"type": "int",
"name": "intTest"
}
枚举及布尔类型时的数据结构
{
"identifier": "EnumTest",
"specs": {
"1": "1",
"2": "5",
},
"type": "enum",
"name": "EnumTest"
}
text数据类型的数据结构
{
"identifier": "textTest",
"specs": {
"length": "10",
},
"type": "text",
"name": "textTest"
}
date数据类型的数据结构
{
"identifier":"dateTest",
"functionalType":"property",
"specs": {},
"type":"date",
"name":"dateTest"
}
响应示例
{
"id": "2c9f80a477053a3a01771a7d41a0010b",
"description": null,
"productId": "2c9f80a477053a3a017714184e630024",
"functionalType": "service",
"identifier": "serviceTest2",
"name": "serviceTest2",
"inputData": "[{\"specs\":\"{\\\"max\\\":12345,\\\"min\\\":0,\\\"step\\\":1,\\\"unit\\\":\\\"平方米 / ㎡\\\"}\",\"name\":\"input\",\"identifier\":\"input\",\"type\":\"int\"}]",
"outputData": "[{\"specs\":\"{\\\"length\\\":\\\"1024\\\"}\",\"name\":\"output\",\"identifier\":\"output\",\"type\":\"text\"}]",
"callType": "async",
"createdTime": "2021-01-19T11:52:32Z",
"updatedTime": "2021-01-19T11:52:32Z",
"inputDataSpecs": [
{
"identifier": "input",
"name": "input",
"type": "int",
"specs": "{\"max\":12345,\"min\":0,\"step\":1,\"unit\":\"平方米 / ㎡\"}",
"dataSpecs": {
"unit": "平方米 / ㎡",
"unitName": null,
"min": "0",
"max": "12345",
"step": "1"
}
}
],
"outputDataSpecs": [
{
"identifier": "output",
"name": "output",
"type": "text",
"specs": "{\"length\":\"1024\"}",
"dataSpecs": {
"length": 1024
}
}
]
}
修改指令参数
更新指令参数
- URI
PUT /iot/v1/products/{productId}/services/{id}
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
identifier | body | String | 是 | 标识符 |
functionalType | body | String | 是 | 功能类型(service) |
name | body | String | 是 | 功能名称 |
type | body | String | 是 | 类型 |
specs | body | String | 是 | 规格 |
description | body | String | 否 | 功能的描述 |
inputData | body | String | 否 | 输入参数 |
outputData | body | String | 否 | 输出参数 |
callType | body | String | 是 | 异步或同步(async/sync) |
- 返回参数
返回值为ProductServ
ProductServ结构请参考ProductServ
- 示例
请求示例
url:
iot.cn-north-3.cloudapi.com/iot/v1/products/2c9f34916ed5e836016f16de9f7e1518/services/2c9f321c6ed5ea39016f3196ac2e25e0
body:
建议参考创建产品功能模块
{
"functionalType":"service",
"identifier":"serviceTest2",
"name":"serviceTest2",
"callType":"async",
"inputData": [
{
"identifier":"input",
"name":"input",
"type":"int",
"specs": {
"min":"0",
"max":"12345",
"step":"1"
}
}
],
"outputData": [
{
"identifier":"output",
"name":"output",
"type":"text",
"specs": {
"length":"1024"
}
}
]
}
响应示例
{
"id": "2c9f80a477053a3a01771a7d41a0010b",
"description": null,
"productId": "2c9f80a477053a3a017714184e630024",
"functionalType": "service",
"identifier": "serviceTest2",
"name": "serviceTest2",
"inputData": "[{\"specs\":\"{\\\"max\\\":12345,\\\"min\\\":0,\\\"step\\\":1,\\\"unit\\\":\\\"平方米 / ㎡\\\"}\",\"name\":\"input\",\"identifier\":\"input\",\"type\":\"int\"}]",
"outputData": "[{\"specs\":\"{\\\"length\\\":\\\"1024\\\"}\",\"name\":\"output\",\"identifier\":\"output\",\"type\":\"text\"}]",
"callType": "async",
"createdTime": "2021-01-19T11:52:32Z",
"updatedTime": "2021-01-19T11:52:32Z",
"inputDataSpecs": [
{
"identifier": "input",
"name": "input",
"type": "int",
"specs": "{\"max\":12345,\"min\":0,\"step\":1,\"unit\":\"平方米 / ㎡\"}",
"dataSpecs": {
"unit": "平方米 / ㎡",
"unitName": null,
"min": "0",
"max": "12345",
"step": "1"
}
}
],
"outputDataSpecs": [
{
"identifier": "output",
"name": "output",
"type": "text",
"specs": "{\"length\":\"1024\"}",
"dataSpecs": {
"length": 1024
}
}
]
}
删除指令参数
删除指令参数
- URI
DELETE /iot/v1/products/{productId}/services/{id}
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
productId | path | String | 是 | 产品ID |
id | path | String | 是 | 功能ID |
返回参数
无
示例
请求示例
iot.cn-north-3.cloudapi.com/iot/v1/products/2c9f34916ed5e836016f16de9f7e1518/services/2c9f34916ed5e836016f16de9f841519
响应示例
无
创建产品事件
创建产品事件
- URI
POST /iot/v1/products/{productId}/evens
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
identifier | body | String | 是 | 标识符 |
functionalType | body | String | 是 | 功能类型(even) |
name | body | String | 是 | 功能名称 |
type | body | String | 是 | 类型 |
specs | body | String | 是 | 规格 |
description | body | String | 否 | 功能的描述 |
outputData | body | String | 否 | 输出参数 |
evenType | body | String | 是 | 事件类型(info/warn/error) |
- 返回参数
返回值为ProductEvent
ProductEvent结构请参考ProductEvent
- 示例
请求示例
url:
iot.cn-north-3.cloudapi.com/iot/v1/products/2c9f34916ed5e836016f16de9f7e1518/evens
body:
//数据结构
{
"identifier":"eventTest",
"functionalType":"even",
"name":"eventTest",
"evenType":"error",
"outputData": [
{
"identifier":"intTest",
"name":"intTest",
"dataType": {
"type":"int",
"specs": {
"min":"1",
"max":"1234567",
"step":"2"
}
}
}
]
}
int、double、float类型时的outputData
{
"identifier": "intTest",
"functionalType": "property",
"name": "wqer",
"description": "描述",
"accessMode": "rw",
"type": "int",
"specs": "{\"max\":1111,\"min\":1,\"step\":1,\"unit\":\"纳米 / nm\"}"
}
枚举及布尔类型时的outputData
{
"identifier":"EnumTest",
"functionalType":"property",
"specs": {
"1":"1",
"2":"5"
},
"type":"enum",
"name":"EnumTest"
}
时间类型的outputData
{
"identifier":"dateTest",
"functionalType":"property",
"specs": {},
"type":"date",
"name":"dateTest"
}
text类型的outputData
{
"identifier":"testTest",
"functionalType":"property",
"specs": {
"length":"10"
},
"type":"text",
"name":"testTest"
}
响应示例
{
"id": "2c9f80a477053a3a01771a9f1ea7010e",
"description": null,
"productId": "2c9f80a477053a3a017714184e630024",
"functionalType": "even",
"identifier": "eventTest",
"name": "eventTest",
"outputData": "[{\"specs\":\"{\\\"max\\\":1234567,\\\"min\\\":1,\\\"step\\\":2,\\\"unit\\\":null}\",\"name\":\"intTest\",\"identifier\":\"intTest\",\"type\":\"int\"}]",
"evenType": "error",
"createdTime": "2021-01-19T12:29:31Z",
"updatedTime": "2021-01-19T12:29:31Z",
"outputDataSpecs": [
{
"identifier": "intTest",
"name": "intTest",
"type": "int",
"specs": "{\"max\":1234567,\"min\":1,\"step\":2,\"unit\":null}",
"dataSpecs": {
"unit": "null",
"unitName": null,
"min": "1",
"max": "1234567",
"step": "2"
}
}
]
}
修改产品事件
更新产品事件
- URI
PUT /iot/v1/products/{productId}/evens/{id}
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
identifier | body | String | 是 | 标识符 |
functionalType | body | String | 是 | 功能类型(even) |
name | body | String | 是 | 功能名称 |
type | body | String | 是 | 类型 |
specs | body | String | 是 | 规格 |
description | body | String | 否 | 功能的描述 |
outputData | body | String | 否 | 输出参数 |
evenType | body | String | 是 | 事件类型(info/warn/error) |
- 返回参数
返回值为ProductEvent
ProductEvent结构请参考ProductEvent
- 示例
请求示例
url:
iot.cn-north-3.cloudapi.com/iot/v1/products/2c9f34916ed5e836016f16de9f7e1518/evens/2c9f321c6ed5ea39016f3196ac2e25e0
body:
建议参考创建产品功能模块
{
"identifier":"eventTest",
"functionalType":"even",
"name":"eventTest",
"evenType":"error",
"outputData": [
{
"identifier":"intTest",
"name":"intTest",
"dataType": {
"type":"int",
"specs": {
"min":"1",
"max":"1234567",
"step":"2"
}
}
}
]
}
响应示例
{
"id": "2c9f80a477053a3a01771a9f1ea7010e",
"description": null,
"productId": "2c9f80a477053a3a017714184e630024",
"functionalType": "even",
"identifier": "eventTest",
"name": "eventTest",
"outputData": "[{\"specs\":\"{\\\"max\\\":1234567,\\\"min\\\":1,\\\"step\\\":2,\\\"unit\\\":null}\",\"name\":\"intTest\",\"identifier\":\"intTest\",\"type\":\"int\"}]",
"evenType": "error",
"createdTime": "2021-01-19T12:29:31Z",
"updatedTime": "2021-01-19T12:29:31Z",
"outputDataSpecs": [
{
"identifier": "intTest",
"name": "intTest",
"type": "int",
"specs": "{\"max\":1234567,\"min\":1,\"step\":2,\"unit\":null}",
"dataSpecs": {
"unit": "null",
"unitName": null,
"min": "1",
"max": "1234567",
"step": "2"
}
}
]
}
删除产品事件
删除产品事件
- URI
DELETE /iot/v1/products/{productId}/evens/{id}
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
productId | path | String | 是 | 产品ID |
id | path | String | 是 | 功能ID |
返回参数
无
示例
请求示例
iot.cn-north-3.cloudapi.com/iot/v1/products/2c9f34916ed5e836016f16de9f7e1518/evens/2c9f34916ed5e836016f16de9f841519
响应示例
无
设备管理
创建设备
添加设备
- URI
POST /iot/v1/devices
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
code | body | String | 是 | 设备名称 |
projectId | body | String | 是 | 项目ID |
productId | body | String | 是 | 产品ID |
description | body | String | 否 | 描述 |
- 返回参数
返回值为Device,Device结构请参考Device
- 示例
请求示例
url:
iot.cn-north-3.cloudapi.com/iot/v1/devices
body:
{
"code": "d1",
"projectId": "2c9f3329687f19ec01687fb6a19d0003",
"productId": "2c9f34916ed5e836016f455b1ec71ec0",
"description": "设备1"
}
响应示例
{
"certId": "2c9f5a9371307add0171347200370749",
"updatedTime": "2020-04-01T06:33:38Z",
"projectCode": "iotzo86wpdc",
"certCode": "iotzo86wpdc-5zwqh4hz-d1",
"accessType": "cert",
"gatewayCode": null,
"gatewayId": null,
"accessPassword": null,
"productCode": "5zwqh4hz",
"userName": null,
"description": "设备1",
"flag": null,
"deviceLabels": [
{
"value": "",
"deviceId": "2c9f5a9371307add01713471fed00745",
"id": "2c9f5a9371307add01713471fed20746",
"name": "生产厂家",
"labelKey": "manufacturer",
"createdTime": "2020-04-01T06:33:38Z",
"updatedTime": "2020-04-01T06:33:38Z",
"source": "system",
"ownerId": "767bb18c-6966-453b-812a-2b9585582d44"
},
{
"value": "",
"deviceId": "2c9f5a9371307add01713471fed00745",
"id": "2c9f5a9371307add01713471fed30747",
"name": "产品型号",
"labelKey": "model",
"createdTime": "2020-04-01T06:33:38Z",
"updatedTime": "2020-04-01T06:33:38Z",
"source": "system",
"ownerId": "767bb18c-6966-453b-812a-2b9585582d44"
},
{
"value": "",
"deviceId": "2c9f5a9371307add01713471fed00745",
"id": "2c9f5a9371307add01713471fed30748",
"name": "地理位置",
"labelKey": "location",
"createdTime": "2020-04-01T06:33:38Z",
"updatedTime": "2020-04-01T06:33:38Z",
"source": "system",
"ownerId": "767bb18c-6966-453b-812a-2b9585582d44"
}
],
"createdTime": "2020-04-01T06:33:38Z",
"lastestOnlineTime": null,
"online": null,
"active": null,
"region": "cn-north-3",
"productId": "2c9f34916ed5e836016f455b1ec71ec0",
"dataFormat": null,
"name": null,
"banned": null,
"version": null,
"type": "device",
"id": "2c9f5a9371307add01713471fed00745",
"accountId": "767bb18c-6966-453b-812a-2b9585582d44",
"availabilityZone": null,
"ownerId": "767bb18c-6966-453b-812a-2b9585582d44",
"code": "d1",
"productName": null,
"projectId": "2c9f3329687f19ec01687fb6a19d0003"
}
指定产品设备列表
查询指定产品下所有设备列表
- URI
GET /iot/v1/devices
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
type | param | String | 是 | 查询的设备类型,此处填写'device' |
projectId | param | String | 否 | 项目Id(无论是否有值,都不会被使用) |
productId | param | String | 是 | 产品Id |
- 返回参数
返回值为Device集合,Device结构请参考Device
- 示例
请求示例
iot.cn-north-3.cloudapi.com/iot/v1/devices?type=device&productId=2c9f34916ed5e836016ed60b2826000a
响应示例
[
{
"certId": "2c9f5a9371307add0171346bb4cb0706",
"updatedTime": "2020-04-01T06:26:45Z",
"projectCode": "iotzo86wpdc",
"certCode": null,
"accessType": "cert",
"gatewayCode": null,
"gatewayId": null,
"accessPassword": null,
"productCode": "5zwqh4hz",
"userName": null,
"description": "设备描述1",
"flag": null,
"deviceLabels": null,
"createdTime": "2020-04-01T06:26:45Z",
"lastestOnlineTime": null,
"online": null,
"active": null,
"region": "cn-north-3",
"productId": "2c9f34916ed5e836016f455b1ec71ec0",
"dataFormat": null,
"name": null,
"banned": null,
"version": null,
"type": "device",
"id": "2c9f5a9371307add0171346bb4200702",
"accountId": "767bb18c-6966-453b-812a-2b9585582d44",
"availabilityZone": null,
"ownerId": "767bb18c-6966-453b-812a-2b9585582d44",
"code": "device1",
"productName": null,
"projectId": "2c9f3329687f19ec01687fb6a19d0003"
},
{
"certId": "2c9f5a9371307add0171347200370749",
"updatedTime": "2020-04-01T06:33:38Z",
"projectCode": "iotzo86wpdc",
"certCode": null,
"accessType": "cert",
"gatewayCode": null,
"gatewayId": null,
"accessPassword": null,
"productCode": "5zwqh4hz",
"userName": null,
"description": "设备1",
"flag": null,
"deviceLabels": null,
"createdTime": "2020-04-01T06:33:38Z",
"lastestOnlineTime": null,
"online": null,
"active": null,
"region": "cn-north-3",
"productId": "2c9f34916ed5e836016f455b1ec71ec0",
"dataFormat": null,
"name": null,
"banned": null,
"version": null,
"type": "device",
"id": "2c9f5a9371307add01713471fed00745",
"accountId": "767bb18c-6966-453b-812a-2b9585582d44",
"availabilityZone": null,
"ownerId": "767bb18c-6966-453b-812a-2b9585582d44",
"code": "d1",
"productName": null,
"projectId": "2c9f3329687f19ec01687fb6a19d0003"
}
]
设备详情
查询指定设备详情
- URI
GET /iot/v1/devices/{deviceId}
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
deviceId | path | String | 是 | 设备id |
- 返回参数
返回值为Device,Device结构请参考Device
- 示例
请求示例
iot.cn-north-3.cloudapi.com/iot/v1/devices/2c9f5a9371307add01713471fed00745
响应示例
{
"certId": "2c9f5a9371307add0171347200370749",
"updatedTime": "2020-04-01T06:33:38Z",
"projectCode": "iotzo86wpdc",
"certCode": "iotzo86wpdc-5zwqh4hz-d1",
"accessType": "cert",
"gatewayCode": null,
"gatewayId": null,
"accessPassword": null,
"productCode": "5zwqh4hz",
"userName": null,
"description": "设备1",
"flag": null,
"deviceLabels": null,
"createdTime": "2020-04-01T06:33:38Z",
"lastestOnlineTime": null,
"online": false,
"active": false,
"region": "cn-north-3",
"productId": "2c9f34916ed5e836016f455b1ec71ec0",
"dataFormat": "透传/自定义",
"name": null,
"banned": null,
"version": null,
"type": "device",
"id": "2c9f5a9371307add01713471fed00745",
"accountId": "767bb18c-6966-453b-812a-2b9585582d44",
"availabilityZone": null,
"ownerId": "767bb18c-6966-453b-812a-2b9585582d44",
"code": "d1",
"productName": "产品2",
"projectId": "2c9f3329687f19ec01687fb6a19d0003"
}
修改设备
查询指定设备详情
- URI
PUT /iot/v1/devices/{deviceId}
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
deviceId | path | String | 是 | 设备的uuid |
name | body | String | 否 | 设备名称 |
description | body | String | 否 | 设备描述 |
- 返回参数
返回值为Device,Device结构请参考Device
- 示例
请求示例
url:
iot.cn-north-3.cloudapi.com/iot/v1/devices/2c9f5a9371307add01713471fed00745
body:
{
"id": "2c9f5a9371307add01713471fed00745",
"description": ""
}
响应示例
{
"certId": "2c9f5a9371307add0171347200370749",
"updatedTime": "2020-04-01T06:38:37Z",
"projectCode": "iotzo86wpdc",
"certCode": "iotzo86wpdc-5zwqh4hz-d1",
"accessType": "cert",
"gatewayCode": null,
"gatewayId": null,
"accessPassword": null,
"productCode": "5zwqh4hz",
"userName": null,
"description": "",
"flag": null,
"deviceLabels": null,
"createdTime": "2020-04-01T06:33:38Z",
"lastestOnlineTime": null,
"online": false,
"active": false,
"region": "cn-north-3",
"productId": "2c9f34916ed5e836016f455b1ec71ec0",
"dataFormat": "透传/自定义",
"name": null,
"banned": null,
"version": null,
"type": "device",
"id": "2c9f5a9371307add01713471fed00745",
"accountId": "767bb18c-6966-453b-812a-2b9585582d44",
"availabilityZone": null,
"ownerId": "767bb18c-6966-453b-812a-2b9585582d44",
"code": "d1",
"productName": "产品2",
"projectId": "2c9f3329687f19ec01687fb6a19d0003"
}
删除设备
删除指定设备
- URI
DELETE /iot/v1/devices/{deviceId}
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
deviceId | path | String | 是 | 设备id |
- 返回参数
无
- 示例
请求示例
iot.cn-north-3.cloudapi.com/iot/v1/devices/2c9f321c6ed5ea39016f36d511b425f8
响应示例
无
查询指定设备状态
URI
GET /iot/v1/devices/{deviceId}/device-status
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
deviceId | path | String | 是 | 设备id |
- 返回参数
名称 | 类型 | 是否必须 | 描述 |
---|---|---|---|
latestOnlineTime | Date | 否 | 最近上线时间 |
deviceCode | String | 是 | 设备Code |
active | boolean | 是 | 是否激活 |
online | boolean | 是 | 是否在线 |
示例
请求示例
iot.cn-north-3.cloudapi.com/iot/v1/devices/2c9f321c6ed5ea39016f16df37412078/device-status
响应示例
{
"latestOnlineTime": null,
"productCode": "mzj1f07s",
"deviceCode": "deviceh55h4yd3",
"online": false,
"active": false
}
查询指定产品下设备状态
查询指定设备的运行状态
- URI
GET /iot/v1/devices/device-status
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
productId | param | String | 是 | 产品id |
- 返回参数
名称 | 类型 | 是否必须 | 描述 |
---|---|---|---|
latestOnlineTime | Date | 否 | 最近上线时间 |
deviceCode | String | 是 | 设备Code |
active | boolean | 是 | 是否激活 |
online | boolean | 是 | 是否在线 |
- 示例
请求示例
iot.cn-north-3.cloudapi.com/iot/v1/devices/device-status?productId=2c9f34916ed5e836016f16de9f7e1518
响应示例
[
{
"latestOnlineTime": null,
"productCode": "mzj1f07s",
"deviceCode": "deviceh55h4yd3",
"online": false,
"active": false
}
]
获取指定产品下设备在线激活数量
获取指定产品下设备在线激活数量
- URI
GET /iot/v1/open-api/devices/statistics
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
productId | param | String | 是 | 产品id |
- 返回参数
名称 | 类型 | 是否必须 | 描述 |
---|---|---|---|
data | Object(设备在线激活及总数) | 是 | 设备在线激活数量 |
- 示例
请求示例
iot.cn-north-3.cloudapi.com/iot/v1/open-api/devices/statistics?productId=2c9f34916ed5e836016f16de9f7e1518
响应示例
{
"onlineDeviceCount": 0,
"devices": 1,
"activeDeviceCount": 0
}
查询指定产品设备列表(分页)
查询指定产品设备列表(分页)
- URI
GET /iot/v1/devices/{pageNo}/{pageSize}
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
pageNo | path | Integer | 是 | 当前页码(从索引0开始) |
pageSize | path | Integer | 是 | 每页数目,默认值10 |
productId | param | String | 是 | 产品id |
codes | param | String | 否 | 设备codes,以 ,分隔的字符串 |
- 返回参数
名称 | 类型 | 是否必须 | 描述 |
---|---|---|---|
totalCount | Integer | 是 | 设备总条数 |
pageNo | Integer | 是 | 当前分页为第几页 |
data | Object(Device列表) | 是 | 设备列表 |
pageSize | Integer | 是 | 分页大小 |
- 示例
请求示例
iot.cn-north-3.cloudapi.com/iot/v1/open-api/devices/0/10?productId=2c9f34916ed5e836016f16de9f7e1518&codes=deviceh55h4yd3
响应示例
{
"totalCount": 1,
"pageNo": 1,
"pageSize": 10,
"data": [
{
"id": "2c9f321c6ed5ea39016f16df37412078",
"code": "deviceh55h4yd3",
"name": "api网关post请求测试",
"certId": "2c9f321c6ed5ea39016f16df3836207c",
"version": null,
"certCode": null,
"type": "gateway",
"gatewayId": null,
"productId": "2c9f34916ed5e836016f16de9f7e1518",
"productCode": "mzj1f07s",
"flag": null,
"productName": "api网关测试",
"projectId": "2c9f3329687f19ec01687fb6a19d0003",
"region": "cn-north-3",
"availabilityZone": null,
"ownerId": "767bb18c-6966-453b-812a-2b9585582d44",
"accountId": "767bb18c-6966-453b-812a-2b9585582d44",
"banned": null,
"dataFormat": null,
"online": false,
"active": false,
"lastestOnlineTime": null,
"createdTime": "2019-12-18T02:38:45Z",
"updatedTime": "2019-12-18T02:38:45Z",
"description": null,
"projectCode": "iotzo86wpdc",
"deviceLabels": null,
"cert": null,
"userName": null,
"gatewayCode": null
}
]
}
指定产品下批量查询设备详情
指定产品下批量查询设备详情
- URI
GET /iot/v1/devices/devices-details
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
productId | param | String | 是 | 产品id |
codes | param | String | 是 | 设备codes组 |
- 返回参数
名称 | 类型 | 是否必须 | 描述 |
---|---|---|---|
data | Object(Device列表) | 是 | 设备列表 |
- 示例
请求示例
iot.cn-north-3.cloudapi.com/iot/v1/open-api/devices/devices-details?productId=2c9f34916ed5e836016f455b1ec71ec0&codes=devicexh1gs7hw,a
响应示例
[
{
"certId": "2c9f5a9371307add0171347200370749",
"updatedTime": "2020-04-01T06:33:38Z",
"projectCode": "iotzo86wpdc",
"certCode": "iotzo86wpdc-5zwqh4hz-d1",
"accessType": "cert",
"gatewayCode": null,
"gatewayId": null,
"accessPassword": null,
"productCode": "5zwqh4hz",
"userName": null,
"description": "设备1",
"flag": null,
"deviceLabels": null,
"createdTime": "2020-04-01T06:33:38Z",
"lastestOnlineTime": null,
"online": false,
"active": false,
"region": "cn-north-3",
"productId": "2c9f34916ed5e836016f455b1ec71ec0",
"dataFormat": "透传/自定义",
"name": null,
"banned": null,
"version": null,
"type": "device",
"id": "2c9f5a9371307add01713471fed00745",
"accountId": "767bb18c-6966-453b-812a-2b9585582d44",
"availabilityZone": null,
"ownerId": "767bb18c-6966-453b-812a-2b9585582d44",
"code": "d1",
"productName": "产品2",
"projectId": "2c9f3329687f19ec01687fb6a19d0003"
},
{
"a": "设备不存在"
}
]
批量查询指定设备的运行状态
批量查询指定设备的运行状态
- URI
GET /iot/v1/devices/device-status
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
ids | param | String | 是 | 设备id组 |
- 返回参数
名称 | 类型 | 是否必须 | 描述 |
---|---|---|---|
data | Object(Device在线激活状态) | 是 | Device在线激活状态 |
- 示例
请求示例
iot.cn-north-3.cloudapi.com/iot/v1/open-api/devices/device-status?ids=2c9f321c6ed5ea39016f16df37412078,a
响应示例
{
"a": {
"message": "该设备不属于该项目或不存在"
},
"2c9f321c6ed5ea39016f16df37412078": {
"latestOnlineTime": null,
"productCode": "mzj1f07s",
"devicecode": "deviceh55h4yd3",
"isOnline": "false",
"isActive": "false"
}
}
子设备所属网关
根据子设备信息查询对应的网关设备信息
- URI
GET iot/v1/devices/gateway
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
subdeviceId | param | String | 是 | 子设备id |
- 返回参数
返回值为Device,Device结构请参考Device
- 示例
请求示例
iot.cn-north-3.cloudapi.com/iot/v1/devices/gateway?subdeviceId=2c9f321c6ed5ea39016ed5f621c60ad4
响应示例
{
"certId": "2c9f5a9371307add0171347200370749",
"updatedTime": "2020-04-01T06:33:38Z",
"projectCode": "iotzo86wpdc",
"certCode": "iotzo86wpdc-5zwqh4hz-d1",
"accessType": "cert",
"gatewayCode": null,
"gatewayId": null,
"accessPassword": null,
"productCode": "5zwqh4hz",
"userName": null,
"description": "设备1",
"flag": null,
"deviceLabels": null,
"createdTime": "2020-04-01T06:33:38Z",
"lastestOnlineTime": null,
"online": false,
"active": false,
"region": "cn-north-3",
"productId": "2c9f34916ed5e836016f455b1ec71ec0",
"dataFormat": "透传/自定义",
"name": null,
"banned": null,
"version": null,
"type": "device",
"id": "2c9f5a9371307add01713471fed00745",
"accountId": "767bb18c-6966-453b-812a-2b9585582d44",
"availabilityZone": null,
"ownerId": "767bb18c-6966-453b-812a-2b9585582d44",
"code": "d1",
"productName": "产品2",
"projectId": "2c9f3329687f19ec01687fb6a19d0003"
}
指定设备标签列表
- URI
GET /iot/v1/devices/{deviceId}/labels
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
deviceId | path | String | 是 | 设备id |
- 返回参数
返回值为DeviceLabel集合 DeviceLabel结构请参考DeviceLabel
- 示例
请求示例
iot.cn-north-3.cloudapi.com/iot/v1/devices/2c9f321c6ed5ea39016f16df37412078/labels
响应示例
[
{
"id": "2c9f321c6ed5ea39016f16f11218207f",
"deviceId": "2c9f321c6ed5ea39016f16df37412078",
"ownerId": "767bb18c-6966-453b-812a-2b9585582d44",
"labelKey": "1",
"name": "framework",
"value": "1",
"source": null,
"createdTime": "2019-12-18T02:58:15Z",
"updatedTime": "2019-12-18T02:58:15Z"
},
{
"id": "2c9f321c6ed5ea39016f16df37422079",
"deviceId": "2c9f321c6ed5ea39016f16df37412078",
"ownerId": "767bb18c-6966-453b-812a-2b9585582d44",
"labelKey": "manufacturer",
"name": "生产厂家",
"value": "",
"source": "system",
"createdTime": "2019-12-18T02:38:45Z",
"updatedTime": "2019-12-18T02:38:45Z"
},
{
"id": "2c9f321c6ed5ea39016f16df3742207a",
"deviceId": "2c9f321c6ed5ea39016f16df37412078",
"ownerId": "767bb18c-6966-453b-812a-2b9585582d44",
"labelKey": "model",
"name": "产品型号",
"value": "",
"source": "system",
"createdTime": "2019-12-18T02:38:45Z",
"updatedTime": "2019-12-18T02:38:45Z"
},
{
"id": "2c9f321c6ed5ea39016f16df3743207b",
"deviceId": "2c9f321c6ed5ea39016f16df37412078",
"ownerId": "767bb18c-6966-453b-812a-2b9585582d44",
"labelKey": "location",
"name": "地理位置",
"value": "",
"source": "system",
"createdTime": "2019-12-18T02:38:45Z",
"updatedTime": "2019-12-18T02:38:45Z"
}
]
创建设备标签
为指定设备设置标签
- URI
POST /iot/v1/devices/{deviceId}/labels
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
deviceId | path | String | 是 | 设备ID |
deviceId | body | String | 是 | 设备ID |
name | body | String | 是 | 标签名字 |
labelKey | body | String | 是 | 标签的key |
value | body | String | 是 | 标签值 |
- 返回参数
返回值为DeviceLabel
DeviceLabel结构请参考DeviceLabel
- 示例
请求示例
url:
iot.cn-north-3.cloudapi.com/iot/v1/devices/2c9f321c6ed5ea39016f16df37412078/labels
body:
{
"deviceId": "2c9f321c6ed5ea39016f16df37412078",
"name": "name1",
"labelKey": "key1",
"value": "value1"
}
响应示例
{
"id": "8a48d4a7685981cf0168599960600008",
"deviceId": "8a48d4a7685981cf01685997bfb00004",
"ownerId": "35e5dfc6-91fc-44b7-9220-dfb793412e67",
"labelKey": "key1",
"name": "name1",
"value": "value1",
"source": null,
"createdTime": "2019-01-17T02:17:30Z",
"updatedTime": "2019-01-17T02:17:30Z"
}
修改设备标签
更新设备下的指定标签
- URI
PUT /iot/v1/devices/{deviceId}/labels/{id}
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
id | path | UUID | 是 | 标签ID |
deviceId | path | String | 是 | 设备ID |
deviceId | body | String | 是 | 设备ID |
labelKey | body | String | 是 | 标签的key |
name | body | String | 是 | 标签的名称 |
value | body | String | 是 | 标签的值 |
- 返回参数
返回值为DeviceLabel
DeviceLabel结构请参考DeviceLabel
- 示例
请求示例
url:
iot.cn-north-3.cloudapi.com/iot/v1/devices/2c9f321c6ed5ea39016f16df37412078/labels/2c9f34916ed5e836016f37d61ae81b6a
body:
{
"deviceId": "2c9f321c6ed5ea39016f16df37412078",
"name": "me1",
"labelKey": "1key1",
"value": "v1alue1"
}
响应示例
{
"id": "8a48d4a7685981cf0168599960600008",
"deviceId": "8a48d4a7685981cf01685997bfb00004",
"ownerId": "35e5dfc6-91fc-44b7-9220-dfb793412e67",
"labelKey": "key2",
"name": "name2",
"value": "value2",
"source": null,
"createdTime": "2019-01-17T02:17:30Z",
"updatedTime": "2019-01-17T02:24:47Z"
}
删除设备标签
删除设备下的指定标签
- URI
DELETE /iot/v1/devices/{deviceId}/labels/{id}
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
deviceId | path | String | 是 | 设备ID |
id | path | String | 是 | 标签ID |
- 返回参数
名称 | 类型 | 是否必须 | 描述 |
---|---|---|---|
无 | 无 | 无 | 无 |
- 示例
请求示例
iot.cn-north-3.cloudapi.com/iot/v1/devices/2c9f321c6ed5ea39016f16df37412078/labels/2c9f34916ed5e836016f37d61ae81b6a
响应示例
无
网关下子设备列表
查询指定设备的拓扑关系
- URI
GET/iot/v1/devices/{deviceId}/subdevices
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
情况一:获取全部子设备 | ||||
type | param | String | 是 | 查询的子设备类型,此处填写'all' |
deviceId | path | String | 是 | 网关Id |
productId | param | String | 否 | 产品Id(如果有值,会被使用) |
deviceCode | param | String | 否 | 设备编码(如果有值,会被使用) |
情况2:获取未绑定子设备列表 | ||||
type | param | String | 是 | 查询子设备类型,此处填写'unBind' |
deviceId | path | String | 是 | 网关Id |
productId | param | String | 否 | 产品Id(如果有值,会被使用) |
deviceCode | param | String | 否 | 设备编码(如果有值,会被使用) |
情况3:获取已绑定到特定网关外的、已绑定网关子设备列表 | ||||
type | param | String | 是 | 查询子设备类型,此处填写'allBind' |
deviceId | path | String | 是 | 网关Id |
productId | param | String | 否 | 产品Id(如果有值,会被使用) |
deviceCode | param | String | 否 | 设备编码(如果有值,会被使用) |
情况4:获取绑定到指定网关的子设备列表 | ||||
type | param | String | 是 | 查询的子设备类型,此处填写'bind' |
deviceId | path | String | 是 | 网关Id |
productId | param | String | 否 | 产品Id(无论是否有值,都不会被使用) |
deviceCode | param | String | 否 | 设备编码(如果有值,会被使用) |
- 返回参数
返回值为Device,Device结构请参考Device
- 示例
请求示例
情况1:获取全部子设备
iot.cn-north-3.cloudapi.com/iot/v1/devices/2c9f321c6ed5ea39016f16df37412078/subdevices?type=all&productId=&deviceCode=
情况2:获取未绑定子设备列表
iot.cn-north-3.cloudapi.com/iot/v1/devices/2c9f321c6ed5ea39016f16df37412078/subdevices?type=unBind&productId=&deviceCode=
情况3:获取已绑定到特定网关外的、已绑定网关子设备列表
iot.cn-north-3.cloudapi.com/iot/v1/devices/2c9f321c6ed5ea39016f16df37412078/subdevices?type=allBind&productId=&deviceCode=
情况4:获取绑定到指定网关的子设备列表
iot.cn-north-3.cloudapi.com/iot/v1/devices/2c9f321c6ed5ea39016f16df37412078/subdevices?type=bind&productId=&deviceCode=
返回示例
[{
"id": "2c9fbc0d6d01c6c5016d041b23ab0726",
"code": "devicecwylovv8",
"name": "2",
"certId": null,
"version": null,
"certCode": null,
"type": "subdevice",
"gatewayId": null,
"productId": "2c9f08be6a545bfb016a54b5ac750321",
"productCode": "hkr4xjh4",
"flag": null,
"productName": "test-zzzh22",
"projectId": "2c9f3329687f19ec01687fb6a19d0003",
"region": "cn-north-3",
"availabilityZone": null,
"ownerId": "767bb18c-6966-453b-812a-2b9585582d44",
"accountId": "767bb18c-6966-453b-812a-2b9585582d44",
"banned": null,
"dataFormat": null,
"online": false,
"active": false,
"lastestOnlineTime": null,
"createdTime": "2019-09-06T01:05:50Z",
"updatedTime": "2019-10-15T12:02:27Z",
"description": "2",
"projectCode": "iotzo86wpdc",
"deviceLabels": null,
"cert": null,
"userName": null,
"gatewayCode": null
},
{
"id": "2c9fbc0d6d01c6c5016d041b11580722",
"code": "device810u31l4",
"name": "yqqtest",
"certId": null,
"version": null,
"certCode": null,
"type": "subdevice",
"gatewayId": null,
"productId": "2c9f08be6a545bfb016a54b5ac750321",
"productCode": "hkr4xjh4",
"flag": null,
"productName": "test-zzzh22",
"projectId": "2c9f3329687f19ec01687fb6a19d0003",
"region": "cn-north-3",
"availabilityZone": null,
"ownerId": "767bb18c-6966-453b-812a-2b9585582d44",
"accountId": "767bb18c-6966-453b-812a-2b9585582d44",
"banned": false,
"dataFormat": null,
"online": false,
"active": false,
"lastestOnlineTime": null,
"createdTime": "2019-09-06T01:05:45Z",
"updatedTime": "2019-10-15T12:04:08Z",
"description": null,
"projectCode": "iotzo86wpdc",
"deviceLabels": null,
"cert": null,
"userName": null,
"gatewayCode": null
}]
网关绑定子设备
添加子设备到网关
- URI
POST /iot/v1/devices/action/bind-subdevices
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
gatewayId | body | String | 是 | 网关设备的CODE |
ids | body | String | 是 | 子设备id列表 |
- 返回参数
返回值为Device,Device结构请参考Device
- 示例
请求示例
iot.cn-north-3.cloudapi.com/iot/v1/devices/action/bind-subdevices
body
{
"gatewayId":"8a48d4b96af8bf2e016af8c2e13e0004",
"ids": ["2c9f08e4713079fb017133af20a30445", "2c9f5aad6dcf2e7f016dcf70f0c2019a"]
}
响应示例
[{
"id": "2c9f08e4713079fb017133af20a30445",
"code": "device26ogb0vq",
"accessPassword": null,
"name": "a",
"certId": null,
"version": null,
"certCode": null,
"type": "subdevice",
"gatewayId": "2c9f08f16f663d62016f6645b3d60005",
"productId": "2c9f08e4713079fb017133af02c0042b",
"productCode": "3zhouser",
"flag": null,
"productName": "z",
"projectId": "2c9f3329687f19ec01687fb6a19d0003",
"region": "cn-north-3",
"availabilityZone": null,
"ownerId": "767bb18c-6966-453b-812a-2b9585582d44",
"accountId": "767bb18c-6966-453b-812a-2b9585582d44",
"banned": null,
"dataFormat": null,
"online": false,
"active": false,
"lastestOnlineTime": null,
"createdTime": "2020-04-01T03:00:47Z",
"updatedTime": "2020-04-01T03:00:47Z",
"description": "a",
"projectCode": "iotzo86wpdc",
"deviceLabels": null,
"userName": null,
"gatewayCode": null,
"accessType": null
}, {
"id": "2c9f5aad6dcf2e7f016dcf70f0c2019a",
"code": "devicezpffwvym",
"accessPassword": null,
"name": null,
"certId": null,
"version": null,
"certCode": null,
"type": "subdevice",
"gatewayId": "2c9f08f16f663d62016f6645b3d60005",
"productId": "2c9f5aad6dcf2e7f016dcf4e7e5a0024",
"productCode": "nh5afmty",
"flag": null,
"productName": "子设备gar",
"projectId": "2c9f3329687f19ec01687fb6a19d0003",
"region": "cn-north-3",
"availabilityZone": null,
"ownerId": "767bb18c-6966-453b-812a-2b9585582d44",
"accountId": "767bb18c-6966-453b-812a-2b9585582d44",
"banned": null,
"dataFormat": null,
"online": false,
"active": false,
"lastestOnlineTime": null,
"createdTime": "2019-10-15T12:42:28Z",
"updatedTime": "2019-10-15T12:42:28Z",
"description": null,
"projectCode": "iotzo86wpdc",
"deviceLabels": null,
"userName": null,
"gatewayCode": null,
"accessType": null
}]
网关解绑子设备
从网关中移除子设备
- URI
POST /iot/v1/devices/action/unbind-subdevices
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
gatewayCode | body | String | 是 | 网关设备的Code |
ids | body | string | 是 | 子设备id列表 |
- 返回参数
无
- 示例
请求示例
iot.cn-north-3.cloudapi.com/iot/v1/devices/action/unbind-subdevices
body
{
"gatewayId":"8a48d4b96af8bf2e016af8c2e13e0004",
"ids": ["8a48d4a7688427860168842c40e70009", "8a48d4a7688427860168842c4209000d", "8a48d4a7688427860168842c428e0011"]
}
响应示例
无
自定义主题发布
自定义主题发布
- URI
POST /iot/v1/devices/{deviceId}/action/publish-usr-message
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
deviceId | path | String | 是 | 设备的ID |
主题+报文 | body | JSONobject | 是 | 主题+报文,格式请查看请求示例 |
- 返回参数
名称 | 类型 | 是否必须 | 描述 |
---|---|---|---|
提示语 | String | 是 | 提示语 |
- 示例
请求示例
{
"topic": "device/topic/1",
"payload": "我是报文"
}
响应示例
Pub Topic Success
应用接入
创建应用
创建应用
- URI
POST /iot/v1/application-certs/action/create
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
code | body | String | 是 | 设备名称 |
projectId | body | String | 是 | 项目ID |
- 返回参数
返回值为Application,Application结构请参考Application
- 示例
请求示例
url:
iot.cn-north-3.cloudapi.com/iot/v1/application-certs/action/create
body:
{"projectId":"2c9f809d79b266020179b266d1600000","code":"qqqqqq"}
响应示例
{
accessAddress: null
accessPassword: "w6iellep"
banned: false
certId: "e003f46c-5c1a-45cc-a8d7-616bb8bf84bd"
clientId: null
code: "application-iotmhfdmcar-qqqqqq"
createdTime: "2021-06-01T07:11:56Z"
id: "2c9f809d79c10c8b0179c66a280d0024"
ownerId: "51b020ca-49a0-4808-8f04-fe73f8225f95"
projectId: "2c9f809d79b266020179b266d1600000"
projectName: null
updatedTime: "2021-06-01T07:11:56Z"
}
应用列表
应用列表
- URI
GET /iot/v1/application-certs/{pageOn}/{pageSize}
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
pageOn | path | String | 是 | 当前页码 |
pageSize | path | String | 是 | 页面大小 |
instanceId | param | String | 是 | 实例ID |
code | param | String | 是 | 搜索条件 |
- 返回参数
返回值为Application,Application结构请参考Application
- 示例
请求示例
url:
https://service-yunzhou-dev.cloud.cn/iot/v1/application-certs/0/10?instanceId=4028978179e97f040179e97f27950000&code=
响应示例
{
"totalCount": 2,
"pageNo": 1,
"pageSize": 10,
"data": [
{
"id": "e4e5cea779fab9550179fadbf3b40001",
"code": "application-iotqfj5n8ue-qzqz",
"accessPassword": "9grzoq8l",
"certId": "38161518-edf4-4cf7-9e3c-651423a224ca",
"projectId": "e4e58a3079f60aaf0179f89b3859001d",
"ownerId": "46fa5856-a946-4e47-947b-ac6f9d6a5c89",
"instanceId": "4028978179e97f040179e97f27950000",
"banned": false,
"createdTime": "2021-06-11T11:36:29Z",
"updatedTime": "2021-06-11T11:36:29Z",
"projectName": "611项目",
"clientId": null,
"accessAddress": null
},
{
"id": "e4e5cea779fab9550179fac544490000",
"code": "application-iotqfj5n8ue-gggg",
"accessPassword": "rda926z3",
"certId": "0712cde7-b6fe-4ae5-a440-7fc1abba569b",
"projectId": "e4e58a3079f60aaf0179f89b3859001d",
"ownerId": "46fa5856-a946-4e47-947b-ac6f9d6a5c89",
"instanceId": "4028978179e97f040179e97f27950000",
"banned": false,
"createdTime": "2021-06-11T11:11:42Z",
"updatedTime": "2021-06-11T11:11:42Z",
"projectName": "611项目",
"clientId": null,
"accessAddress": null
}
]
}
应用详情
应用详情
- URI
GET iot/v1/application-certs/{applicationId}
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
applicationId | path | String | 是 | 应用ID |
- 返回参数
返回值为Application,Application结构请参考Application
- 示例
请求示例
url:
https://service-yunzhou-dev.cloud.cn/iot/v1/application-certs/e4e5cea779fab9550179fadbf3b40001
响应示例
{
"id": "e4e5cea779fab9550179fadbf3b40001",
"code": "application-iotqfj5n8ue-qzqz",
"accessPassword": "9grzoq8l",
"certId": "38161518-edf4-4cf7-9e3c-651423a224ca",
"projectId": "e4e58a3079f60aaf0179f89b3859001d",
"ownerId": "46fa5856-a946-4e47-947b-ac6f9d6a5c89",
"instanceId": "4028978179e97f040179e97f27950000",
"banned": false,
"createdTime": "2021-06-11T11:36:29Z",
"updatedTime": "2021-06-11T11:36:29Z",
"projectName": "611项目",
"clientId": "application@iotqfj5n8ue@qzqz",
"accessAddress": "10.110.26.204:32032"
}
添加权限
添加权限
- URI
POST /iot/v1/application-certs/{applicationId}/application-topics
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
applicationId | path | String | 是 | 应用Id |
topic | body | String | 是 | topic名称 |
permission | body | Integer | 是 | 权限 |
- 返回参数
无
- 示例
请求示例
url:
https://service-yunzhou-dev.cloud.cn/iot/v1/application-certs/e4e5cea779fab9550179fadbf3b40001/application-topics
body:
[
{
"topic": "iot/iotqfj5n8ue/productz2bj8co8/device3nyvto12/control",
"permission": 1
},
{
"topic": "iot/iotqfj5n8ue/productz2bj8co8/device3nyvto12/event",
"permission": 2
}
]
响应示例
无
删除权限
删除权限
- URI
POST /iot/v1/application-certs/{applicationId}/application-topics/{application-topicId}
- 请求参数
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
applicationId | path | String | 是 | 应用ID |
application-topicId | path | Integer | 是 | 应用权限ID |
- 返回参数
无
- 示例
请求示例
url:
https://service-yunzhou-dev.cloud.cn/iot/v1/application-certs/e4e5cea779fab9550179fadbf3b40001/application-topics/e4e511967a1379ed017a17950e06002e
`
响应示例
无
返回参数常用的表结构
Project
名称 | 类型 | 是否必须 | 描述 |
---|---|---|---|
id | String | 是 | 项目的id |
code | String | 是 | 自动生成的8位编码 |
name | String | 是 | 项目名称 |
ownerId | String | 是 | 用户id |
accountId | String | 是 | 主账号id |
username | String | 是 | 用户名称 |
accountId | String | 是 | 用户所属组 |
emqInnerHost | String | 是 | emq内部连接ip |
dmOutterAddress | String | 是 | dm外部连接地址 |
emqInnerAddress | String | 是 | emq内部连接地址 |
emqOutterAddress | String | 是 | emq外部连接地址 |
createdTime | String | 是 | 创建时间 |
updatedTime | String | 是 | 更新时间 |
description | String | 是 | 描述 |
floatingIp | String | 是 | 集群浮动ip |
externalIp | String | 是 | 集群外部ip |
hubId | String | 是 | 真实hub编码 |
namespace | String | 是 | 集群命名空间 |
storageClass | String | 是 | 真实hub编码 |
clusterId | String | 是 | 集群id |
eip | String | 是 | 集群eip |
region | String | 是 | 所在区域 |
availability_zone | String | 是 | 可用区 |
flag | String | 是 | 标识符 |
Product
名称 | 类型 | 是否必须 | 描述 |
---|---|---|---|
id | String | 是 | 产品的ID |
code | String | 是 | 产品编码 |
name | String | 是 | 产品名称 |
versionType | String | 是 | 产品版本(暂时只有高级版) |
type | String | 是 | 产品类型(直连设备、网关、子设备) |
encryption | String | 是 | 证书类型(一机一密) |
productTemplateId | String | 是 | 模板ID |
projectId | String | 是 | 项目ID |
certId | String | 是 | 证书ID |
svrsubCertId | String | 是 | 服务端订阅证书Id |
certCode | String | 是 | 证书编码 |
dataFormat | String | 是 | 数据格式(暂时只有透传) |
protocol | String | 是 | 协议 |
flag | String | 是 | 标识符 |
publishStatus | String | 是 | 发布状态 |
dynamicRegister | String | 是 | 是否动态注册 |
ownerId | String | 是 | 用户ID |
accountId | String | 是 | 主账号ID |
secertKey | String | 是 | 产品秘钥 |
description | String | 是 | 描述 |
productTemplateName | String | 是 | 产品模板名称 |
deviceCount | String | 是 | 设备数量 |
createdTime | String | 是 | 创建时间 |
updatedTime | String | 是 | 更新时间 |
region | String | 是 | 所在区域 |
availabilityZone | String | 是 | 所在可用区 |
projectName | String | 是 | 项目名称 |
userName | String | 是 | 用户名称 |
oneDeviceOneCert | String | 是 | 是否一机一密 |
oneProductOneCert | String | 是 | 是否一型一密 |
accessType | String | 是 | 设备接入方式 |
ProductLabel
名称 | 类型 | 是否必须 | 描述 |
---|---|---|---|
id | String | 是 | 标签的ID |
labelKey | String | 是 | 标签的key |
name | String | 是 | 标签的名称 |
value | String | 是 | 标签的值 |
createTime | String | 是 | 创建时间 |
updateTime | String | 是 | 更新时间 |
ownerId | String | 是 | 用户ID |
productId | String | 是 | 产品ID |
ProductProp
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
id | body | String | 是 | 产品功能ID |
productId | body | String | 是 | 产品ID |
functionalType | body | String | 是 | 功能类型 |
name | body | String | 是 | 功能名称 |
identifier | body | String | 是 | 标识符 |
type | body | String | 是 | 类型 |
accessMode | body | String | 是 | 可读/可写 |
description | body | String | 是 | 功能的描述 |
id | body | String | 是 | 模型ID |
specs | body | String | 是 | 规格 |
tempSpecs | body | String | 是 | 临时规格 |
createdTime | body | String | 是 | 创建时间 |
updatedTime | body | String | 是 | 更新时间 |
ProductServ
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
id | body | String | 是 | 产品功能ID |
productId | body | String | 是 | 产品ID |
functionalType | body | String | 是 | 功能类型 |
name | body | String | 是 | 功能名称 |
identifier | body | String | 是 | 标识符 |
type | body | String | 是 | 类型 |
specs | body | String | 是 | 规格 |
createdTime | body | String | 是 | 创建时间 |
updatedTime | body | String | 是 | 更新时间 |
callType | body | String | 是 | 数据定义(调用方式:同步/异步) |
inputData | body | String | 是 | 标识符 |
outputData | body | String | 是 | 类型 |
description | body | String | 是 | 功能的描述 |
ProductEvent
名称 | 位置 | 类型 | 是否必须 | 描述 |
---|---|---|---|---|
id | body | String | 是 | 产品功能ID |
productId | body | String | 是 | 产品ID |
functionalType | body | String | 是 | 功能类型 |
name | body | String | 是 | 功能名称 |
identifier | body | String | 是 | 标识符 |
type | body | String | 是 | 类型 |
specs | body | String | 是 | 规格 |
createdTime | body | String | 是 | 创建时间 |
updatedTime | body | String | 是 | 更新时间 |
evenType | body | String | 是 | 数据定义(调用方式:同步/异步) |
outputData | body | String | 是 | 类型 |
description | body | String | 是 | 功能的描述 |
Device
名称 | 类型 | 是否必须 | 描述 |
---|---|---|---|
id | String | 是 | 设备的uuid |
code | String | 是 | 设备CODE |
name | String | 是 | 设备名称 |
certId | String | 是 | 证书ID |
version | String | 是 | 版本 |
certCode | String | 是 | 证书编码 |
type | String | 是 | 设备类型 |
gatewayId | String | 是 | 网关ID |
productId | String | 是 | 产品ID |
productCode | String | 是 | 产品编码 |
flag | String | 是 | 标识 |
productName | String | 是 | 产品名称 |
projectId | String | 是 | 项目ID |
region | String | 是 | 所在区域 |
availabilityZone | String | 是 | 可用区域 |
ownerId | String | 是 | 用户ID |
accountId | String | 是 | 用户组 |
banned | String | 是 | 是否被禁 |
dataFormat | String | 是 | 数据格式 |
online | String | 是 | 是否在线 |
active | String | 是 | 是否激活 |
lastestOnlineTime | String | 是 | 最后上线时间 |
createdTime | String | 是 | 创建时间 |
updatedTime | String | 是 | 更新时间 |
description | String | 是 | 设备描述 |
projectCode | String | 是 | 项目CODE |
deviceLabels | Object(DeviceLabel列表) | 是 | 设备标签列表 |
userName | String | 是 | 用户名称 |
gatewayCode | String | 是 | 网关名称 |
accessType | String | 是 | 接入方式 |
accessPassword | String | 是 | 接入密码 |
DeviceLabel
名称 | 类型 | 是否必须 | 描述 |
---|---|---|---|
id | UUID | 是 | 设备标签的uuid |
deviceId | String | 是 | 设备Id |
ownerId | String | 是 | 用户Id |
labelKey | String | 是 | 设备标签Key |
name | String | 是 | 设备标签名称 |
value | String | 是 | 标签value |
source | String | 是 | 标签来源 |
createdTime | Date | 是 | 创建时间 |
updatedTime | Date | 是 | 更新时间 |
Application
名称 | 类型 | 是否必须 | 描述 | |
---|---|---|---|---|
accessAddress | String | 否 | 接入地址 | |
accessPassword | String | 是 | 应用密码 | ] |
banned | boolean | 是 | 禁用状态 | |
certId | String | 是 | 应用证书ID | |
clientId | String | 否 | 接入clientID | |
code | String | 是 | 应用编码 | |
createdTime | Date | 是 | 创建事件 | |
id | String | 是 | 应用ID | |
ownerId | String | 是 | 用户ID | |
projectId | String | 是 | 项目ID | |
projectName | String | 是 | 项目名称D | |
updatedTime | Date | 是 | 更新时间 |