SendRCSReply - 5G消息交互下行

更新时间:
复制 MD 格式

发送交互下行的5G消息,回复用户的上行消息。

接口说明

前提条件

  • 已通过 UpgradeToRCSSignature 接口将文本短信签名升级为 5G 消息签名。

  • 已通过 CreateRCSTemplate 接口创建 5G 消息模板,且模板审核通过。

  • 已收到用户的上行消息回执,并获取其中的 rcs_id。

使用说明

  • 交互下行消息需关联用户上行消息的 RcsID。

  • InReplyToRcsID 只能填写用户上行消息的 rcs_id,不能填写下行消息的 ID。

  • 发送结果通过回执报文推送,回执中携带 BizId 和 OutId。

支持范围

  • 支持运营商:中国移动。

  • 支持终端:需要终端系统或短信软件支持,且已开启相应开关。支持的终端系统或短信软件范围:
    • iPhone 11 及以上,且 iOS 18.1 以上。

    • 华为鸿蒙 HarmonyOS 2.0,或 EMUI 9.0~11.0,信息 APP 版本 11.1.0.551 及以上。

    • 小米 2~15,短信 APP 版本 12.3.2.7。

    • 荣耀 Magic OS 或 Magic UI 4.0 及以上,智能短信插件 8.0.1.300 及以上。

    • vivo Android 7.0 及以上,FuntouchOS 或 OriginOS 均可,快应用框架版本 1.09.40900 以上,短信 APP 6.0.0 以上。

    • OPPO ColorOS 11 以上,或 ColorOS 7.0 以上且安卓 10~11,快应用 5.7 以上,短信 APP 5.17 以上。

    • 三星 OneUI 4.1 以上,短信 APP 13.2.20.13。

  • 手机终端还需按机型开启 5G、RCS 信息、短信智能识别、图文短信、智慧信息服务、信息化卡片展示等开关。

QPS 限制

  • 本接口的单用户 QPS 限制为 1000 次/秒。超过限制,API 调用将会被限流,这可能会影响您的业务,请合理调用。

  • 消息发送最大速率 300 条/秒。超出消息发送最大速率后将在队列堆积,逐个发送。

调试

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

调试

授权信息

当前API暂无授权信息透出。

请求参数

名称

类型

必填

描述

示例值

InReplyToRcsID

string

回复的目标 RcsID。只能填写用户上行消息的 rcs_id,不能填写下行消息的 ID。

100000096034031_1552101_03304904325170151776946304855

SignName

string

短信签名名称。

阿里云5G消息

TemplateCode

string

模板 Code。

RCS_SMS_10001052

PhoneNumbers

string

11 位手机号。

13500001234

TemplateParam

string

模板参数。JSON 格式,如{"username":"小李","account":"1001112"}。

{"username":"小李","account":"1001112"}

OutId

string

外部流水扩展字段,在回执报文中会携带。

12391244932857

InReplyToRcsID 取值说明

InReplyToRcsID 只能填写用户上行消息的 rcs_id,不能填写下行消息的 ID。上行消息超过可回复时间限制后不可再回复,目前限制为 30 分钟以内。

上行回执结构

用户点击固定菜单或悬浮菜单中的某一项时,客户端会向平台回传一条上行消息,回执报文中的 content 字段为 JSON 格式,包含 response 对象,其中是 reply 或 action 之一,字段内容与下行定义完全对应。回执报文中的 rcs_id 即为本接口 InReplyToRcsID 的取值。

用户点击 reply 建议回复时的上行格式:

{
  "response": {
    "reply": {
      "displayText": "是的",
      "postback": {
        "data": "b3a1f8e2-7c4d-4e9a-bc56-1a2d3f4e5678"
      }
    }
  }
}

用户点击 action 建议操作时的上行格式:

{
  "response": {
    "action": {
      "displayText": "打开官网",
      "postback": {
        "data": "c4b2e9f1-8d5a-4f3b-ae67-2b3c4d5e6789"
      }
    }
  }
}
字段类型必填说明
displayTextstring用户在按钮上看到的文字,1~25 字符,与下行定义一致
postback.datastring固定菜单或悬浮菜单中定义的 postback.data,平台据此执行对应业务逻辑

完整交互流程

第一步:通过 SendRCS 接口下发带悬浮菜单的消息

[
  {
    "reply": {
      "displayText": "确认添加",
      "postback": { "data": "0a1b2c3d-4e5f-6789-0abc-def123456789" }
    }
  },
  {
    "reply": {
      "displayText": "取消添加",
      "postback": { "data": "1b2c3d4e-5f6a-7890-1bcd-ef1234567890" }
    }
  }
]

第二步:用户点击确认添加按钮,客户端回传上行消息

{
  "response": {
    "reply": {
      "displayText": "确认添加",
      "postback": { "data": "0a1b2c3d-4e5f-6789-0abc-def123456789" }
    }
  }
}

第三步:根据 postback.data 执行业务逻辑,并调用本接口回复用户

取上行回执报文中的 rcs_id 作为 InReplyToRcsID 传入本接口,即可向用户发送交互下行消息。

{
  "PhoneNumbers": "13800138000",
  "SignName": "阿里云",
  "TemplateCode": "RCS_SMS_10001052",
  "InReplyToRcsID": "100000096034031_1552101_03304904325170151776946304855",
  "TemplateParam": "{\n  \"username\": \"小李\"\n}"
}

返回参数

名称

类型

描述

示例值

object

AccessDeniedDetail

string

访问被拒绝时返回的详细信息。

None

RequestId

string

本次请求的 ID。

A90E4451-FED7-49D2-87C8-00700A8C4D0D

Message

string

状态码的描述。

OK

Data

object

返回数据,具体请参见下方 Data 返回数据结构说明。

Code

string

请求状态码。返回 OK 代表请求成功。

OK

Success

boolean

是否调用成功。

  • true:调用成功。

  • false:调用失败。

true

Data 返回数据结构说明

Data 为发送结果数据,包含以下字段:

字段类型描述示例
RcsIDString5G 消息唯一 ID,为本次交互下行消息新生成的 ID,与入参 InReplyToRcsID 不同100000096034031_1552101_03304904325170151776946304856
BizIdString发送回执 ID,即发送流水号。下行发送时返回,在下行回执报文中原样携带,用于关联发送请求与回执217124476946304664

返回示例

{
  "Code": "OK",
  "RequestId": "A90E4451-FED7-49D2-87C8-00700A8C4D0D",
  "Success": true,
  "Data": {
    "RcsID": "100000096034031_1552101_03304904325170151776946304856",
    "BizId": "217124476946304664"
  }
}

示例

正常返回示例

JSON格式

{
  "AccessDeniedDetail": "None",
  "RequestId": "A90E4451-FED7-49D2-87C8-00700A8C4D0D",
  "Message": "OK",
  "Data": {
    "test": "test",
    "test2": 1
  },
  "Code": "OK",
  "Success": true
}

错误码

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

变更历史

更多信息,参考变更详情