物联网服务产品云端API文档

物联服务云端API列表

项目管理相关接口

接口 描述
项目列表 查询所有项目列表
创建项目 创建项目
项目详情 查询指定项目详情
修改项目 修改指定项目

产品管理相关接口

接口 描述
产品列表 查询项目下所有产品列表
产品详情 查询指定产品详情
产品功能定义详情 查询指定产品物模型(功能定义列表)
创建产品 创建产品
修改产品 修改产品
删除产品 删除产品
产品发布 产品发布
创建产品标签 创建产品标签
修改产品标签 修改产品标签
删除产品标签 删除产品标签
创建产品功能 创建产品功能
修改产品功能 修改产品功能
删除产品功能 删除产品功能

设备管理相关接口

接口 描述
创建设备 添加设备
指定产品设备列表 查询指定产品下所有设备列表
设备详情 查询指定设备详情
修改设备 修改指定设备
删除设备 删除指定设备
查询指定设备状态 查询指定设备的运行状态(在线/离线和激活/未激活)
指定产品下所有设备状态 批量查询同一产品下指定设备的运行状态
子设备所属网关 根据子设备信息查询对应的网关设备信息
指定设备标签列表 查询指定设备的标签列表
创建设备标签 为指定设备设置标签
删除设备标签 删除设备下的指定标签
网关下子设备列表 查询指定设备的拓扑关系(网关设备下子设备列表)
网关绑定子设备 添加子设备到网关
网关解绑子设备 从网关中移除子设备
自定义主题发布 自定义主题发布

设备影子相关接口

接口 描述
查询设备影子 查询指定设备的影子信息
更新设备影子 更新指定设备的影子信息

功能详细说明

公共请求参数

请求结构

1.通信协议

浪潮云 API 的所有接口均通过 HTTPS 进行通信,提供高安全性的通信通道。

2.请求规则

1、http:// + 请求域名 +url参数+? +最终请求参数串

2、请求域名 + url参数 +? +最终请求参数串

说明:以上两者均可,https:// + 请求域名 +url参数方式请求无效,请参考请求示例!

3.服务地址

目前支持的域名列表为:

地域 域名
华北三 iot.cn-north-3.inspurcloudapi.com
4.请求方法

GET,PUT,POST,DELETE,PATCH 均可。

5.字符编码

浪潮云 API 的请求及返回结果均使用 UTF-8 字符集进行编码。

公共参数

1.公共请求头
名称 参数类型 是否必须 说明
Authorization String 用户 token,用于鉴权,格式为“Bearer + 空格 + 通过 GetToken 接口获取的 token”
2.公共请求参数
名称 参数类型 是否必须 说明
Timestamp String 当前 UNIX 时间戳,可记录发起 API 请求的时间。
Nonce String 随机正整数,与 Timestamp 联合起来, 用于防止重放攻击。
Version String API 版本号,使用 YYYY-MM-DD 日期格式。取值: 2019-01-31。
Format String 返回参数的语言类型。取值范围:json,xml。默认值:xml。
3.通用请求返回值

正常返回

返回值 说明
200 请求成功。
204 任务提交成功。

异常返回

返回值 说明
300 multiple choices 被请求的资源存在多个可供选择的响应。
400 Bad Request 服务器未能处理请求。
401 Unauthorized 被请求的页面需要用户名和密码。
403 Forbidden 对被请求页面的访问被禁止。
404 Not Found 服务器无法找到被请求的页面。
405 Method Not Allowed 请求中指定的方法不被允许。
406 Not Acceptable 服务器生成的响应无法被客户端所接受。
407 Proxy Authentication Required 用户必须首先使用代理服务器进行验证,这样请求才会被处理。
408 Request Timeout 请求超出了服务器的等待时间。
409 Conflict 由于冲突,请求无法被完成。
500 Internal Server Error 请求未完成。服务异常。
501 Not Implemented 请求未完成。服务器不支持所请求的功能。
502 Bad Gateway 请求未完成。服务器从上游服务器收到一个无效的响应。
503 Service Unavailable 请求未完成。系统暂时异常。
504 Gateway Timeout 网关超时。

