RRpc

调用该接口向指定设备发送请求消息,并同步返回响应。

使用说明

调用该接口后,如果设备端未在设置的超时时间(Timeout)内做出反馈,即使设备收到了消息,云端也视消息为发送失败。

QPS限制

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

说明

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

调试

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

请求参数

名称

类型

是否必选

示例值

描述

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 iot_instc_pu****_c*-v64********

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

重要

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

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

Topic String /a1uZfYb****/A_Vol****/user/update

使用自定义的RRPC相关Topic。需要设备端配合使用,请参见设备端开发自定义Topic。 不传入此参数,则使用系统默认的RRPC Topic。

ContentType String 240

使用JT/T 808协议通信时,服务端向指定设备发送消息的类型。可取值:

  • 0:GNSS模块详细定位数据。
  • 11:道路运输证IC卡信息。
  • 65:串口1透传。
  • 66:串口2透传。
  • 240~255:用户自定义透传。

物联网平台支持的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

调用成功时,生成的调用返回码,标识请求状态。取值:

  • UNKNOWN:系统异常。
  • SUCCESS:成功 。
  • TIMEOUT:设备响应超时。
  • OFFLINE:设备离线。
  • HALFCONN:设备离线(设备连接断开,但是断开时间未超过一个心跳周期)。
Success Boolean true

是否调用成功。

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

示例

请求示例

https://iot.cn-shanghai.aliyuncs.com/?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>
  </RRpcResponse>

JSON格式

{
      "RrpcCode":"SUCCESS",
      "PayloadBase64Byte":"d29ybGQgaGVsbG8=",
      "MessageId":889455942124347392,
      "RequestId":"41C4265E-F05D-4E2E-AB09-E031F501AF7F",
      "Success":true
}