提供了一组与物的产品相关的服务接口,云端应用通过本组服务接口可以实现对物的产品列表及物的产品查询。
查询项目下的产品列表
定义描述
path | 版本 | 描述 | 是否需要cloudToken |
---|---|---|---|
/cloud/thing/productList/get | 1.1.0 | 查询当前项目下的产品列表 | 是 |
请求参数
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
pageNo | int | 是 | 分页查询页,从1开始 |
pageSize | int | 是 | 分页大小 |
返回参数
参数 | 类型 | 描述 |
---|---|---|
productKey | String | 产品的Key |
dataFormat | String | 数据格式 |
netType | String | 入网类型 |
productSecret | String | 产品密钥 |
nodeType | String | 节点类型 |
name | String | 产品名称 |
region | String | 地域 |
categoryId | Long | 归属品类ID |
status | Integer | 产品状态
|
gmtCreate | Date | 创建时间 |
gmtModified | Date | 修改时间 |
productId | Long | 产品ID |
rbacTenantId | String | 租户ID |
示例
- 请求示例
{ "id": 1508232047194, "request": { "cloudToken": "109049c80xxxxxxxx6f62e29a3ba", "apiVer": "1.1.0" }, "params": { "pageNo" : 1, "pageSize" : 10 }, "version": "1.0" }
- 正常返回示例
{ "code": 200, "data": [{ "gmtModified": 1517562992000, "productModel": "niki_test_prodcut_model", "productKey": "a1xxxxCf", "image": "logo", "productId": 95959, "dataFormat": "CUSTOM_FORMAT", "netType": "NET_CELLULAR", "productSecret": "Y1kxxxxCw", "nodeType": "DEVICE", "gmtCreate": 1517562992000, "name": "test_name", "region": "cn-hangzhou", "rbacTenantId": "2BF8238E359xxxxxxxx9C7180CF6", "categoryId": 61, "status": "DEVELOPMENT_STATUS" }], "id": "db13e9ae-c617-xxxx-xxxx-a1e4f43e36ec" }
查询单个产品
定义描述
path | 版本 | 描述 | 是否需要cloudToken |
---|---|---|---|
/cloud/thing/product/get | 1.1.0 | 查询指定产品的详细信息 | 是 |
请求参数
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
productKey | String | 是 | 物的产品key |
返回参数
参数 | 类型 | 描述 |
---|---|---|
productKey | String | 产品的Key |
dataFormat | String | 数据格式 |
netType | String | 入网类型 |
productSecret | String | 产品密钥 |
nodeType | String | 节点类型 |
name | String | 产品名称 |
region | String | 地域 |
categoryId | Long | 归属品类ID |
status | Integer | 产品状态
|
gmtCreate | Date | 创建时间 |
gmtModified | Date | 修改时间 |
productId | Long | 产品ID |
rbacTenantId | String | 租户ID |
示例
- 请求示例
{ "id": 1508232047194, "request": { "cloudToken": "109049c8xxxxxxxxf6f62e29a3ba", "apiVer": "1.1.0" }, "params": { "productKey": "a1dxxxxkl" }, "version": "1.0" }
- 正常返回示例
{ "code": 200, "data": { "gmtModified": 1517217645000, "productKey": "a1xxxxCW", "productId": 87634, "dataFormat": "ALINK_FORMAT", "netType": "NET_WIFI", "productSecret": "tfbxxxxKKj", "nodeType": "DEVICE", "gmtCreate": 1517208303000, "name": "风扇", "region": "cn-shanghai", "rbacTenantId": "755ED7C7810xxxxxxxxBC48BF0247", "categoryId": 285, "status": "RELEASE_STATUS" }, "id": "6aad0b12-2192-xxxx-xxxx-08a2bc0b5c2a" }
量产生成设备证书(云端自动生成设备名称方式)
定义描述
path | 版本 | 描述 | 是否需要cloudToken |
---|---|---|---|
/cloud/amount/device/generate | 1.1.2 | 通过该接口可自动生成设备证书(其中设备名称由系统分配),生成设备证书后,可以直接调用/living/device/apply/query 接口下载设备证书
|
是 |
请求参数
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
productKey | String | 是 | 物的产品key |
amount | Int | 是 | 量产的设备数量 |
返回参数
参数 | 类型 | 描述 |
---|---|---|
batchId | String | 量产批次号 |
示例
- 请求示例
{ "id": "1508232047195", "request": { "cloudToken": "10904xxxxxxxxf62e29a3ba", "apiVer": "1.1.2" }, "params": { "productKey": "a1xxxxikl", "amount":100 }, "version": "1.0" }
- 正常返回示例
{ "code": 200, "data": "12345" "id": "1508232047195" }
创建量产批次接口(用户上传设备名称方式)
定义描述
path | 版本 | 描述 | 是否需要cloudToken |
---|---|---|---|
/cloud/device/name/upload | 1.1.2 | 上传设备名称列表获取批次号 | 是 |
说明 该接口需要用户主动上传要量产设备的名称信息,接口会返回该批量产的批次ID(batchId),但是此时还未生成设备证书信息,需要再调用“根据量产批次生成设备证书”接口才会真正生成设备证书。
请求参数
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
productKey | String | 是 | 物的产品key |
deviceNames | Array | 是 | 指定的设备名称列表,每批不超过1000个 |
返回参数
参数 | 类型 | 描述 |
---|---|---|
data | String | 量产批次号,即batchId |
示例
- 请求示例
{ "id": "1508232047196", "request": { "cloudToken": "109049c8xxxxxxxxf6f62e29a3ba", "apiVer": "1.1.2" }, "params": { "productKey": "a1xxxxikl", "deviceNames": ["deviceName1","deviceName2"] }, "version": "1.0" }
- 正常返回示例
{ "code": 200, "data": "12345", }
根据量产批次生成设备证书(用户上传设备名称方式)
定义描述
path | 版本 | 描述 | 是否需要cloudToken |
---|---|---|---|
/cloud/name/device/generate | 1.1.2 | 根据量产批次生成设备证书(在用户上传设备名称的量产场景中使用) | 是 |
说明 该接口根据批次ID(batchId)生成设备证书信息,需配合“创建量产批次接口(用户上传设备名称方式)”使用。
请求参数
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
productKey | String | 是 | 物的产品key |
batchId | String | 是 | 量产的批次号 |
返回参数
参数 | 类型 | 描述 |
---|---|---|
batchId | String | 量产批次号 |
示例
- 请求示例
{ "id": "1508232047195", "request": { "cloudToken": "109049c8xxxxxxxx2e29a3ba", "apiVer": "1.1.2" }, "params": { "productKey": "a1dxxxxkl", "batchId": "1" }, "version": "1.0" }
- 正常返回示例
{ "code": 200, "data": "1", "id": "1508232047195" }
根据批次ID查询设备证书列表
定义描述
path | 版本 | 描述 | 是否需要cloudToken |
---|---|---|---|
/living/device/apply/query | 1.0.1 | 根据批次ID查询设备证书列表 | 是 |
请求参数
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
applyId | String | 是 | 批次ID |
pageNo | int | 是 | 分页查询页,从1开始 |
pageSize | int | 是 | 分页大小,最大200 |
返回参数
参数 | 类型 | 描述 |
---|---|---|
totalNum | int | 该批次的设备证书总数 |
items | json列表 | 设备证书列表 |
items中参数说明如下
参数 | 类型 | 描述 |
---|---|---|
iotId | String | 设备的iotId |
productKey | String | 设备的productKey |
deviceName | String | 设备的deviceName |
deviceSecret | String | 设备的deviceSecret |
deviceId | String | 设备的deviceId |
status | int | 设备的状态:0-未激活;1-已激活 |
示例
- 请求示例
{ "request":{ "apiVer":"1.0.1", "cloudToken":"921fb5617xxxx45c34e9d074c" }, "id":"348f786a-b6b2-xxxx-xxxx-d8a55442399a", "params":{ "applyId":"124639", "pageNo":1, "pageSize":2 }, "version":"1.0" }
- 正常返回示例
{ "code":200, "data":{ "totalNum":90, "items":[ { "iotId":"07njQmUOxxxx0101", "deviceSecret":"g41b3wEtxxxxHo7Rs9", "productKey":"a1rxxxxxTs", "deviceName":"07nxxxxxa75U", "deviceId":"07nxxxxo8kAa75U", "status":0 }, { "iotId":"0aXlIGxxxxBc2000101", "deviceSecret":"bLrDcbxxxxxpk3CrKm", "productKey":"axxxxTs", "deviceName":"0aXxxxx1Bc2", "deviceId":"0aXlxxxxc1Bc2", "status":0 } ] }, "id":"348f786a-b6b2-xxxx-xxxx-d8a55442399a" }
创建量产批次接口(NVR产品专用)
定义描述
path | 版本 | 描述 | 是否需要cloudToken |
---|---|---|---|
/living/cloud/product/nvr/device/generate | 1.0.0 | 根据数量量产NVR设备(同时将IPC子产品设备进行量产) | 是 |
请求参数
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
productKey | String | 是 | NVR产品的productkey |
amount | Int | 是 | 量产的NVR设备数量,最小为1;最大为10000 |
返回参数
参数 | 类型 | 描述 |
---|---|---|
data | String | NVR批次号 |
示例
- 请求示例
{ "id": "1508232047195", "request": { "cloudToken": "10904xxxxxxxxf62a3ba", "apiVer": "1.0.0" }, "params": { "productKey": "a1xxxxikl", "amount": 1000 }, "version": "1.0" }
- 正常返回示例
{ "code": 200, "data": "11", "id": "1508232047195" }
根据批次ID查询设备证书列表(NVR产品专用)
定义描述
path | 版本 | 描述 | 是否需要cloudToken |
---|---|---|---|
/living/cloud/product/nvr/device/cert/query | 1.0.0 | 根据批次ID查询设备证书列表 | 是 |
请求参数
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
batchId | String | 是 | 批次ID |
productKey | String | 是 | NVR产品的productkey |
pageNo | int | 是 | 分页查询页,从1开始 |
pageSize | int | 是 | 分页大小,最小为1,最大为20 |
返回参数
参数 | 类型 | 描述 |
---|---|---|
total | int | 该批次的NVR设备证书总数 |
NvrDeviceCertList | json列表 | 设备证书列表 |
pageNo | int | 分页查询页,从1开始 |
pageSize | int | 分页大小,最小为1,最大为20 |
NvrDeviceCertList参数说明如下
参数 | 类型 | 描述 |
---|---|---|
ipcNum | int | 该NVR网关下子设备的数量 |
subDeviceCertList | DeviceInfo数组 | 子设备的设备证书列表 |
nvrDeviceCertInfo | DeviceInfo | NVR设备证书信息 |
DeviceInfo参数说明如下
iotId | String | 设备的iotId |
---|---|---|
productKey | String | 设备的productKey |
deviceName | String | 设备的deviceName |
deviceSecret | String | 设备的deviceSecret |
示例
- 请求示例
{ "request":{ "apiVer":"1.0.0", "cloudToken":"921fb5617xxxx49d074c" }, "id":"348f786a-b6b2-xxxx-xxxx-d8a55442399a", "params":{ "batchId":"124639", "productKey":"axxxxxSbfCe", "pageNo":1, "pageSize":2 }, "version":"1.0" }
- 正常返回示例
{ "code":200, "data":{ "NvrDeviceCertList":[ { "subDeviceCertList":[ { "iotId":"09cxxxx0101", "deviceSecret":"e2RexxxxMepCL4n", "productKey":"a1xxxx3Q", "deviceName":"09cxxxxFfgn" }, { "iotId":"0Ay8zxxxx000101", "deviceSecret":"lYQaxxxxSmdMFC", "productKey":"a1xxxx3Q", "deviceName":"0AyxxxxRpp" }, { "iotId":"0Md9bpxxxx00101", "deviceSecret":"ZVflxxxxW5pW", "productKey":"a1xxxx3Q", "deviceName":"0Mdxxxxeoqd" } ], "nvrDeviceCertInfo":{ "iotId":"vcR91xxxx000101", "deviceSecret":"RYV9xxxxXltunD", "productKey":"a1xxxxCe", "deviceName":"vcRxxxxMUf" }, "ipcNum”:3 } ], "totalNum":500, "pageNo":235, "pageSize":1 }, "id":"f0d2acef-xxxx-488b-xxxx-049b95f66a00" }