Updated on 2025-03-26 GMT+08:00

Sending Commands

Function

Sending Commands

URI

POST /v2/{project_id}/link/instances/{instance_id}/devices/{device_id}/send-command

Table 1 Path Parameters

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

Table 2 Request header 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).

Table 3 Request body parameters

Parameter

Mandatory

Type

Description

service_id

Yes

Integer

Service ID. The value is automatically rounded down.

command_id

Yes

Integer

Command ID. The value is automatically rounded down.

is_sync

Yes

Boolean

Whether a command is synchronous.1: synchronous0: asynchronousIf the system sends a synchronous command to the device as an MQTT message, it waits for the MQTT response from the device (the timeout interval is 5 seconds by default) and then returns a response. If no response is received from the device within the timeout period, an error message is reported by the interface. If the system sends an asynchronous command to the device, it immediately returns a response without waiting for a response from the device.

is_cache_to_shadow

No

Boolean

Whether to save the command to the device shadow. 1 (default): yes; 0: no. If the command is saved in the device shadow, the device will receive it when it subscribes to the command topic or when a child device comes online. Once the command response is returned, the corresponding command is removed from the device shadow. If command storage in the device shadow is disabled, devices subscribed to the topic will not receive the command, even if delivery fails.

requests

No

Array of RequestParameter objects

Request parameter list.

Table 4 RequestParameter

Parameter

Mandatory

Type

Description

parameter_name

No

String

Request parameter name.

parameter_value

No

String

Request parameter value.

Response Parameters

Status code: 400

Table 5 Response body parameters

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

Table 6 Response body parameters

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

Table 7 Response body parameters

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

Send a synchronous command to a specified device.

{
  "service_id" : 10001,
  "command_id" : 20001,
  "is_sync" : 1
}

Example Responses

Status code: 400

Bad Request

{
  "error_code" : "SCB.00000000",
  "error_msg" : "Parameter is not valid for operation [romalink.link-device.sendCommand]. Parameter is [device_id]. 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

204

No Content

400

Bad Request

404

Not Found

500

Internal Server Error

Error Codes

See Error Codes.