您可以指定HTTP URL来接收短信发送状态报告,使用SendSms或SendBatchSms接口发送短信后,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 | 是否接收成功。取值:
|
err_code | String | 状态报告编码。 |
err_msg | String | 状态报告说明。 |
sms_size | String | 短信长度。短信内容长度计算规则,请参见短信发送规则。 |
biz_id | String | 发送回执ID,即发送流水号。 调用发送接口SendSms或SendBatchSms发送短信时,返回值中的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;
}