# 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
}