# 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。 |
| IotInstanceId | String | 是 | 6912917943269**** | 实例ID。您可在物联网平台控制台的实例概览页面,查看当前实例的ID。 |
# 返回数据
| 名称 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| Code | String | iot.messageBroker.TIMEOUT | 调用失败时,返回的错误码。 |
| ErrorMessage | String | 系统异常 | 调用失败时,返回的出错信息。 |
| MessageId | Long | 741264807105138700 | 成功发送请求消息后,云端生成的消息ID,用于标识该消息。 |
| PayloadBase64Byte | String | d29ybGQgaGVsbG8= | 设备返回结果Base64编码后的值。 |
| RequestId | String | a78f4267e8114646880d4edd4849c6f0 | 为该请求生成的唯一标识符。 |
| RrpcCode | String | SUCCESS | 调用成功时,生成的调用返回码,标识请求状态。取值: SUCCESS:成功 。 TIMEOUT:设备响应超时。 OFFLINE:设备离线。 |
| Success | Boolean | true | 是否调用成功。 true:调用成功。 false:调用失败。 |
# 示例
请求示例
http://open.${区域}.fenydata.com/fenydata-java-open/?Action=RRpc
&ProductKey=aldfeSe****
&DeviceName=device1
&RequestBase64Byte=dGhpcyBpcyBhbiBleGFtcGxl
&Timeout=1000
&<公共请求参数>
正常返回示例
XML格式
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<xml>
<RequestId>a78f4267e8114646880d4edd4849c6f0</RequestId>
<Success>true</Success>
<RrpcCode>SUCCESS</RrpcCode>
<PayloadBase64Byte>d29ybGQgaGVsbG8=</PayloadBase64Byte>
<MessageId>741264807105138700</MessageId>
</xml>
JSON格式
{
"RrpcCode": "SUCCESS",
"PayloadBase64Byte": "d29ybGQgaGVsbG8=",
"MessageId": 741264807105138700,
"RequestId": "a78f4267e8114646880d4edd4849c6f0",
"Success": true
}