Adding a Subdevice to the Gateway
Function
Adding a Subdevice to the Gateway
URI
POST /v2/{project_id}/link/instances/{instance_id}/devices/{device_id}/subsets
| 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. |
| device_id | Yes | Integer | Device ID. |
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 |
|---|---|---|---|
| resources | Yes | Array of integers | List of subdevices to add. The value must be a common device ID, which is automatically rounded down. |
Response Parameters
Status code: 201
| Parameter | Type | Description |
|---|---|---|
| [items] | Array of AddSubsetsToGatewayResponseBody objects | Responses for adding child devices to a gateway. |
| Parameter | Type | Description |
|---|---|---|
| id | Integer | Device ID. |
| device_id | Integer | Device ID (compatible with 20.0). |
| parent_device_id | Integer | Parent device ID. |
| product | ProductReferer object | Product. |
| device_name | String | Device name. The value is a string of 2 to 64 characters, which can contain letters, digits, and the following special characters: ()_,#.?''-@%&!, |
| instance_id | String | Instance ID. |
| client_id | String | Client ID, which is the unique device ID generated by the ROMA platform. |
| node_id | String | Physical number of a device. The value is a string of 2 to 64 characters, which can contain only letters, digits, underscores (_), and hyphens (-). Generally, the MAC address or IMEI is used. |
| status | Integer | Device status. The options are as follows: 0: enabled; 1: disabled. |
| online_status | Integer | Connection status. The options are as follows: 0: disconnected; 1: online; 2: offline. |
| description | String | Description. |
| created_user | CreatedUser object | Name of the user who created the attribute. |
| last_updated_user | LastUpdatedUser object | User who performed the last update. |
| created_datetime | Long | Creation start time. The format is timestamp(ms) and the UTC time zone is used. |
| last_updated_datetime | Long | Last modification time (timestamp, in milliseconds). The UTC time zone is used. |
| app_id | String | Application ID. |
| Parameter | Type | Description |
|---|---|---|
| product_id | Integer | Product ID. The product ID is mandatory if the manufacturer ID and model are not set. |
| product_name | String | Product name. |
| manufacturer_id | String | Manufacturer ID. If the product ID is not specified, the manufacturer ID and model are mandatory. |
| model | String | Model. If the product ID is not specified, the manufacturer ID and model are mandatory. |
| protocol_type | Integer | Protocol type of the product. 0: mqtt 1: CoAP 2: modbus 4: opcua 5: extended protocol |
| product_type | Integer | Product type. The options are as follows: 0: common; 1: gateway. |
| extend_protocol_name | String | Extended protocol name. |
| 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. |
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
Add devices to a specified gateway device.
{
"resources" : [ 10001, 10002 ]
} Example Responses
Status code: 201
Created
[ {
"id" : 711537,
"device_id" : 711537,
"parent_device_id" : 711536,
"product" : {
"product_id" : 116303,
"product_name" : "p1",
"manufacturer_id" : "p1",
"model" : "p1",
"product_type" : 0,
"protocol_type" : 0
},
"device_name" : "device",
"instance_id" : "8993a690-cf61-46af-880d-587d823d14e5",
"client_id" : "D116303711537sGDtK",
"node_id" : "string",
"status" : 0,
"online_status" : 2,
"description" : "device",
"created_user" : {
"user_id" : "",
"user_name" : "user"
},
"last_updated_user" : {
"user_id" : "",
"user_name" : "user"
},
"created_datetime" : 1607408244841,
"last_updated_datetime" : 1607422571094,
"app_id" : "cb4b3ec0-8f7f-432f-b05e-fc149d05da5d"
} ] Status code: 400
Bad Request
{
"error_code" : "SCB.00000000",
"error_msg" : "Parameter is not valid for operation [romalink.link-device.addSUbDevice]. Parameter is [deviceOid]. Processor is [path].",
"request_id" : "cb39e78a-afd3-4e04-901d-70468b1c23dc-1619602712496-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 1 is correct.",
"request_id" : "624c8be1-39b6-47b7-941d-c159aced368a-1619602544650-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.