Декодер DLR.
Вставьте отчёт о доставке SMPP или выберите значение stat, чтобы декодировать, что на самом деле произошло с сообщением — окончательное состояние сообщения, код err и каждое разобранное поле. На основе формата отчёта о доставке SMPP v3.4.
| Поле | Значение |
|---|---|
| id | 0B7A2F91ID сообщения SMSC — соответствует message_id, возвращённому в submit_sm_resp. |
| sub | 001Количество изначально отправленных коротких сообщений. |
| dlvrd | 001Количество доставленных из них сообщений. |
| submit date | 2407181432→ 2024-07-18 14:32Когда SMSC принял сообщение (YYMMDDhhmm). |
| done date | 2407181433→ 2024-07-18 14:33Когда сообщение достигло окончательного состояния (YYMMDDhhmm). |
| stat | DELIVRDОкончательное состояние сообщения — основной статус доставки. |
| err | 000Код ошибки сети/SMSC — специфичен для поставщика; 000 обычно означает отсутствие ошибки. |
| text | Your verificatioПервые 20 символов исходного текста сообщения. |
Сообщение достигло целевого устройства, и SMSC получил положительное подтверждение от сети.
Успех. Это единственный stat, подтверждающий доставку на устройство. Сверьте его с message_id, возвращённым в submit_sm_resp.
SMPP v3.4 не стандартизирует значения err — они специфичны для сети или SMSC. Ищите любой ненулевой код в документации вашего провайдера.
Коротко
Что такое отчёт о доставке SMPP?
Отчёт о доставке (DLR) — это уведомление о статусе, которое SMSC возвращает по SMPP в PDU deliver_sm, сообщая об окончательной судьбе отправленного вами сообщения. Его поле short_message следует неформальному формату из приложения B SMPP v3.4 — набору пар ключ:значение. Главный элемент — ключевое слово stat, соответствующее одному из семи состояний сообщения. Вы получаете DLR только если запросили его через registered_delivery в submit_sm.
Семь состояний сообщений SMPP v3.4
| stat | state | Значение | Финальное? |
|---|---|---|---|
| DELIVRD | 2 | Доставлено | Финальное |
| EXPIRED | 3 | Истёк срок | Финальное |
| DELETED | 4 | Удалено | Финальное |
| UNDELIV | 5 | Не доставлено | Финальное |
| ACCEPTD | 6 | Принято | Промежуточное |
| UNKNOWN | 7 | Неизвестно | Промежуточное |
| REJECTD | 8 | Отклонено | Финальное |
Часто задаваемые вопросы
Что такое отчёт о доставке SMPP (DLR)?
Отчёт о доставке — это уведомление о статусе, которое SMSC отправляет обратно по SMPP в PDU deliver_sm, сообщая об окончательной судьбе отправленного вами сообщения. Его поле short_message следует формату из приложения B SMPP v3.4 и содержит такие поля, как id, stat и err. Он приходит, только если вы запросили его через registered_delivery в submit_sm.
Что означает stat:DELIVRD?
DELIVRD (message_state 2, DELIVERED) означает, что сообщение достигло целевого устройства, и сеть подтвердила это. Это единственное значение stat, подтверждающее доставку на устройство — успешный submit_sm_resp сам по себе этого не делает.
Что такое поле err?
err — это короткий код ошибки, специфичный для сети или SMSC, объясняющий, почему сообщение не удалось доставить. SMPP v3.4 не стандартизирует его значения, поэтому точное значение зависит от вашего оператора или агрегатора. Значение 000 (или 0) обычно означает отсутствие ошибки; ищите любое ненулевое значение в документации вашего провайдера.
Какие статусы финальные, а какие ещё могут измениться?
DELIVRD, EXPIRED, DELETED, UNDELIV и REJECTD являются финальными — повторная попытка отправки сообщения не будет предпринята. ACCEPTD и UNKNOWN не финальны: сообщение может ещё перейти в другое состояние, поэтому не считайте их доставленными.
Почему id в DLR и в ответе на отправку иногда выглядят по-разному?
Некоторые SMSC возвращают message_id из submit_sm_resp в десятичном формате, а id DLR — в шестнадцатеричном (или наоборот), а промежуточные агрегаторы могут полностью переписывать идентификаторы. Если вы не можете сопоставить их напрямую, спросите у провайдера, какое представление он использует, или отслеживайте собственную ссылку на стороне клиента.
Означает ли успешный submit_sm_resp, что SMS доставлено?
Нет. ESME_ROK в submit_sm_resp лишь подтверждает, что SMSC принял сообщение для обработки. Об окончательной доставке на устройство сообщается отдельно через DLR, у которого свой stat, например DELIVRD или UNDELIV. Рассматривайте принятие отправки и доставку как два разных уровня.
Одинаковы ли эти значения stat для всех SMSC?
Семь ключевых слов и их номера message_state определены SMPP v3.4 и широко соблюдаются. Однако некоторые SMSC выдают дополнительные специфичные для поставщика ключевые слова или используют поле text по-другому, поэтому всегда сверяйте пограничные случаи с документацией по отчётам о доставке вашего провайдера.
Хотите чистые и надёжные DLR?
BroadNet предоставляет настоящие сквозные отчёты о доставке через прямые SMPP 3.4-соединения и вебхуки доставки — без догадок. Обсудите маршрутизацию с нашей командой.