全部产品
Search
文档中心

阿里云物联网平台:AsyncRRpc

更新时间:Aug 14, 2023

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

使用说明

对于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
}

错误码

HttpCode

错误码

错误信息

描述

400 iot.prod.NullProductKey The ProductKey is empty. 入参产品ID没有赋值。
400 iot.prod.InvalidFormattedProductkey The ProductKey format is incorrect. 请求参数ProductKey错误,请修改后重试。
400 iot.device.NullDeviceName The deviceName is empty. 空的设备名称。
400 iot.device.InvalidFormattedDeviceName The deviceName format is incorrect. 设备名称格式错误。
400 iot.device.InactiveDevice The device is inactive. 设备未激活,即物理设备从未连接物联网平台。
400 iot.device.OfflineDevice The device is offline. 设备离线。
400 iot.Device.NotExistedDevice This device does not exist. 设备不存在或未激活。

访问错误中心查看更多错误码。