V2.4 Get Product


通过 productKey 获取产品的详细信息。


使用此 API 前,确保已安装 EnOS 2.4 CU1 或更新版本。

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

操作权限


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

需授权的服务

所需操作权限

产品

Read

请求格式


GET https://{apigw-address}/connect-service/v2.4/products?action=get

请求参数(URI)

名称

位置(Path/Query)

必需/可选

数据类型

描述

orgId

Query

必需

String

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

productKey

Query

必需

String

产品的 Product Key。如何获取 productKey 信息>>

requireSecret

Query

可选

Boolean

  • true:返回 productSecretsessionKey。需确保:

    • 服务账号已被授予对应的 操作权限。若无权限,productSecretsessionKey 返回的值将提示错误。

    • 已为服务帐号创建 RSA 密钥对。创建 RSA 密钥对 >>

  • false (默认):不返回 productSecretsessionKey

响应参数

名称

数据类型

描述

data

Product 结构体

产品的具体信息,见 Product 结构体

Product 结构体

名称

数据类型

描述

orgId

String

资产所属的组织 ID。

productKey

String

产品的 Product Key。

productName

StringI18n

产品名称。结构参见 国际化名称结构体

productSecret

String

产品密钥,仅当 requireSecrettrue 时返回。返回值已经过加密处理。如何解密 Product Secret >>

sessionKey

String

配合解密 productSecret 的参数,仅当 requireSecrettrue 时返回。返回值已经过加密处理。

productDesc

String

产品描述。

productType

String

产品类型,Device 代表普通类型, Gateway 代表网关类型。

dataFormat

String

数据类型, Custom 代表用户自定义类型, Json 代表 JSON 类型。

productTags

Map(Key 和 Value 为 string)

产品标签。

modelId

String

资产所属模型 ID。

dynamicActiveEnabled

Boolean

  • true:支持动态激活。

  • false (默认):不支持动态激活。

biDirectionalAuth

Boolean

是否支持双向认证。``True``表示支持,``False``表示不支持。双向认证是通过 CA 证书机制对数据进行加密和解密的过程,确保在设备和云之间进行更安全的通信。更多信息,参见 基于证书的双向认证。。

createTime

Long

创建时间。

createBy

String

创建人。

updateTime

Long

更新时间。

updateBy

String

更新人。

defaultValidDay

Integer

仅当 biDirectionalAuthtrue 时适用。此参数在该产品下的设备/网关申请证书时使用。当设备/网关申请证书但未指定有效期时,此参数将作为证书有效期。

maxValidDay

Integer

仅当 biDirectionalAuthtrue 时适用。当该产品下的设备/网关申请证书时,作为设备/网关的最大证书有效期。

错误码

代码

错误信息

描述

11404

Product cannot be found

productKey 不存在。

11858

Unable to find public key

由于应用的服务帐号未创建 RSA 密钥对,无法获取 RSA 公钥,因此无法请求 requireSecret。请先为服务帐号 创建 RSA 密钥对

示例

请求示例

url: https://{apigw-address}/connect-service/v2.4/products?action=get&orgId=yourOrgId&productKey=yourProductKey&requireSecret=true
method: GET

返回示例

{
    "code":0,
    "msg":"OK",
    "requestId":"864291ce-ca48-457f-a790-a3415c0169ad",
    "data":{
        "orgId":"yourOrgId",
        "productKey":"yourProductKey",
        "productName":{
            "defaultValue":"202cp",
            "i18nValue":{
                "en_US":"",
                "zh_CN":""
            }
        },
        "productSecret"::"EncryptedProductSecret",
        "sessionKey":"EncryptedSessionKey",
        "productDesc":"",
        "productType":"Device",
        "dataFormat":"Json",
        "productTags":null,
        "protocolGatewayIds":null,
        "modelId":"yourModelID",
        "dynamicActivateEnabled":false,
        "biDirectionalAuth":false,
        "createBy":"Creator1",
        "createTime":1582861255508,
        "updateBy":"Creator1",
        "updateTime":1582861255508,
        "defaultValidDay":null,
        "maxValidDay":null
    }
}

SDK 示例


你可以在 Github 上获取接入服务的 SDK 示例: