5GSmsUp

更新时间:
复制 MD 格式

您可以指定HTTP URL来接收用户回复的5G上行消息内容。当用户回复5G消息时,平台会推送用户回复的上行消息内容至您提供的HTTP接收地址,您需要接收消息并按平台要求的固定格式响应。

使用说明

通过订阅5GSmsUp上行消息,可以获取终端用户回复的上行消息内容,包括用户主动输入、用户快捷回复和用户点击交互三种上行类型。

参数说明

参数内容为JSON Array格式,单次请求可能包含多条上行消息内容。

协议说明

参数

说明

请求协议

HTTP,POST方式

请求格式

application/json

编码

UTF-8

参数示例

[
  {
    "phone_number" : "1301122****",
    "mobile_originated_type" : "3",
    "content" : "{\"display_text\":\"xxxx\",\"post_data\":\"xxxx\",\"url\":\"xxxx\",\"application\":\"xxxx\"}",
    "send_time" : "2017-01-01 00:00:00",
    "rcs_id" : "100000096034031_1552101_03304904325170151776946304857",
    "in_reply_to_rcs_id" : "100000096034031_1552101_03304904325170151776946304858"
  }
]

字段说明

名称

类型

是否必选

描述

phone_number

String

手机号码。示例值:1301122****。

mobile_originated_type

String

上行类型。取值:

  • 1:用户主动输入

  • 2:用户快捷回复

  • 3:用户点击交互

content

String

上行消息内容,取值与上行类型(mobile_originated_type)相关:

  • 上行类型为1(用户主动输入)时,该值为用户回复的文本。

  • 上行类型为2(用户快捷回复)或3(用户点击交互)时,该值为JSON字符串,格式如下:

    {
      "display_text": "xxxx",
      "post_data": "xxxx",
      "url": "xxxx",
      "application": "xxxx"
    }

send_time

String

上行发送时间。示例值:2017-01-01 00:00:00。

rcs_id

String

本条上行消息的5G消息唯一ID。调用SendRCSReply接口进行交互下行时,InReplyToRcsID参数需填写该值。

in_reply_to_rcs_id

String

是针对哪个消息的回复,即用户所回复的下行消息的5G消息ID。

响应说明

您提供的HTTP地址在接收到请求参数后,需按以下格式进行响应。

响应示例

{
  "code" : 0,
  "msg" : "接收成功"
}

字段说明

名称

类型

是否必选

示例值

描述

code

Number

0

应答编码。系统仅校验code是否为数字,不校验内容。

msg

String

接收成功

描述信息。

说明
  • HTTP状态码为200,则请求成功;HTTP状态码非200或响应超时情况下,系统会重试推送。

  • 若出现系统异常、消费失败等情况,建议HTTP状态码返回50X。

重试推送

第一次推送失败后,间隔1分钟、5分钟、10分钟后会进行重推,直至推送成功为止。如果推送3次后仍失败,不再重试。

说明

回执消息不保证幂等性。如果出现网络异常、响应超时等情况,可能会导致回执消息推送重复,如果后续处理逻辑需要考虑幂等性,请根据业务场景基于rcs_id做合适的幂等处理。

上行消息接收示例

@PostMapping("/resMsg")
public JSONObject resMsg(@RequestBody JSONArray array) {
   // TODO:您需要自行处理上行消息内容,此示例只打印回执信息
   System.out.println(array.toJSONString());
   JSONObject json = new JSONObject();
   json.put("code", 0);
   json.put("msg", "接收成功");
   return json;
}