您可以指定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;
}