1. 接口描述
接口请求域名: iotexplorer.tencentcloudapi.com 。
本接口(PublishMessage)用于使用自定义透传协议进行设备远控
默认接口请求频率限制:200次/秒。
推荐使用 API Explorer
点击调试
API Explorer 提供了在线调用、签名验证、SDK 代码生成和快速检索接口等能力。您可查看每次调用的请求内容和返回结果以及自动生成 SDK 调用示例。
2. 输入参数
以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表见 公共请求参数。
参数名称 | 必选 | 类型 | 描述 |
---|---|---|---|
Action | 是 | String | 公共参数,本接口取值:PublishMessage。 |
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 |
DeviceName | 是 | String | 设备名称 |
Topic | 是 | String | 消息发往的主题 |
Payload | 是 | String | 云端下发到设备的控制报文 |
Qos | 否 | Integer | 消息服务质量等级,取值为0或1 |
PayloadEncoding | 否 | String | Payload的内容编码格式,取值为base64或空。base64表示云端将接收到的base64编码后的报文再转换成二进制报文下发至设备,为空表示不作转换,透传下发至设备 |
3. 输出参数
参数名称 | 类型 | 描述 |
---|---|---|
RequestId | String | 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 |
4. 示例
示例1 透传Payload至设备
输入示例
POST / HTTP/1.1
Host: iotexplorer.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: PublishMessage
<公共请求参数>
{
"Topic": "RL0BAZKZ6V/dev1/control",
"Payload": "AASDFASFSADFASDF",
"ProductId": "Nlasdf****ABCd",
"DeviceName": "dev1",
"Qos": 1
}
输出示例
{
"Response": {
"RequestId": "be69a7a3-7315-40a7-9532-3316e4a3e97e"
}
}
示例2 将接收到的经过业务系统base64编码后的Payload进行二进制编码后下发至设备
输入示例
POST / HTTP/1.1
Host: iotexplorer.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: PublishMessage
<公共请求参数>
{
"ProductId": "ZR2CxxxxMHX",
"DeviceName": "test01",
"Topic": "ZR2xxxxHX/texxx01/data",
"Payload": "5L2g5aW977yM5LiW55WM44CC",
"PayloadEncoding": "base64"
}
输出示例
{
"Response": {
"RequestId": "keyixie_b4f3cb87-2224-46b2-ac2c-e28feadb61c8"
}
}
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 | 操作失败。 |
FailedOperation.DeviceAlreadyDisabled | 设备已经被禁用。 |
FailedOperation.DeviceNoSubscription | 返回:消息发送失败,设备未订阅Topic。 |
FailedOperation.DeviceOffline | 设备处于离线状态。 |
InternalError | 内部错误。 |
InternalError.InternalRPCError | 内部RPC错误。 |
InvalidParameterValue | 参数取值错误。 |
LimitExceeded.MessageSaved | 消息数量超过限制。 |
ResourceNotFound.DeviceNotExist | 设备不存在。 |
ResourceNotFound.ProductNotExist | 产品不存在。 |
ResourceNotFound.ProductOrDeviceNotExist | 产品或设备不存在。 |
ResourceNotFound.StudioProductNotExist | 产品不存在。 |
UnauthorizedOperation.NoPermissionToStudioProduct | 产品ACL错误。 |
UnsupportedOperation.InstanceIsolated | 由于实例到期已被禁用,请续费后使用。 |
UnsupportedOperation.LoRaNoUpLink | LoRa设备未上报数据。 |
UnsupportedOperation.LoRaNotActivate | Lora设备没有激活。 |