RRpc
调用该接口向指定设备发送请求消息,并同步返回响应。
使用说明
调用该接口后,如果设备端未在设置的超时时间(Timeout)内做出反馈,即使设备收到了消息,云端也视消息为发送失败。
请求参数
名称 | 类型 | 是否必选 | 示例值 | 描述 |
Action | String | 是 | RRpc | 系统规定参数。取值:RRpc。 |
ProductKey | String | 是 | aldfeSe**** | 要发送消息产品的ProductKey。 |
DeviceName | String | 是 | device1 | 要接收消息的设备名称。 |
RequestBase64Byte | String | 是 | dGhpcyBpcyBhbiBleGFtcGxl | 要发送的消息内容。 您需要将消息原文转换成二进制数据,并进行Base64编码,从而生成消息内容。 说明 物联网平台会先对消息内容进行Base64解码,再将解码后的对应消息发送给设备。设备端无需进行Base64解码。 |
Timeout | Integer | 是 | 1000 | 等待设备回复消息的时间,单位是毫秒,取值范围是1,000 ~8,000。 |
Topic | String | 否 | /a1uZfYb****/A_Vol****/user/update | 使用自定义的RRPC相关Topic。需要设备端配合使用,请参见设备端开发自定义Topic。 不传入此参数,则使用系统默认的RRPC Topic。 |
ContentType | String | 否 | 240 | 使用JT/T 808协议通信时,服务端向指定设备发送消息的类型。可取值:
物联网平台支持的JT/T 808协议详细使用说明,请参见JT/T 808协议云网关概述。 |
调用API时,除了本文介绍的该API的特有请求参数,还需传入公共请求参数。公共请求参数说明,请参见公共参数。
返回数据
名称 | 类型 | 示例值 | 描述 |
Code | String | iot.system.SystemException | 调用失败时,返回的错误码。更多信息,请参见错误码。 |
ErrorMessage | String | 系统异常 | 调用失败时,返回的出错信息。 |
MessageId | Long | 889455942124347392 | 成功发送请求消息后,云端生成的消息ID,用于标识该消息。 |
PayloadBase64Byte | String | d29ybGQgaGVsbG8= | 设备返回结果Base64编码后的值。 |
RequestId | String | 41C4265E-F05D-4E2E-AB09-E031F501AF7F | 阿里云为该请求生成的唯一标识符。 |
RrpcCode | String | SUCCESS | 调用成功时,生成的调用返回码,标识请求状态。取值:
|
Success | Boolean | true | 是否调用成功。
|
示例
请求示例
https://si-d6e8d812acb848958054.tuyacloud.com:8686/?Action=RRpc
&ProductKey=aldfeSe****
&DeviceName=device1
&RequestBase64Byte=dGhpcyBpcyBhbiBleGFtcGxl
&Timeout=1000
&<公共请求参数>
正常返回示例
XML
格式
<?xml version='1.0' encoding='UTF-8'?>
<RRpcResponse>
<RequestId>41C4265E-F05D-4E2E-AB09-E031F501AF7F<RequestId/>
<Success>true</Success>
<RrpcCode>SUCCESS</RrpcCode>
<PayloadBase64Byte>d29ybGQgaGVsbG8=</PayloadBase64Byte>
<MessageId>889455942124347392</MessageId>
</RRpcesponse>
JSON
格式
{
"RrpcCode":"SUCCESS",
"PayloadBase64Byte":"d29ybGQgaGVsbG8=",
"MessageId":889455942124347392,
"RequestId":"41C4265E-F05D-4E2E-AB09-E031F501AF7F",
"Success":true
}