签名机制

a) Token认证(推荐)

URI

POST /auth/v1/token

请求参数

content-type:application/json;

名称 位置 类型 是否必须 描述
username body String 用户名(若为子用户,则用户名为“主用户名.子用户名”)
password body String 密码

返回参数

名称 位置 类型 是否必须 描述
access_token Body String Token
expires_in Body String 失效时间(毫秒)
refresh_token Body String 刷新token
refresh_expires_in Body String 刷新token失效时间

示例

请求示例

content-type:application/json; 请求url为:POST /auth/v1/token

{
    "username":"cloud-operator.testuser1",
    "password":"123456a?"
}

响应示例

{
    "access_token": "eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lk...ygzrBPvyK5A",
    "expires_in": 5400,
    "refresh_expires_in": 7200,
    "refresh_token": "eyJhbGciOiJIUzI1NiIsInR5cCIgOiAiSldUIiwi...nh54bxMbC6Dsg",
    "token_type": "bearer",
    "not-before-policy": 0,
    "session_state": "f2e3f54e-5251-4cab-a12b-d918d3687e7f",
    "scope": ""
}

详情见iam操作文档

Token认证

b) AK/SK认证

详情见iam操作文档

AK/SK认证

产品线接口

项目管理

项目列表

查询租户下所有项目列表。

  • URI

GET /iot/v1/projects

  • 请求参数
名称 位置 类型 是否必须 描述
queryBy param string “usergroup”或者“owner”
  • 返回参数
名称 类型 描述
data 项目列表(Project列表) 项目列表
requestId String 请求 Id
  • 示例

请求示例

url:

1、iot.cn-north-3.inspurcloudapi.com/iot/v1/projects?queryBy=owner
2、http://iot.cn-north-3.inspurcloudapi.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": "inspurcloud-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.inspurcloudapi.com/iot/v1/projects/2c9f3329687f19ec01687fb6a19d0003

返回示例

