V2.1 Search Product


搜索满足条件的产品。


如果你在使用 API 批量更新相关产品信息后调用当前 API,建议两次调用间隔 2 秒左右,以免获取到未更新数据。

若当前 API 支持在 EnOS 2.1.0 及以上环境中使用,并已新增 V2.4 版本。推荐使用最新版本,参见 V2.4 Search Product

操作权限


使用此 API 前,确保服务账号已被授予包含下列服务和操作权限的策略。有关授权服务账号的更多信息,参见 管理服务账号

需授权的服务

所需操作权限

产品

Read

请求格式

POST https://{apigw-address}/connect-service/v2.1/products?action=search

请求参数(URI)

名称

位置(Path/Query)

必需/可选

数据类型

描述

orgId

Query

必需

String

资产所属的组织 ID。 如何获取 orgId 信息>>

请求参数(Body)

名称

必需/可选

数据类型

描述

expression

可选

String

查询表达式,支持类 SQL 的查询。目前支持查询的字段是 productKeymodelIdproductTagsproductName。字段之间支持逻辑运算符and、or。

  • productKey:支持算术运算符 =、in。

  • modelId:支持算术运算符 =、in。

  • productTags:支持算术运算符 =、exists、not exists。

  • productName:支持指定语言模糊查询:

    • productName like 'xxx':模糊查询 default、中文和英文名称。

    • productName.default like 'xxx':模糊查询默认名称。

    • productName.zh_CN like 'xxx':模糊查询中文名称,不存在中文名称时模糊查询 default 名称。

    • productName.en_US like 'xxx':模糊查询英文名称,不存在英文名称时模糊查询 default 名称。

如何使用查询表达式>>

pagination

可选

String

分页参数。如未指定,默认每页 10 条。每页最大记录数为 1,000 条,但为获得最佳性能,建议每页不超过 50 条。不支持使用 sorters 参数对结果进行排序,查询结果按照 createTime,最近创建的靠前排列。Pagination 请求结构体>>

响应参数

名称

数据类型

描述

data

Product 结构体数组

查询得到的产品列表,按照创建时间由新至旧排列。见 Product 结构体>>

示例

请求示例

url: https://{apigw-address}/connect-service/v2.1/products?action=search&orgId=yourOrgId
method: POST
requestBody:
{
    "expression":"modelId='AlterTest0615'",
    "pagination":{
        "pageNo":1,
        "pageSize":5
    }
}

返回示例

{
    "code":0,
    "msg":"OK",
    "requestId":"a82752bb-9eb0-4cd5-b0c6-0c1aeb35f6d2",
    "data":[
        {
            "orgId":"yourOrgId",
            "productKey":"yourProductKey",
            "productName":{
                "defaultValue":"openapi_sdk_8",
                "i18nValue":{}
            },
            "productSecret":"yourProductSecret",
            "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":"yourProductSecret",
            "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 示例: