定义
送达回执(DLR)是运营商网络返回给发送方的状态消息,说明一条短信已送达手机、已过期还是失败,并附带时间戳和错误代码。
在 SMPP v3.4 中,发送方通过 submit_sm 的 registered_delivery 字段请求回执。SMSC 稍后以 deliver_sm 形式返回,其 esm_class 会将其标记为送达回执。
SMPP 规范(附录 B)给出了示例回执文本,字段包括 id、sub、dlvrd、submit date、done date、stat、err 和 text,最终状态有 DELIVRD、EXPIRED、DELETED、UNDELIV、ACCEPTD、UNKNOWN 和 REJECTD 等。具体格式因 SMSC 而异,这也是服务商要对其做标准化处理的原因。
HTTP API 通常把同样的信息以 webhook 事件的形式提供,例如 SENT、DELIVERED 或 FAILED,由运营商回执映射而来。
局限:有些运营商不返回回执或返回得很晚,还有些在消息到达网络而非手机时就返回“delivered”。应把 DLR 视为有力的证据,而不是已被阅读的证明。
示例
id:7f3a91c2 sub:001 dlvrd:001 submit date:2610101030 done date:2610101030 stat:DELIVRD err:000 text:Your code is