{
    "id": "2c9f3329687f19ec01687fb6a19d0003",
    "namespace": "default",
    "code": "iotzo86wpdc",
    "name": "名称2",
    "ownerId": "767bb18c-6966-453b-812a-2b9585582d44",
    "username": "inspurtest13",
    "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.inspurcloudapi.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.inspurcloudapi.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": "inspurtest13",
    "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.inspurcloudapi.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.inspurcloudapi.com/iot/v1/products
 2 iot.cn-north-3.inspurcloudapi.com/iot/v1/products?projectId=2c9f3329687f19ec01687fb6a19d0003

响应示例

[
   {
        "id": "2c9f34916ed5e836016ed60b2826000a",
        "code": "n7p6ljkl",
        "name": "网关测试",
        "versionType": "advanced",
        "type": "gateway",
        "encryption": "bydevice",
        "productTemplateId": "00",
        "projectId": "2c9f3329687f19ec01687fb6a19d0003",
        "certId": null,
        "svrsubCertId": "2c9f34916ed5e836016ed60b28ea0026",
        "certCode": null,
        "dataFormat": "透传/自定义",
        "protocol": null,
        "flag": null,
        "publishStatus": false,
        "dynamicRegister": false,
        "ownerId": "767bb18c-6966-453b-812a-2b9585582d44",
        "accountId": "767bb18c-6966-453b-812a-2b9585582d44",
        "secertKey": "G9l2Hfh9otRJKOSp",
        "description": null,
        "productTemplateName": null,
        "deviceCount": null,
        "createdTime": "2019-12-05T12:31:25Z",
        "updatedTime": "2019-12-05T12:31:25Z",
        "region": "cn-north-3",
        "availabilityZone": null,
        "projectName": null,
        "userName": null,
        "oneDeviceOneCert": true,
        "oneProductOneCert": false
    },
   {
        "id": "2c9f321c6ed5ea39016ed5fcde860ad8",
        "code": "hjbwampk",
        "name": "奥嚎",
        "versionType": "advanced",
        "type": "device",
        "encryption": "bydevice",
        "productTemplateId": "00",
        "projectId": "2c9f3329687f19ec01687fb6a19d0003",
        "certId": null,
        "svrsubCertId": "2c9f321c6ed5ea39016ed5fcdf550aee",
        "certCode": null,
        "dataFormat": "透传/自定义",
        "protocol": null,
        "flag": null,
        "publishStatus": false,
        "dynamicRegister": false,
        "ownerId": "767bb18c-6966-453b-812a-2b9585582d44",
        "accountId": "767bb18c-6966-453b-812a-2b9585582d44",
        "secertKey": "vFRRYGdbJ495H2Iy",
        "description": null,
        "productTemplateName": null,
        "deviceCount": null,
        "createdTime": "2019-12-05T12:15:49Z",
        "updatedTime": "2019-12-05T12:15:49Z",
        "region": "cn-north-3",
        "availabilityZone": null,
        "projectName": null,
        "userName": null,
        "oneDeviceOneCert": true,
        "oneProductOneCert": false
    }

]

产品详情

查询指定产品的详情。

  • URI

GET /iot/v1/products/{id}

  • 请求参数
名称 位置 类型 是否必须 描述
id path String 产品ID
  • 返回参数

返回值为Product

Product结构请参考Product

  • 示例

请求示例

iot.cn-north-3.inspurcloudapi.com/iot/v1/products/2c9f321c6ed5ea39016f3aaf647f269d

响应示例

{
    "id": "2c9f34916ed5e836016f16de9f7e1518",
    "code": "mzj1f07s",
    "name": "api网关测试",
    "versionType": "advanced",
    "type": "gateway",
    "encryption": "bydevice",
    "productTemplateId": "00",
    "projectId": "2c9f3329687f19ec01687fb6a19d0003",
    "certId": null,
    "svrsubCertId": "2c9f34916ed5e836016f16dea02f1534",
    "certCode": null,
    "dataFormat": "透传/自定义",
    "protocol": null,
    "flag": null,
    "publishStatus": false,
    "dynamicRegister": false,
    "ownerId": "767bb18c-6966-453b-812a-2b9585582d44",
    "accountId": "767bb18c-6966-453b-812a-2b9585582d44",
    "secertKey": "dU3cibctsot6BtEo",
    "description": null,
    "productTemplateName": "自定义品类",
    "deviceCount": 1,
    "createdTime": "2019-12-18T02:38:06Z",
    "updatedTime": "2019-12-18T02:38:06Z",
    "region": "cn-north-3",
    "availabilityZone": null,
    "projectName": "名称2",
    "userName": null,
    "oneDeviceOneCert": true,
    "oneProductOneCert": false
}

产品功能定义详情

获取单个产品功能定义详情。

  • URI

GET /iot/v1/products/{productId}/props

  • 请求参数
名称 位置 类型 是否必须 描述
productId path String 产品ID
  • 返回参数

返回值为ProductProp列表

ProductProp结构请参考ProductProp

  • 示例

请求示例

iot.cn-north-3.inspurcloudapi.com/iot/v1/products/2c9f33006e459cbd016e7c7f00fc105a/props

响应示例

[
    {
        "id": "8a48d4ad68ef04950168ef1989800006",
        "productId": "8a48d4ad68ef04950168ef19897d0005",
        "functionalType": "属性",
        "name": "氟化物浓度",
        "identifier": "Fluoride",
        "type": "float",
        "max": "10000",
        "min": "0",
        "step": null,
        "unit": "μg/d㎡·d",
        "unitName": "每天每平方分米微克",
        "accessMode": "r",
        "specs": null,
        "tempSpecs": null,
        "description": null,
        "createdTime": "2019-02-15T03:00:54Z",
        "updatedTime": "2019-02-15T03:00:54Z"
    },
    {
        "id": "8a48d4ad68ef04950168ef1989810007",
        "productId": "8a48d4ad68ef04950168ef19897d0005",
        "functionalType": "属性",
        "name": "地理位置",
        "identifier": "GeoLocation",
        "type": "struct",
        "max": null,
        "min": null,
        "step": null,
        "unit": null,
        "unitName": null,
        "accessMode": "r",
        "specs": "[{\"dataType\":{\"specs\":{\"max\":\"180\",\"min\":\"-180\",\"unit\":\"°\",\"unitName\":\"度\"},\"type\":\"double\"},\"identifier\":\"Longitude\",\"name\":\"经度\"},{\"dataType\":{\"specs\":{\"max\":\"90\",\"min\":\"-90\",\"unit\":\"°\",\"unitName\":\"度\"},\"type\":\"double\"},\"identifier\":\"Latitude\",\"name\":\"纬度\"},{\"dataType\":{\"specs\":{\"max\":\"9999\",\"min\":\"0\",\"unit\":\"m\",\"unitName\":\"米\"},\"type\":\"double\"},\"identifier\":\"Altitude\",\"name\":\"海拔\"}]",
        "tempSpecs": null,
        "description": null,
        "createdTime": "2019-02-15T03:00:54Z",
        "updatedTime": "2019-02-15T03:00:54Z"
    },
    {
        "id": "8a48d4ad68ef04950168ef1989810008",
        "productId": "8a48d4ad68ef04950168ef19897d0005",
        "functionalType": "属性",
        "name": "空气质量指数",
        "identifier": "AQI",
        "type": "int",
        "max": "500",
        "min": "0",
        "step": "1",
        "unit": null,
        "unitName": null,
        "accessMode": "r",
        "specs": null,
        "tempSpecs": null,
        "description": null,
        "createdTime": "2019-02-15T03:00:54Z",
        "updatedTime": "2019-02-15T03:00:54Z"
    },
    {
        "id": "8a48d4ad68ef04950168ef1989810009",
        "productId": "8a48d4ad68ef04950168ef19897d0005",
        "functionalType": "属性",
        "name": "风向",
        "identifier": "WindDirection",
        "type": "float",
        "max": "360",
        "min": "0",
        "step": "0.1",
        "unit": "°",
        "unitName": "度",
        "accessMode": "r",
        "specs": null,
        "tempSpecs": null,
        "description": null,
        "createdTime": "2019-02-15T03:00:54Z",
        "updatedTime": "2019-02-15T03:00:54Z"
    },
    {
        "id": "8a48d4ad68ef04950168ef198982000c",
        "productId": "8a48d4ad68ef04950168ef19897d0005",
        "functionalType": "属性",
        "name": "相对湿度",
        "identifier": "RelativeHumidity",
        "type": "float",
        "max": "100",
        "min": "0",
        "step": "0.1",
        "unit": "%",
        "unitName": "百分比",
        "accessMode": "r",
        "specs": null,
        "tempSpecs": null,
        "description": null,
        "createdTime": "2019-02-15T03:00:54Z",
        "updatedTime": "2019-02-15T03:00:54Z"
    }
]

创建产品

创建产品

  • 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 产品类型
  • 返回参数

返回值为Product

Product结构请参考Product

  • 示例

请求示例

url:

iot.cn-north-3.inspurcloudapi.com/iot/v1/products

body:

{
    "dataFormat": "透传/自定义",
    "description": "我是描述1",
    "encryption": "bymodel",
    "projectId": "8a48d4a76850747a0168508e1f340001",
    "dynamicRegister": false,
    "name": "产品1",
    "productTemplateId": "00",
    "type": "device",
    "versionType": "advanced"
}

响应示例

{
    "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
}

修改产品

更新产品

  • URI

PUT /iot/v1/products/{id}

  • 请求参数
名称 位置 类型 是否必须 描述
id path String 产品ID
name body String 产品名称
description body String 产品描述
  • 返回参数

返回值为Product列表

Product结构请参考Product

  • 示例

请求示例

iot.cn-north-3.inspurcloudapi.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
}

