为什么要主动查回执 回调推送是实时的,但网络可能抖动,回调地址偶发不可用,就会漏掉某条回执。事后对账、月度统计、客户投诉核查时,也需要凭提交时返回的smsid主动查询这条通知的送达结果。互亿无线预警通知API在提交成功时返回smsid,可凭…
为什么要主动查回执
回调推送是实时的,但网络可能抖动,回调地址偶发不可用,就会漏掉某条回执。事后对账、月度统计、客户投诉核查时,也需要凭提交时返回的smsid主动查询这条通知的送达结果。互亿无线预警通知API在提交成功时返回smsid,可凭它调用回执查询接口,跟踪每条通知的送达情况,形成可追溯的记录。
本文说明回执查询的调用方式、如何按smsid批量核对,以及在对账与闭环中的用法。
凭smsid查询单条状态
提交短信或语音后,返回的code=2结果中带有smsid。把它存入本地告警表,后续即可凭smsid查询:
import requests
send = requests.post("https://api.ihuyi.com/sms/Submit.json", data={
"account": "API_ID", "password": "API_KEY",
"mobile": "13800138000", "content": "【告警】磁盘使用率超阈值。"
}).json()
smsid = send.get("smsid")
q = requests.post("https://api.ihuyi.com/sms/Query.json", data={
"account": "API_ID", "password": "API_KEY", "smsid": smsid
})
print(q.json())
查询结果会返回当前状态:已送达、无法送达、超时、被拒等。语音查询还会返回呼叫结果与通话时长,可判断负责人是否真正接听。
定期补偿对账
建议在业务侧做一个定时补偿任务,把超过一定时间仍未收到回调回执的告警记录,主动查询一次,弥补回调丢失:
- 每分钟扫描本地状态为"已提交"的告警记录。
- 提交超过2分钟仍无回执的,凭smsid查询一次。
- 查到已送达则更新为成功;查到无法送达则触发换通道。
- 语音未接的记录,检查是否已自动重呼,未升级则升级到备班。
跟踪每条通知的意义
有了逐smsid的状态记录,就能回答几个关键问题:某条告警到底有没有送达?哪一位责任人没收到?失败原因是拦截还是停机?这些记录在故障复盘时非常有价值,也能作为向业务方解释的依据。
- 按日统计送达率,发现某通道持续偏低时考虑换通道。
- 对长期无法送达的号码,提醒相关人员更新值班通讯录。
- 通话时长过短的语音告警,可检查播报文案是否过于简略。
查询结果如何落库展示
建议在告警后台增加一列"送达状态",直接展示这条告警的smsid对应回执。值班人员打开告警详情,就能看到短信是已送达还是未接、语音通话时长多少秒。对于长时间停留在"已提交"状态的记录,标成黄色提醒运维检查。这样无需登录控制台,也能跟踪每条通知的去向。互亿无线提供毫秒级回执,状态更新及时,适合做这种实时展示。
补偿查询的频率
补偿查询不宜太频繁,建议每1到2分钟扫描一次"已提交"超过2分钟的记录。查询本身不产生短信费用,只用于状态核对。对查询后仍无法确认的记录,人工介入确认号码是否有效。
历史回执的留存
回执记录建议留存至少三个月,便于月度统计送达率、排查历史投诉。互亿无线控制台可查看历史发送与回执,配合本地落库形成长期档案。
小结
回执查询是闭环的收尾环节,配合回调推送,告警从提交到送达的每一步都可追溯。
对于通话时长异常短的语音告警,可抽查播报文案是否过于简略,必要时补充处置建议,让被叫听完知道下一步做什么。
长期无法送达的号码,要及时从值班通讯录清理,避免无效发送占用通道与费用。
配合本地告警后台展示送达状态,值班人员无需登录控制台即可掌握每条通知的去向。
互亿无线提供毫秒级回执与30余种状态码,回调与主动查询互为补充。注册免费试用,领取测试条数后即可体验从提交、回执到查询的完整跟踪链路。




