Определение
Отчёт о доставке (DLR) — это статусное сообщение, которое возвращает сеть оператора. Оно сообщает отправителю, было ли SMS доставлено на телефон, истёк ли срок его жизни или доставка не удалась, и содержит временные метки и код ошибки.
В SMPP v3.4 отправитель запрашивает отчёт через поле registered_delivery в submit_sm. Позже SMSC возвращает его как deliver_sm, у которого esm_class помечает сообщение как отчёт о доставке.
Спецификация SMPP приводит пример текста отчёта (Appendix 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, сопоставленных с отчётом оператора.
Ограничения: некоторые операторы не возвращают отчёты или возвращают их с задержкой, а некоторые передают статус «доставлено», когда сообщение дошло до сети, а не до телефона. Считайте DLR надёжным признаком доставки, но не доказательством того, что сообщение прочитано.
Пример
id:7f3a91c2 sub:001 dlvrd:001 submit date:2610101030 done date:2610101030 stat:DELIVRD err:000 text:Your code is