删除产品

删除产品

  • URI

DELETE /iot/v1/products/{id}

  • 请求参数
名称 位置 类型 是否必须 描述
id path String 产品ID
  • 返回参数

  • 示例

请求示例

iot.cn-north-3.inspurcloudapi.com/iot/v1/products/2c9f321c6ed5ea39016f3aaf647f269d

响应示例

产品发布

改变产品发布状态。

  • URI

POST /iot/v1/products/{id}/action/publish

  • 请求参数
名称 位置 类型 是否必须 描述
id path String 产品ID
publishStatus body Boolean false或者true
  • 返回参数

返回值为Product

Product结构请参考Product

  • 示例

请求示例

iot.cn-north-3.inspurcloudapi.com/iot/v1/products/2c9f33006e459cbd016e7c7f00fc105a/action/publish

body:

{
    "publishStatus":"true"
}

响应示例

{
    "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
}

创建产品标签

创建产品标签

  • 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.inspurcloudapi.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.inspurcloudapi.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.inspurcloudapi.com/iot/v1/products/2c9f34916ed5e836016f16de9f7e1518/labels/2c9f34916ed5e836016f16de9f841519

响应示例

创建产品功能

创建产品功能

  • URI

POST /iot/v1/products/{productId}/props

  • 请求参数
