Get Product¶
通过 productKey
获取产品的详细信息。
请求格式¶
GET https://{apigw-address}/connect-service/v2.1/products?action=get
请求参数(URI)¶
名称 | 位置(Path/Query) | 必需/可选 | 数据类型 | 描述 |
---|---|---|---|---|
orgId | Query | 必需 | String | 资产所属的组织ID。如何获取 orgId 信息>> |
productKey | Query | 必需 | String | 产品的 Product Key。 |
响应参数¶
名称 | 数据类型 | 描述 |
---|---|---|
data | Product 结构体 | 产品的具体信息,见 Product 结构体。 |
Product 结构体 ¶
名称 | 数据类型 | 描述 |
---|---|---|
orgId | String | 资产所属的组织 ID。 |
productKey | String | 产品的 Product Key。 |
productName | StringI18n | 产品名称。结构请见 国际化名称结构体。 |
productSecret | String | 产品私钥。 |
productDesc | String | 产品描述。 |
productType | String | 产品类型,Device 代表普通类型, Gateway 代表网关类型。 |
dataFormat | String | 数据类型, Custom 代表用户自定义类型, Json 代表 JSON 类型。 |
productTags | Map(key 为 String,value 为 String) | 产品标签。 |
modelId | String | 资产所属模型 ID。 |
dynamicActiveEnabled | Boolean | 是否支持动态激活。 |
biDirectionalAuth | Boolean | 是否支持双向认证。 |
createTime | Long | 创建时间。 |
createBy | String | 创建人。 |
updateTime | Long | 更新时间。 |
updateBy | String | 更新人。 |
defaultValidDay | Integer | 仅当 biDirectionalAuth 为 true 时适用。此参数在该产品下的设备/网关申请证书时使用。当设备/网关申请证书但未指定有效期时,此参数将作为证书有效期。 |
maxValidDay | Integer | 仅当 biDirectionalAuth 为 true 时适用。当该产品下的设备/网关申请证书时,作为设备/网关的最大证书有效期。 |
错误码¶
代码 | 错误信息 | 描述 |
---|---|---|
11404 | Product cannot be found | productKey 不存在。 |
示例¶
请求示例¶
url: https://{apigw-address}/connect-service/v2.1/products?action=get&orgId=yourOrgId&productKey=yourProductKey
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":"yourProductSecret",
"productDesc":"",
"productType":"Device",
"dataFormat":"Json",
"productTags":null,
"modelId":"202model",
"dynamicActivateEnabled":false,
"biDirectionalAuth":false,
"createBy":"DM001",
"createTime":1582861255508,
"updateBy":"DM001",
"updateTime":1582861255508,
"defaultValidDay":null,
"maxValidDay":null
}
}
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.connect_service.v2_1.product.GetProductRequest;
import com.envisioniot.enos.connect_service.v2_1.product.GetProductResponse;
public class GetProduct {
public static void main(String[] args) {
String appKey = "yourAppKey";
String appSecret = "yourAppSecret";
String serverUrl = "yourServerUrl";
String orgId = "yourOrgId";
GetProductRequest request = new GetProductRequest();
request.setOrgId(orgId);
request.setProductKey("yourProductKey");
GetProductResponse response = Poseidon.config(PConfig.init().appKey(appKey).appSecret(appSecret).debug())
.url(serverUrl)
.getResponse(request, GetProductResponse.class);
}
}