BroadNet
SMPP v3.4 · работает в вашем браузере

Декодер DLR.

Вставьте отчёт о доставке SMPP или выберите значение stat, чтобы декодировать, что на самом деле произошло с сообщением — окончательное состояние сообщения, код err и каждое разобранное поле. На основе формата отчёта о доставке SMPP v3.4.

Выберите значение stat
Разобрано полей: 8
Разобранные поля DLR
ПолеЗначение
id0B7A2F91ID сообщения SMSC — соответствует message_id, возвращённому в submit_sm_resp.
sub001Количество изначально отправленных коротких сообщений.
dlvrd001Количество доставленных из них сообщений.
submit date2407181432→ 2024-07-18 14:32Когда SMSC принял сообщение (YYMMDDhhmm).
done date2407181433→ 2024-07-18 14:33Когда сообщение достигло окончательного состояния (YYMMDDhhmm).
statDELIVRDОкончательное состояние сообщения — основной статус доставки.
err000Код ошибки сети/SMSC — специфичен для поставщика; 000 обычно означает отсутствие ошибки.
textYour verificatioПервые 20 символов исходного текста сообщения.
Состояние сообщения
DELIVRDДоставлено
message_state = 2Финальное

Сообщение достигло целевого устройства, и SMSC получил положительное подтверждение от сети.

Успех. Это единственный stat, подтверждающий доставку на устройство. Сверьте его с message_id, возвращённым в submit_sm_resp.

Поле err
000Нет ошибки

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 и состояния сообщений SMPP v3.4
statstateЗначениеФинальное?
DELIVRD2ДоставленоФинальное
EXPIRED3Истёк срокФинальное
DELETED4УдаленоФинальное
UNDELIV5Не доставленоФинальное
ACCEPTD6ПринятоПромежуточное
UNKNOWN7НеизвестноПромежуточное
REJECTD8ОтклоненоФинальное

Часто задаваемые вопросы

Что такое отчёт о доставке 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-соединения и вебхуки доставки — без догадок. Обсудите маршрутизацию с нашей командой.