V2.4 Search Product¶
搜索满足条件的产品。
使用此 API 前,确保已安装 EnOS 2.4 CU1 或更新版本。 如果你在使用 API 批量更新相关产品信息后调用当前 API,建议两次调用间隔 2 秒左右,以免获取到未更新数据。
操作权限¶
使用此 API 前,确保服务账号已被授予包含下列服务和操作权限的策略。有关授权服务账号的更多信息,参见 管理服务账号。
需授权的服务 |
所需操作权限 |
---|---|
产品 |
Read |
请求格式¶
POST https://{apigw-address}/connect-service/v2.4/products?action=search
请求参数(URI)¶
名称 |
位置(Path/Query) |
必需/可选 |
数据类型 |
描述 |
---|---|---|---|---|
orgId |
Query |
必需 |
String |
资产所属的组织 ID。 如何获取 orgId 信息>> |
请求参数(Body)¶
名称 |
必需/可选 |
数据类型 |
描述 |
---|---|---|---|
expression |
可选 |
String |
查询表达式,支持类 SQL 的查询。目前支持查询的字段是
|
requireSecret |
可选 |
Boolean |
|
pagination |
可选 |
String |
分页参数。如未指定,默认每页 10 条。每页最大记录数为 1,000 条,但为获得最佳性能,建议每页不超过 50 条。不支持使用 |
响应参数¶
名称 |
数据类型 |
描述 |
---|---|---|
data |
Product 结构体数组 |
查询得到的产品列表,按照创建时间由新至旧排列。见 Product 结构体>> |
错误码¶
代码 |
错误信息 |
描述 |
---|---|---|
99400 |
Invalid arguments |
参数错误。 |
11858 |
Unable to find public key |
由于应用的服务帐号未创建 RSA 密钥对,无法获取 RSA 公钥,因此无法请求 |
示例¶
请求示例¶
url: https://{apigw-address}/connect-service/v2.4/products?action=search&orgId=yourOrgId
method: POST
requestBody:
{
"expression":"modelId='AlterTest0615'",
"pagination":{
"pageNo":1,
"pageSize":5
},
"requireSecret": true
}
返回示例¶
{
"code":0,
"msg":"OK",
"requestId":"a82752bb-9eb0-4cd5-b0c6-0c1aeb35f6d2",
"data":[
{
"orgId":"yourOrgId",
"productKey":"yourProductKey",
"productName":{
"defaultValue":"openapi_sdk_8",
"i18nValue":{}
},
"productSecret"::"EncryptedProductSecret1",
"sessionKey":"EncryptedSessionKey1",
"productDesc":"test_sdk_update",
"productType":"Device",
"dataFormat":"Custom",
"productTags":{},
"protocolGatewayIds":{},
"modelId":"AlterTest0615",
"dynamicActiveEnabled":false,
"biDirectionalAuth":true,
"createBy": null,
"createTime": null,
"updateBy": null,
"updateTime": 1589767858113
},
{
"orgId":"yourOrgId",
"productKey":"yourProductKey",
"productName":{
"defaultValue":"AlterTest0615_Product",
"i18nValue":{}
},
"productSecret":"EncryptedProductSecret2",
"sessionKey":"EncryptedSessionKey2",
"productDesc":"",
"productType":"Device",
"dataFormat":"Json",
"productTags":{},
"protocolGatewayIds":{},
"modelId":"AlterTest0615",
"dynamicActiveEnabled":false,
"biDirectionalAuth":false,
"createBy": null,
"createTime": null,
"updateBy": null,
"updateTime": 1589767858113,
"defaultValidDay":null,
"maxValidDay":null
}
],
"pagination":{
"sortedBy":null,
"pageNo":1,
"pageSize":5,
"totalSize":2
}
}
SDK 示例¶
你可以在 Github 上获取接入服务的 SDK 示例: