5GSmsReport

更新时间:
复制 MD 格式

您可以指定HTTP URL来接收5G消息发送状态报告。使用SendRCSSendRCSReply接口发送5G消息后,平台会推送消息发送情况至您提供的HTTP接收地址,您需要接收消息并按平台要求的固定格式响应。

使用说明

通过订阅5GSmsReport下行消息状态报告,可以获知每条5G消息的发送情况,了解消息是否到达终端用户的状态与相关信息。

参数说明

参数内容为JSON Array格式,回执消息不区分群发或单发,单次请求可能包含多条状态报告结果。

协议说明

参数

说明

请求协议

HTTP,POST方式

请求格式

application/json

编码

UTF-8

参数示例

[
  {
    "phone_number" : "1350001234",
    "send_time" : "2017-01-01 00:00:00",
    "report_time" : "2017-01-01 00:00:00",
    "send_status" : "SEND_SUCCESS",
    "err_code" : "DELIVERED",
    "err_message" : "用户接收成功",
    "rcs_template_code" : "RCS_SMS_10001052",
    "rcs_template_type" : "0",
    "rcs_template_format" : "PLAIN_TEXT",
    "rcs_size" : 2,
    "rcs_id" : "100000096034031_1552101_03304904325170151776946304855",
    "in_reply_to_rcs_id" : "100000096034031_1552101_03304904325170151776946304856",
    "biz_id" : "217124476946304664",
    "out_id" : "12391244932857"
  }
]

字段说明

名称

类型

描述

phone_number

String

手机号码。

send_time

String

发送时间。

report_time

String

状态报告时间。

send_status

String

发送状态。取值:

  • SEND_SUCCESS:发送成功

  • SEND_FAILED:发送失败

err_code

String

状态报告编码。例如DELIVERED(发送成功)、MOBILE_NOT_SUPPORT_RCS(终端不支持5G消息)等。

err_message

String

状态报告说明。

rcs_template_code

String

模板Code。

rcs_template_type

String

消息对应模板类型。取值:

  • 0:验证码

  • 1:短信通知

  • 2:推广短信

rcs_template_format

String

消息对应模板格式。取值:

  • PLAIN_TEXT:纯文本模板

  • RCS:富媒体模板

rcs_size

Integer

消息条数。计算规则与文本消息字节长度相关,文本消息字节长度统一按照UTF-8编码计算,其中一个英文字符或数字等于一个字节,一个中文(含繁体)等于三个字节,中文标点占三个字节,英文标点占一个字节。例如70个中文汉字的文本消息的字节长度为210。

rcs_id

String

5G消息唯一ID。

in_reply_to_rcs_id

String

是针对哪个消息的回复。

biz_id

String

发送回执ID,即发送流水号。调用发送接口SendRCSSendRCSReply发送5G消息时,返回值中的BizId字段。

out_id

String

发送时所传的自定义流水号(发送接口的OutId参数)。

响应说明

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

响应示例

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

字段说明

名称

类型

是否必选

示例值

描述

code

Number

0

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

msg

String

接收成功

描述信息。

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

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

重试推送

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

说明

回执消息不保证幂等性。如果出现网络异常、响应超时等情况,可能会导致回执消息推送重复,如果后续处理逻辑需要考虑幂等性,请根据业务场景基于rcs_idbiz_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;
}