调用该接口向指定设备发送消息。

使用说明

对于MQTT协议(包括云网关和非云网关)和云网关GB/T 32960协议的设备,可调用本接口从服务端下发消息给对应设备。

QPS限制

单个阿里云账号调用该接口的每秒请求数(QPS)最大限制为1,000。

说明

单个阿里云账号下的所有RAM用户共享该阿里云账号的配额。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

请求参数

名称

类型

是否必选

示例值

描述

Action String AsyncRRpc

系统规定参数。取值:AsyncRRpc。

DeviceName String device1

要接收消息的设备名称。

ProductKey String aldfeSe****

要接收消息的设备所属产品的ProductKey

MessageContent String eyJ0ZXN0IjoidGFzayBwdWIgYnJvYWRjYXN0In0=

要发送的消息内容。

您需要将消息原文转换成二进制数据,并进行Base64编码,从而生成消息内容。

说明

物联网平台会先对消息内容进行Base64解码,再将解码后的对应消息发送给设备。设备端无需进行Base64解码。

TopicFullName String /a1uZfYb****/A_Vol****/user/update

发送消息给MQTT协议设备时,需要传入对应设备的自定义Topic。Topic的操作权限必须为订阅发布和订阅

发送消息给云网关GB/T 32960协议的设备时,无需传入此参数。

ExtInfo String {"commandType": 128}

发送消息给云网关GB/T 32960协议的设备时,需要传入此参数,标识消息的命令类型,可取值:

  • 128:查询命令(0x80)。
  • 129:设置命令(0x81)。
  • 130:车载终端控制命令(0x82)。

云网关GB/T 32960协议的设备接入详情,请参见云网关GB/T 32960协议概述

IotInstanceId String iot-v64********

实例ID。您可在物联网平台控制台的实例概览页面,查看当前实例的ID

重要

  • 若有ID值,必须传入该ID值,否则调用会失败。
  • 若无实例概览页面或ID值,则无需传入。

实例的更多信息,请参见实例概述

调用API时,除了本文介绍的该API的特有请求参数,还需传入公共请求参数。公共请求参数说明,请参见公共参数文档

返回数据

名称

类型

示例值

描述

Code String iot.device.InvalidFormattedDeviceName

调用失败时,返回错误码。详细信息,请参见下文错误码

ErrorMessage String 设备名称格式错误。

调用失败时,返回的出错信息。

MessageId Long 889455942124347392

成功发送请求消息后,云端生成的消息ID,用于标识该消息。

RequestId String E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565

阿里云为该请求生成的唯一标识符。

Success Boolean true

是否调用成功。

  • true:调用成功。
  • false:调用失败。

示例

请求示例

https://iot.cn-shanghai.aliyuncs.com/?Action=AsyncRRpc
&DeviceName=device1
&MessageContent=dGhpcyBpcyBhbiBleGFtcGxl
&ProductKey=aldfeSe****
&IotInstanceId=iot-v64********
&<公共请求参数>

正常返回示例

XML格式

<AsyncRRpcResponse>
  <RequestId>E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565</RequestId>
  <Success>true</Success>
  <MessageId>889455942124347400</MessageId>
</AsyncRRpcResponse>

JSON格式

{
    "RequestId": "E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565",
    "Success": true,
    "MessageId": 889455942124347400
}