您可以指定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 | 是 | 上行类型。取值:
|
content | String | 是 | 上行消息内容,取值与上行类型(mobile_originated_type)相关:
|
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;
}