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. For details about how to obtain the project ID, see Appendix > Obtaining a Project ID in the ROMA Connect API Reference. Minimum: 0 Maximum: 32 |
instance_id |
Yes |
String |
Instance ID. Minimum: 0 Maximum: 36 |
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). Minimum: 1 Maximum: 100000 |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
app_id |
Yes |
String |
Application ID. Minimum: 1 Maximum: 36 |
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. Minimum: 1 Maximum: 64 |
manufacturer_id |
Yes |
String |
Product manufacturer ID. Minimum: 2 Maximum: 50 |
manufacturer_name |
Yes |
String |
Manufacturer name. Minimum: 2 Maximum: 64 |
model |
Yes |
String |
Product model. Minimum: 2 Maximum: 50 |
product_type |
Yes |
Integer |
Product type. 0: common product (subdevices are not supported) 1: gateway product Minimum: 0 Maximum: 1 |
description |
No |
String |
Product description, which contains a maximum of 200 characters. Minimum: 0 Maximum: 200 |
protocol_type |
Yes |
Integer |
Protocol type of the product. 0: mqtt 1: CoAP 2: modbus 4: opcua 5: extended protocol Minimum: 0 Maximum: 4 |
device_type |
No |
String |
Device type of a product. The default value is Default. Minimum: 1 Maximum: 32 |
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. Minimum: 1 Maximum: 99999999999999999 |
version |
No |
String |
Model version. Minimum: 0 Maximum: 32 |
data_format |
No |
Integer |
Product data format. 0: JSON 1: USER_DEFINED Minimum: 0 Maximum: 10 Default: 0 |
status |
No |
Integer |
Product status. 0-enabled 1-disabled Minimum: 0 Maximum: 1 Default: 0 |
Response Parameters
Status code: 201
Parameter |
Type |
Description |
---|---|---|
permissions |
Array of strings |
Permission. |
id |
Integer |
Product ID. Minimum: 1 Maximum: 99999999999999999 |
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). Minimum: 0 Maximum: 64 |
app_id |
String |
Application ID. Minimum: 0 Maximum: 64 |
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. Minimum: 0 Maximum: 64 |
manufacturer_id |
String |
Product manufacturer ID. Minimum: 0 Maximum: 64 |
manufacturer_name |
String |
Manufacturer name. Minimum: 0 Maximum: 64 |
model |
String |
Product model. Minimum: 0 Maximum: 64 |
product_type |
Integer |
Product type. 0: common product (subdevices are not supported) 1: gateway product Minimum: 0 Maximum: 10 |
description |
String |
Product description, which contains a maximum of 200 characters. Minimum: 0 Maximum: 200 |
protocol_type |
Integer |
Protocol type of the product. 0: mqtt 1: CoAP 2: modbus 4: opcua 5: extended protocol Minimum: 0 Maximum: 10 |
device_type |
String |
Device type of a product. The default value is Default. Minimum: 0 Maximum: 64 |
version |
String |
Product version. Minimum: 0 Maximum: 64 |
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. Minimum: 1 Maximum: 99999999999999999 |
app_name |
String |
Application name. Minimum: 0 Maximum: 256 |
data_format |
Integer |
data_format 0-JSON 1-USER_DEFINED Minimum: 1 Maximum: 99999999999999999 |
status |
Integer |
Product status. 0-enabled 1-disabled Minimum: 0 Maximum: 1 Default: 0 |
Parameter |
Type |
Description |
---|---|---|
user_id |
String |
User ID (reserved). Minimum: 0 Maximum: 64 |
user_name |
String |
Username. Minimum: 0 Maximum: 64 |
Parameter |
Type |
Description |
---|---|---|
user_id |
String |
User ID (reserved). Minimum: 0 Maximum: 64 |
user_name |
String |
Username. Minimum: 0 Maximum: 64 |
Parameter |
Type |
Description |
---|---|---|
user_name |
String |
One-model-one-secret or one-device-one-secret username. Minimum: 0 Maximum: 64 |
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 (~!@#$%^&*()-_=+|[{}];:<>/?). Minimum: 0 Maximum: 64 |
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. Minimum: 0 Maximum: 64 |
error_msg |
String |
Error description. Minimum: 0 Maximum: 200 |
request_id |
String |
Message ID. Minimum: 0 Maximum: 64 |
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. Minimum: 0 Maximum: 64 |
error_msg |
String |
Error description. Minimum: 0 Maximum: 200 |
request_id |
String |
Message ID. Minimum: 0 Maximum: 64 |
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. Minimum: 0 Maximum: 64 |
error_msg |
String |
Error description. Minimum: 0 Maximum: 200 |
request_id |
String |
Message ID. Minimum: 0 Maximum: 64 |
Example Requests
{ "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.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot