您可以指定HTTP URL来接收短信发送状态报告,使用SendSmsSendBatchSms接口发送短信后,SmsReport会调用您提供的HTTP URL传递短信发送情况。

使用说明

如果需要获取短信发送情况,请先在控制台配置HTTP批量推送模式,配置后才可以获取短信发送情况。回执消息配置详情请参见回执消息配置

参数说明

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

协议说明

参数

说明

请求协议

HTTP

请求格式

application/json

编码

UTF-8

参数示例

[
  {
    "phone_number" : "1381111****",
    "send_time" : "2017-01-01 00:00:00",
    "report_time" : "2017-01-01 00:00:00",
    "success" : true,
    "err_code" : "DELIVERED",
    "err_msg" : "用户接收成功",
    "sms_size" : "1",
    "biz_id" : "12345********",
    "out_id" : "67890**"
  }
]

字段说明

名称

类型

描述

phone_number

String

手机号码

send_time

String

发送时间。

report_time

String

状态报告时间。

success

Boolean

是否接收成功。取值:

  • true:接收成功

  • false:接收失败

err_code

String

状态报告编码。

err_msg

String

状态报告说明。

sms_size

String

短信长度。短信内容长度计算规则,请参见短信发送规则

biz_id

String

发送回执ID,即发送流水号。

调用发送接口SendSmsSendBatchSms发送短信时,返回值中的BizId字段。若批量发送短信时会有同一个BizId字段,可以查看批量发送记录。同一个阿里云账号下不同请求批次的BizId不同。

out_id

String

用户序列号。

响应说明

响应样例

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

字段说明

名称

类型

是否必选

示例值

描述

code

Number

0

应答编码。

msg

String

接收成功

描述信息。

说明
  • 系统仅校验返回值的code是否为数字,不校验内容。若HTTP状态码为200,请求成功。HTTP状态码非200或响应超时情况下,系统会进行重试推送。

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

重新推送

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

报告接收示例

@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;
}