名称 位置 类型 是否必须 描述
identifier body String 标识符
functionalType body String 功能类型(property、even、service三选一,目前仅支持property
name body String 功能名称
type body String 类型
specs body String 规格
accessMode body String 可读/可写
description body String 功能的描述
  • 返回参数

返回值为ProductProp

ProductProp结构请参考ProductProp

  • 示例

请求示例

url:

iot.cn-north-3.inspurcloudapi.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.inspurcloudapi.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.inspurcloudapi.com/iot/v1/products/2c9f34916ed5e836016f16de9f7e1518/labels/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.inspurcloudapi.com/iot/v1/devices

body:

{
    "code": "device1",
    "projectId": "8a48d4a768542630016854307df80000",
    "productId": "8a48d4a76854263001685431d5780004",
    "description": "设备描述1"
}

响应示例

{
        "id": "2c9f34916ed5e836016ed60bd367002e",
        "code": "gatewayTest1205",
        "name": "网关属性测试",
        "certId": "2c9f34916ed5e836016ed60bd46e0032",
        "version": null,
        "certCode": null,
        "type": "gateway",
        "gatewayId": null,
        "productId": "2c9f34916ed5e836016ed60b2826000a",
        "productCode": "n7p6ljkl",
        "flag": null,
        "productName": null,
        "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": null,
        "active": null,
        "lastestOnlineTime": null,
        "createdTime": "2019-12-05T12:32:09Z",
        "updatedTime": "2019-12-05T12:32:09Z",
        "description": null,
        "projectCode": "iotzo86wpdc",
        "deviceLabels": null,
        "cert": null,
        "userName": null,
        "gatewayCode": null
    }

指定产品设备列表

查询指定产品下所有设备列表

  • URI

GET /iot/v1/devices

  • 请求参数
名称 位置 类型 是否必须 描述
type param String 查询的设备类型,此处填写'device'
projectId param String 项目Id(无论是否有值,都不会被使用)
productId param String 产品Id
  • 返回参数

返回值为Device集合,Device结构请参考Device

  • 示例

请求示例

iot.cn-north-3.inspurcloudapi.com/iot/v1/devices?type=device&productId=2c9f34916ed5e836016ed60b2826000a

响应示例

[
    {
        "id": "2c9f34916ed5e836016ed60bd367002e",
        "code": "gatewayTest1205",
        "name": "网关属性测试",
        "certId": "2c9f34916ed5e836016ed60bd46e0032",
        "version": null,
        "certCode": null,
        "type": "gateway",
        "gatewayId": null,
        "productId": "2c9f34916ed5e836016ed60b2826000a",
        "productCode": "n7p6ljkl",
        "flag": null,
        "productName": null,
        "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": null,
        "active": null,
        "lastestOnlineTime": null,
        "createdTime": "2019-12-05T12:32:09Z",
        "updatedTime": "2019-12-05T12:32:09Z",
        "description": null,
        "projectCode": "iotzo86wpdc",
        "deviceLabels": null,
        "cert": null,
        "userName": null,
        "gatewayCode": null
    }
]

设备详情

查询指定设备详情

  • URI

GET /iot/v1/devices/{deviceId}

  • 请求参数
名称 位置 类型 是否必须 描述
deviceId path String 设备id
  • 返回参数

返回值为Device,Device结构请参考Device

  • 示例

请求示例

iot.cn-north-3.inspurcloudapi.com/iot/v1/devices/2c9f321c6ed5ea39016f36d511b425f8

响应示例

{
    "id": "2c9f34916ed5e836016f4502df0b1e90",
    "code": "device1",
    "name": null,
    "certId": "2c9f34916ed5e836016f4502e00d1e94",
    "version": null,
    "certCode": "iotzo86wpdc-mzj1f07s-device1",
    "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": "透传/自定义",
    "online": false,
    "active": false,
    "lastestOnlineTime": null,
    "createdTime": "2019-12-27T01:40:13Z",
    "updatedTime": "2019-12-27T01:40:13Z",
    "description": "设备描述1",
    "projectCode": "iotzo86wpdc",
    "deviceLabels": null,
    "cert": null,
    "userName": null,
    "gatewayCode": null
}

修改设备

查询指定设备详情

  • URI

PUT /iot/v1/devices/{deviceId}

  • 请求参数
名称 位置 类型 是否必须 描述
deviceId path String 设备的uuid
name body String 设备名称
description body String 设备描述
  • 返回参数

返回值为Device,Device结构请参考Device

  • 示例

请求示例

url:

iot.cn-north-3.inspurcloudapi.com/iot/v1/devices/2c9f321c6ed5ea39016f36d511b425f8

body:

{
    "id": "8ac834796a29f52e016a29f722ca0000",
    "description": ""
}

响应示例

{
    "id": "2c9f34916ed5e836016f4502df0b1e90",
    "code": "device1",
    "name": null,
    "certId": "2c9f34916ed5e836016f4502e00d1e94",
    "version": null,
    "certCode": "iotzo86wpdc-mzj1f07s-device1",
    "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": "透传/自定义",
    "online": false,
    "active": false,
    "lastestOnlineTime": null,
    "createdTime": "2019-12-27T01:40:13Z",
    "updatedTime": "2019-12-27T02:08:33Z",
    "description": "",
    "projectCode": "iotzo86wpdc",
    "deviceLabels": null,
    "cert": null,
    "userName": null,
    "gatewayCode": null
}

删除设备

删除指定设备

  • URI

DELETE /iot/v1/devices/{deviceId}

  • 请求参数
名称 位置 类型 是否必须 描述
deviceId path String 设备id
  • 返回参数
  • 示例

请求示例

iot.cn-north-3.inspurcloudapi.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.inspurcloudapi.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.inspurcloudapi.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.inspurcloudapi.com/iot/v1/open-api/devices/statistics?productId=2c9f34916ed5e836016f16de9f7e1518

响应示例

{
    "onlineDeviceCount": 0,
    "devices": 1,
    "activeDeviceCount": 0
}

通过设备标签查询设备(分页)

通过设备标签查询设备(分页)

  • URI

GET /iot/v1/open-api/device-ids/{pageNo}/{pageSize}

  • 请求参数
名称 位置 类型 是否必须 描述
pageNo path Integer 当前页码(从索引0开始)
pageSize path Integer 每页数目,默认值10
projectId param String 项目Id
key param String 设备标签key
value param String 设备标签value
  • 返回参数
名称 类型 是否必须 描述
totalCount Integer 设备总条数
pageNo Integer 当前分页为第几页
data Object(设备id集合) 设备id集合
pageSize Integer 分页大小
  • 示例

请求示例

iot.cn-north-3.inspurcloudapi.com/iot/v1/open-api/device-ids/0/10?key=&value=hd&projectId=4028cbdf6d1400a9016d14d6fca50050

响应示例

{
"totalCount": 3,
"pageNo": 1,
"pageSize": 10,
"data": [
"8ac8e99d6e0198ae016e01a5b9950000",
"8ac8e99d6dfb502f016dfcac007a0092",
"8ac8e99d6dfb502f016dfcabc96b007b"
]
}

查询指定产品设备列表加分页(分页)

查询指定产品设备列表加分页(分页)

  • URI

GET /iot/v1/open-api/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.inspurcloudapi.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/open-api/devices/devices-details

  • 请求参数
名称 位置 类型 是否必须 描述
productId param String 产品id
codes param String 设备codes组
  • 返回参数
名称 类型 是否必须 描述
data Object(Device列表) 设备列表
  • 示例

请求示例

iot.cn-north-3.inspurcloudapi.com/iot/v1/open-api/devices/devices-details?productId=2c9f33006e459cbd016e7c7f00fc105a&codes=devicexh1gs7hw,a

响应示例

[
    {
        "id": "2c9f33006e459cbd016e7c7f93e81075",
        "code": "devicexh1gs7hw",
        "name": "服务端订阅设备",
        "certId": "2c9f33006e459cbd016e7c7f947d1079",
        "version": null,
        "certCode": null,
        "type": "gateway",
        "gatewayId": null,
        "productId": "2c9f33006e459cbd016e7c7f00fc105a",
        "productCode": "9p0t7luu",
        "flag": null,
        "productName": null,
        "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": null,
        "active": null,
        "lastestOnlineTime": null,
        "createdTime": "2019-11-18T03:12:46Z",
        "updatedTime": "2019-11-18T03:12:46Z",
        "description": "",
        "projectCode": "iotzo86wpdc",
        "deviceLabels": null,
        "cert": null,
        "userName": null,
        "gatewayCode": null
    },
    {
        "a": "设备不存在"
    }
]

批量查询指定设备的运行状态

批量查询指定设备的运行状态

  • URI

GET /iot/v1/open-api/devices/device-status

  • 请求参数
名称 位置 类型 是否必须 描述
ids param String 设备id组
  • 返回参数
名称 类型 是否必须 描述
data Object(Device在线激活状态) Device在线激活状态
  • 示例

请求示例

iot.cn-north-3.inspurcloudapi.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.inspurcloudapi.com/iot/v1/devices/gateway?subdeviceId=2c9f321c6ed5ea39016ed5f621c60ad4

响应示例

{
    "id": "2c9f34916ed5e836016ed60bd367002e",
    "code": "gatewayTest1205",
    "name": "网关属性测试",
    "certId": "2c9f34916ed5e836016ed60bd46e0032",
    "version": null,
    "certCode": null,
    "type": "gateway",
    "gatewayId": null,
    "productId": "2c9f34916ed5e836016ed60b2826000a",
    "productCode": "n7p6ljkl",
    "flag": null,
    "productName": null,
    "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": null,
    "active": null,
    "lastestOnlineTime": null,
    "createdTime": "2019-12-05T12:32:09Z",
    "updatedTime": "2019-12-05T12:32:09Z",
    "description": null,
    "projectCode": "iotzo86wpdc",
    "deviceLabels": null,
    "cert": null,
    "userName": null,
    "gatewayCode": null
}

指定设备标签列表

  • URI

GET /iot/v1/devices/{deviceId}/labels

  • 请求参数
名称 位置 类型 是否必须 描述
deviceId path String 设备id
  • 返回参数

返回值为DeviceLabel集合 DeviceLabel结构请参考DeviceLabel

  • 示例

请求示例

iot.cn-north-3.inspurcloudapi.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.inspurcloudapi.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.inspurcloudapi.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.inspurcloudapi.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.inspurcloudapi.com/iot/v1/devices/2c9f321c6ed5ea39016f16df37412078/subdevices?type=all&productId=&deviceCode=

情况2:获取未绑定子设备列表
iot.cn-north-3.inspurcloudapi.com/iot/v1/devices/2c9f321c6ed5ea39016f16df37412078/subdevices?type=unBind&productId=&deviceCode=

情况3:获取已绑定到特定网关外的、已绑定网关子设备列表
iot.cn-north-3.inspurcloudapi.com/iot/v1/devices/2c9f321c6ed5ea39016f16df37412078/subdevices?type=allBind&productId=&deviceCode=

情况4:获取绑定到指定网关的子设备列表

iot.cn-north-3.inspurcloudapi.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.inspurcloudapi.com/iot/v1/devices/action/bind-subdevices

body

{
    "gatewayId":"8a48d4b96af8bf2e016af8c2e13e0004",
    "ids": ["8a48d4a7688427860168842c40e70009", "8a48d4a7688427860168842c4209000d", "8a48d4a7688427860168842c428e0011"]
}

响应示例

[{
        "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/unbind-subdevices

  • 请求参数
名称 位置 类型 是否必须 描述
gatewayCode body String 网关设备的Code
ids body string 子设备id列表
  • 返回参数
  • 示例

请求示例

iot.cn-north-3.inspurcloudapi.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

GET /iot/v1/devices/{deviceId}/shadow

  • 请求参数
名称 位置 类型 是否必须 描述
deviceId path String 设备ID
  • 返回参数
名称 类型 是否必须 描述
state Object(ShadowState) 状态
metadata Object(ShadowMetadata) 时间
timestamp Long 时间戳
timeflag String 时间标识
clientToken String 客户
version Long 版本
  • 示例

请求示例

iot.cn-north-3.inspurcloudapi.com/iot/v1/devices/2c9f321c6ed5ea39016f16df37412078/shadow

响应示例

{
    "state": {
        "reported": {
            "color": "red",
            "length": "66cm"
        }
    },
    "metadata": {
        "reported": {
            "color": {
                "timestamp": 1576805507447
            },
            "length": {
                "timestamp": 1576805507447
            }
        }
    },
    "timestamp": 1576805507447,
    "timeflag": "From_Iot",
    "version": 1
}

更新设备影子

修改指定设备的影子信息

  • URI

PUT /iot/v1/devices/{deviceId}/shadow

  • 请求参数
名称 位置 类型 是否必须 描述
deviceId path String 设备的ID
t body 固定格式的json 报文,格式请查看请求示例
  • 返回参数
名称 类型 是否必须 描述
提示语 String 提示语
  • 示例

请求示例

iot.cn-north-3.inspurcloudapi.com/iot/v1/devices/2c9f321c6ed5ea39016f16df37412078/shadow

body

{
    "message": {
        "state": {
            "reported": {
                "color": "red",
                "length": "66cm"
            }
        }
    }
}

响应示例

update shadow success

返回参数常用的表结构

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 是否一型一密

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 更新时间

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 网关名称

DeviceLabel

名称 类型 是否必须 描述
id UUID 设备标签的uuid
deviceId String 设备Id
ownerId String 用户Id
labelKey String 设备标签Key
name String 设备标签名称
value String 标签value
source String 标签来源
createdTime Date 创建时间
updatedTime Date 更新时间

ShadowState

名称 类型 是否必须 描述
reported ObjectNode 报告数据
desired ObjectNode 影子期望

ShadowMetadata

名称 类型 是否必须 描述
reported ObjectNode 报告数据
desired ObjectNode 影子期望