Create Product


创建产品。

操作权限

需授权的资源

所需操作权限

设备管理

Full Access

请求格式

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

请求参数(URI)

名称

位置(Path/Query)

必需/可选

数据类型

描述

orgId

Query

必需

String

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

请求参数(Body)

名称

必需/可选

数据类型

描述

productDesc

可选

String

产品的描述。

biDirectionalAuth

必需

Boolean

是否支持双向认证。

modelId

必需

String

资产所属模型 ID。如何获取 modelId 信息>>

dataFormat

必需

String

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

productName

必需

StringI18n

产品名称,见 国际化名称结构体

productType

必需

String

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

dynamicActivateEnabled

可选

Boolean

是否允许动态激活。

productTags

可选

Map

产品标签。

defaultValidDay

可选

Integer

此参数在该产品下的设备申请证书时使用。当设备申请证书但未指定有效期时,此参数将作为证书有效期。范围为 1 到 3650,默认值为 730。

maxValidDay

可选

Integer

当该产品下的设备申请证书时,作为设备的最大证书有效期。若超出有效期则报错,申请证书失败。范围为 1 到 3650,默认值为 1095。

响应参数

名称

数据类型

描述

data

String

创建的产品的 product key。

错误码

代码

描述

11699

modelId 不存在。

示例

请求示例

url: https://{apigw-address}/connect-service/v2.1/products?action=create&orgId=yourOrgId
method: POST
requestBody:
{
    "productDesc":"openapi_sdk_create_test",
    "biDirectionalAuth":false,
    "modelId":"AlterTest0615",
    "dataFormat":"Custom",
    "productName":{
        "defaultValue":"AlterTest0615_Product",
        "i18nValue":{}
    },
    "productType":"Device"
}

返回示例

{
    "code":0,
    "msg":"OK",
    "requestId":"522d0269-445d-4f13-be04-1424e0e2893e",
    "data":"2zp6A70r"
}

Java SDK 调用示例

package com.envisioniot.enos.api.sample.connect_service.product;

import com.envision.apim.poseidon.config.PConfig;
import com.envision.apim.poseidon.core.Poseidon;
import com.envisioniot.enos.api.common.constant.common.StringI18n;
import com.envisioniot.enos.connect_service.v2_1.product.CreateProductRequest;
import com.envisioniot.enos.connect_service.v2_1.product.CreateProductResponse;

public class CreateProduct {

    public static void main(String[] args) {
        String appKey = "yourAppKey";
        String appSecret = "yourAppSecret";
        String serverUrl = "yourSeverUrl";

        String orgId = "yourOrgId";
        CreateProductRequest request = new CreateProductRequest();
        request.setOrgId(orgId);
        StringI18n productName = new StringI18n("yourProductName");
        request.setProductName(productName);
        request.setProductDesc("yourProductDesc");
        request.setBiDirectionalAuth(false);
        request.setDataFormat("Custom");
        request.setProductType("Device");
        request.setModelId("yourModelId");
        CreateProductResponse response = Poseidon.config(PConfig.init().appKey(appKey).appSecret(appSecret).debug())
                .url(serverUrl)
                .getResponse(request, CreateProductResponse.class);
    }


}