Create Product¶
创建产品。
操作权限¶
需授权的资源 |
所需操作权限 |
---|---|
设备管理 |
Full Access |
请求格式¶
POST https://{apigw-address}/connect-service/v2.1/products?action=create
请求参数(URI)¶
名称 |
位置(Path/Query) |
必需/可选 |
数据类型 |
描述 |
---|---|---|---|---|
orgId |
Query |
必需 |
String |
资产所属的组织 ID。如何获取 orgId 信息>> |
请求参数(Body)¶
名称 |
必需/可选 |
数据类型 |
描述 |
---|---|---|---|
modelId |
必需 |
String |
资产所属模型 ID。如何获取 modelId 信息>> |
productName |
必需 |
StringI18n |
产品名称,见 国际化名称结构体。 |
productType |
必需 |
String |
产品类型。 |
biDirectionalAuth |
必需 |
Boolean |
是否支持双向认证。 |
dataFormat |
必需 |
String |
数据类型。 |
productDesc |
可选 |
String |
产品的描述。 |
dynamicActivateEnabled |
可选 |
Boolean |
是否允许动态激活。 |
productTags |
可选 |
Map |
产品标签。 |
defaultValidDay |
可选 |
Integer |
仅当 |
maxValidDay |
可选 |
Integer |
仅当 |
响应参数¶
名称 |
数据类型 |
描述 |
---|---|---|
data |
String |
创建的产品的 product key。 |
错误码¶
代码 |
错误信息 |
描述 |
---|---|---|
99500 |
Query model failed |
|
示例¶
请求示例¶
url: https://{apigw-address}/connect-service/v2.1/products?action=create&orgId=yourOrgId
method: POST
requestBody:
{
"modelId":"yourModelId",
"productName":{
"defaultValue":"Product Name",
"i18nValue":{
"zh_CN": "产品名称",
"en_US": "Product Name"
}
},
"productType":"Device",
"biDirectionalAuth":false,
"dataFormat":"Custom",
"productDesc":"Product description",
"productTags":{
"tag1":"tag value"
}
}
返回示例¶
{
"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");
Map<String, String> tags = Maps.newHashMap();
tags.put("tag1", "tag value");
request.setProductTags(tags);
CreateProductResponse response = Poseidon.config(PConfig.init().appKey(appKey).appSecret(appSecret).debug())
.url(serverUrl)
.getResponse(request, CreateProductResponse.class);
}
}