Creating a Product
Function
Creating a Product
URI
POST /v2/{project_id}/link/instances/{instance_id}/products
|
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
|
project_id |
Yes |
String |
Project ID. The default value is default for compatibility with 20.0.Project ID. For details about how to get the project ID, see "Appendix" > "Obtaining a Project ID" in this document. |
|
instance_id |
Yes |
String |
Instance ID. The default value is default for compatibility with 20.0. |
Request Parameters
|
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
|
X-Auth-Token |
Yes |
String |
User token, which can be obtained by calling the IAM API (value of X-Subject-Token in the response header). |
|
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
|
app_id |
Yes |
String |
Application ID. |
|
name |
Yes |
String |
Product name, which is unique in a tenant. The value can contain a maximum of 64 characters. Only letters, digits, underscores (_), and hyphens (-) are allowed. |
|
manufacturer_id |
Yes |
String |
Product manufacturer ID. |
|
manufacturer_name |
Yes |
String |
Manufacturer name. |
|
model |
Yes |
String |
Product model. |
|
product_type |
Yes |
Integer |
Product type. 0: common product (subdevices are not supported) 1: gateway product |
|
description |
No |
String |
Product description, which contains a maximum of 200 characters. |
|
protocol_type |
Yes |
Integer |
Protocol type of the product. 0: mqtt 1: CoAP 2: modbus 4: opcua 5: extended protocol |
|
device_type |
No |
String |
Device type of a product. The default value is Default. |
|
template_id |
No |
Integer |
ID of the associated product template. This parameter must be specified if a product template is used to create a product. Otherwise, leave this parameter empty. The value is automatically rounded down. |
|
version |
No |
String |
Model version. |
|
data_format |
No |
Integer |
Product data format. 0: JSON 1: USER_DEFINED |
Response Parameters
Status code: 201
|
Parameter |
Type |
Description |
|---|---|---|
|
permissions |
Array of strings |
Permission. |
|
id |
Integer |
Product ID. |
|
product_serial |
String |
Unique sequence number of a product (unique value in the system, which is used to mark a product in the topic of MQS). |
|
app_id |
String |
Application ID. |
|
name |
String |
Product name, which is unique in a tenant. The value can contain a maximum of 64 characters. Only letters, digits, underscores (_), and hyphens (-) are allowed. |
|
manufacturer_id |
String |
Product manufacturer ID. |
|
manufacturer_name |
String |
Manufacturer name. |
|
model |
String |
Product model. |
|
product_type |
Integer |
Product type. 0: common product (subdevices are not supported) 1: gateway product |
|
description |
String |
Product description, which contains a maximum of 200 characters. |
|
protocol_type |
Integer |
Protocol type of the product. 0: mqtt 1: CoAP 2: modbus 4: opcua 5: extended protocol |
|
device_type |
String |
Device type of a product. The default value is Default. |
|
version |
String |
Product version. |
|
created_user |
CreatedUser object |
Name of the user who created the attribute. |
|
last_updated_user |
LastUpdatedUser object |
User who performed the last update. |
|
authentication |
Authentication object |
Authentication. |
|
created_datetime |
Long |
Creation start time. The format is timestamp(ms) and the UTC time zone is used. |
|
app_name |
String |
Application name. |
|
data_format |
Integer |
data_format 0-JSON 1-USER_DEFINED |
|
Parameter |
Type |
Description |
|---|---|---|
|
user_id |
String |
User ID (reserved). |
|
user_name |
String |
Username. |
|
Parameter |
Type |
Description |
|---|---|---|
|
user_id |
String |
User ID (reserved). |
|
user_name |
String |
Username. |
|
Parameter |
Type |
Description |
|---|---|---|
|
user_name |
String |
One-model-one-secret or one-device-one-secret username. |
|
password |
String |
One-model-one-secret or one-device-one-secret password. The password must contain 8 to 32 characters, including at least one digit, one uppercase letter, one lowercase letter, and one special character (~!@#$%^&*()-_=+|[{}];:<>/?). |
Status code: 400
|
Parameter |
Type |
Description |
|---|---|---|
|
error_code |
String |
System error code, which is the detailed error code of HTTP error codes 4xx and 5xx. |
|
error_msg |
String |
Error description. |
|
request_id |
String |
Message ID. |
Status code: 404
|
Parameter |
Type |
Description |
|---|---|---|
|
error_code |
String |
System error code, which is the detailed error code of HTTP error codes 4xx and 5xx. |
|
error_msg |
String |
Error description. |
|
request_id |
String |
Message ID. |
Status code: 500
|
Parameter |
Type |
Description |
|---|---|---|
|
error_code |
String |
System error code, which is the detailed error code of HTTP error codes 4xx and 5xx. |
|
error_msg |
String |
Error description. |
|
request_id |
String |
Message ID. |
Example Requests
Create a product with product type as common product, protocol type as MQTT, and product status as enabled.
{
"app_id" : "ef3845be-091a-4ab5-869a-9de0025e2165",
"name" : "device",
"manufacturer_id" : 10001,
"manufacturer_name" : "test",
"model" : "model1",
"product_type" : 0,
"protocol_type" : 0,
"status" : 0,
"device_type" : "Default"
}
Example Responses
Status code: 201
Created
{
"permissions" : [ "read", "access", "delete", "modify" ],
"id" : 120671,
"product_serial" : "Dd1bRt122894",
"app_id" : "a1503e51-46f7-4d23-8617-7cb2d28dde98",
"name" : "pro-opcua",
"manufacturer_id" : "pro-opcua",
"manufacturer_name" : "pro-opcua",
"model" : "pro-opcua",
"product_type" : 0,
"description" : "opcua product",
"protocol_type" : 4,
"device_type" : "default",
"version" : "version",
"status" : 0,
"created_datetime" : 1607481372416,
"last_updated_datetime" : 1607481372416,
"app_name" : "app-link",
"data_format" : 0,
"created_user" : {
"user_id" : "6546435432432",
"user_name" : "user1"
},
"last_updated_user" : {
"user_id" : "6546435432432",
"user_name" : "user1"
},
"authentication" : {
"user_name" : "4MjxbCl4q461",
"password" : "********"
}
}
Status code: 400
Bad Request
{
"error_code" : "ROMA.00110001",
"error_msg" : "The parameter does not meet verification rules: [name:Can not be empty, manufacturer_name:Can not be empty, manufacturer_id:Can not be empty, product_type:must not be null, app_id:must not be empty, model:Can not be empty]",
"request_id" : "b728949c-dfb5-4277-b54e-7c05e1b0b598-1619663322828-cnnorth7a-P-romalink-service01"
}
Status code: 404
Not Found
{
"error_code" : "ROMA.00110006",
"error_msg" : "The resource does not exist. Check whether the resource ID ff38023c-0854-4779-847d-72528e1f5da5 is correct.",
"request_id" : "72b07918-f6a2-4721-81bf-f3fd5486025e-1619663576836-cnnorth7a-P-romalink-service01"
}
Status code: 500
Internal Server Error
{
"error_code" : "ROMA.00110002",
"error_msg" : "The instance does not exist. project_id: 397cd10b30544c588b2f4a56d83856c4, instance_id: f3bb386a-23ec-47aa-9943-4c60ac658611",
"request_id" : "c8c06d0a-be92-4fdf-9d10-bc20131ab158-1619593104919-cnnorth7a-P-romalink-service01"
}
Status Codes
|
Status Code |
Description |
|---|---|
|
201 |
Created |
|
400 |
Bad Request |
|
404 |
Not Found |
|
500 |
Internal Server Error |
Error Codes
See Error Codes.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.