1. 接口描述
接口请求域名: iotexplorer.tencentcloudapi.com 。
为用户提供同步调用设备行为的能力。
默认接口请求频率限制:200次/秒。
推荐使用 API Explorer
点击调试
API Explorer 提供了在线调用、签名验证、SDK 代码生成和快速检索接口等能力。您可查看每次调用的请求内容和返回结果以及自动生成 SDK 调用示例。
2. 输入参数
以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表见 公共请求参数。
参数名称 | 必选 | 类型 | 描述 |
---|---|---|---|
Action | 是 | String | 公共参数,本接口取值:CallDeviceActionSync。 |
Version | 是 | String | 公共参数,本接口取值:2019-04-23。 |
Region | 是 | String | 公共参数,详见产品支持的 地域列表,本接口仅支持其中的: ap-bangkok, ap-beijing, ap-guangzhou, ap-shanghai, ap-shanghai-fsi, eu-frankfurt, na-ashburn 。 |
ProductId | 是 | String | 产品Id 示例值:TOIDHQ3AOQ |
DeviceName | 是 | String | 设备名称 示例值:light1 |
ActionId | 是 | String | 产品数据模板中行为功能的标识符,由开发者自行根据设备的应用场景定义 示例值:openlight |
InputParams | 否 | String | 输入参数 示例值:{"vol":4} |
3. 输出参数
参数名称 | 类型 | 描述 |
---|---|---|
ClientToken | String | 调用Id 示例值:0fe1260b7a724b67ba873ca7df703e0d |
OutputParams | String | 输出参数,取值设备端上报$thing/up/action method为action_reply 的 response字段,物模型协议参考https://cloud.tencent.com/document/product/1081/34916#.E8.AE.BE.E5.A4.87.E8.A1.8C.E4.B8.BA.E8.B0.83.E7.94.A8 注意:此字段可能返回 null,表示取不到有效值。 示例值:{"brightness":1,"color":1,"light_switch":1} |
Status | String | 返回状态,取值设备端上报$thing/up/action method为action_reply 的 status字段,如果不包含status字段,则取默认值,空字符串,物模型协议参考https://cloud.tencent.com/document/product/1081/34916#.E8.AE.BE.E5.A4.87.E8.A1.8C.E4.B8.BA.E8.B0.83.E7.94.A8 示例值:succ |
RequestId | String | 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 |
4. 示例
示例1 同步调用设备行为
云端调用后,设备端上报$thing/up/action/TOIDHQ3AOQ/light1
{
"method": "action_reply",
"clientToken": "0fe1260b7a724b67ba873ca7df703e0d",
"code": 0,
"response": { "brightness": 1, "color": 1, "light_switch": 1 },
"status": "succ"
}
输入示例
POST / HTTP/1.1
Host: iotexplorer.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: CallDeviceActionSync
<公共请求参数>
{
"DeviceName": "light1",
"InputParams": "{\"vol\":3}",
"ActionId": "actid",
"ProductId": "TOIDHQ3AOQ"
}
输出示例
{
"Response": {
"ClientToken": "0fe1260b7a724b67ba873ca7df703e0d",
"OutputParams": "{\"brightness\":1,\"color\":1,\"light_switch\":1}",
"RequestId": "235fe48b-0c31-4a7c-aaf6-83ba3e9s4bcf",
"Status": "succ"
}
}
示例2 同步调用设备行为,设备超时
当设备响应时间过长时,设备返回情况如样例所示。
输入示例
POST / HTTP/1.1
Host: iotexplorer.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: CallDeviceActionSync
<公共请求参数>
{
"DeviceName": "light1",
"InputParams": "{\"brightness\":3}",
"ActionId": "actid",
"ProductId": "TOIDHQ3AOQ"
}
输出示例
{
"Response": {
"Error": {
"Code": "FailedOperation.Timeout",
"Message": "调用超时"
},
"RequestId": "b1de7dcf-5029-4d70-b6b5-d1ad0f785552"
}
}
示例3 同步调用设备行为,设备不在线。
当设备不在线或未订阅相关 topic 时,设备返回情况如样例所示。
输入示例
POST / HTTP/1.1
Host: iotexplorer.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: CallDeviceActionSync
<公共请求参数>
{
"DeviceName": "light1",
"InputParams": "{\"brightness\":3}",
"ActionId": "actid",
"ProductId": "TOIDHQ3AOQ"
}
输出示例
{
"Response": {
"ClientToken": "",
"OutputParams": "",
"RequestId": "b2621fc1-d6d9-4929-af0b-3fb0e919658a",
"Status": "FailedOperation.ActionUnreachable|动作消息不可达"
}
}
5. 开发者资源
腾讯云 API 平台
腾讯云 API 平台 是综合 API 文档、错误码、API Explorer 及 SDK 等资源的统一查询平台,方便您从同一入口查询及使用腾讯云提供的所有 API 服务。
API Inspector
用户可通过 API Inspector 查看控制台每一步操作关联的 API 调用情况,并自动生成各语言版本的 API 代码,也可前往 API Explorer 进行在线调试。
SDK
云 API 3.0 提供了配套的开发工具集(SDK),支持多种编程语言,能更方便的调用 API。
- Tencent Cloud SDK 3.0 for Python: GitHub Gitee
- Tencent Cloud SDK 3.0 for Java: GitHub Gitee
- Tencent Cloud SDK 3.0 for PHP: GitHub Gitee
- Tencent Cloud SDK 3.0 for Go: GitHub Gitee
- Tencent Cloud SDK 3.0 for Node.js: GitHub Gitee
- Tencent Cloud SDK 3.0 for .NET: GitHub Gitee
- Tencent Cloud SDK 3.0 for C++: GitHub Gitee
- Tencent Cloud SDK 3.0 for Ruby: GitHub Gitee
命令行工具
6. 错误码
以下仅列出了接口业务逻辑相关的错误码,其他错误码详见 公共错误码。
错误码 | 描述 |
---|---|
FailedOperation.ActionUnreachable | 动作消息不可达。 |
FailedOperation.Timeout | 超过时间。 |
InternalError | 内部错误。 |
InternalError.DBOpertaionError | DB操作错误。 |
InternalError.InternalRPCError | 内部RPC错误。 |
InternalError.InternalServerException | 发生错误。 |
InvalidParameter.ActionInputParamsInvalid | 动作输入参数不合法。 |
InvalidParameterValue.ActionNilOrNotExist | 动作为空或不存在。 |
InvalidParameterValue.ModelDefineNil | 物模型为空。 |
InvalidParameterValue.ModelPropertyNotExist | 属性ID不存在。 |
ResourceNotFound | 资源不存在。 |
ResourceNotFound.DeviceNotExist | 设备不存在。 |
ResourceNotFound.StudioProductNotExist | 产品不存在。 |
UnauthorizedOperation | 未授权操作。 |
UnauthorizedOperation.NoPermissionToStudioProduct | 产品ACL错误。 |
UnsupportedOperation.InstanceIsolated | 由于实例到期已被禁用,请续费后使用。 |