发送命令 - SendCommand
功能介绍
发送命令
授权信息
账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限,具体权限要求请参见权限和授权项。
URI
POST /v2/{project_id}/link/instances/{instance_id}/devices/{device_id}/send-command
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
project_id |
是 |
String |
项目ID。兼容20.0场景默认为default。项目ID,获取方式请参见API参考的“附录 > 获取项目ID”章节。 |
|
instance_id |
是 |
String |
实例的ID。兼容20.0场景默认为default。 |
|
device_id |
是 |
Integer |
设备ID,该字段为数据库中的自增唯一标识符;通过调用查询设备接口:GET /v2/{project_id}/link/instances/{instance_id}/devices获取响应体中对应设备的device_id字段值。 |
请求参数
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
X-Auth-Token |
是 |
String |
用户Token。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 |
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
service_id |
是 |
Integer |
服务ID,该字段为数据库中的自增唯一标识符;通过调用查询服务接口:GET /v2/{project_id}/link/instances/{instance_id}/services获取响应体中对应服务的service_id字段值。 |
|
command_id |
是 |
Integer |
命令ID,该字段为数据库中的自增唯一标识符;通过调用查询命令接口:GET /v2/{project_id}/link/instances/{instance_id}/services/{service_id}/commands获取响应体中对应命令的command_id字段值。 |
|
is_sync |
是 |
Boolean |
命令是否同步,1-同步,0-异步。 同步命令会将命令以MQTT消息发送给设备后等待设备的MQTT命令响应,收到响应后再回复响应(默认超时5秒),超时时接口报错误信息,异步命令则以立即返回响应。 |
|
is_cache_to_shadow |
否 |
Boolean |
是否要将该命令存入设备影子,1-启用(默认),0-禁用。 如果将该命令存入设备影子,设备订阅command topic或者子设备上线时,会收到设备影子中存储的命令,返回命令响应时会将对应的命令从设备影子清除。 如果不将该命令存入设备影子,即使没下发命令成功,后续设备订阅topic也不会收到这条命令。 |
|
requests |
否 |
Array of RequestParameter objects |
请求参数列表。 |
响应参数
状态码:204
No Content
状态码:400
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
error_code |
String |
系统错误码,针对4xx和5xx类HTTP错误码的详细错误码。 |
|
error_msg |
String |
错误描述。 |
|
request_id |
String |
消息ID。 |
状态码:404
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
error_code |
String |
系统错误码,针对4xx和5xx类HTTP错误码的详细错误码。 |
|
error_msg |
String |
错误描述。 |
|
request_id |
String |
消息ID。 |
状态码:500
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
error_code |
String |
系统错误码,针对4xx和5xx类HTTP错误码的详细错误码。 |
|
error_msg |
String |
错误描述。 |
|
request_id |
String |
消息ID。 |
请求示例
向指定设备发送命令,命令发送方式为同步发送
{
"service_id" : 10001,
"command_id" : 20001,
"is_sync" : 1
}
响应示例
状态码: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"
}
状态码: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"
}
状态码: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"
}
状态码
|
状态码 |
描述 |
|---|---|
|
204 |
No Content |
|
400 |
Bad Request |
|
404 |
Not Found |
|
500 |
Internal Server Error |
错误码
请参见错误码。