Краткий ответ
Статусы отчётов о доставке SMS показывают отправителю, что произошло с сообщением после того, как его принял оператор. В квитанциях SMPP 3.4 DELIVRD означает, что сообщение доставлено на телефон, UNDELIV — что доставить его невозможно, EXPIRED — что истёк срок действия, а REJECTD — что сеть отклонила сообщение. HTTP API обычно сопоставляют эти значения со статусами вроде DELIVERED или FAILED.
Что означают значения stat в SMPP?
Спецификация SMPP 3.4 приводит пример формата квитанции с полем stat, в котором указано итоговое состояние сообщения. Точный текст квитанции зависит от SMSC, но перечисленные ниже значения используются широко.
| stat | Значение | Типичная причина |
|---|---|---|
| DELIVRD | Доставлено на телефон | Обычная успешная доставка |
| UNDELIV | Доставить невозможно | Неверный, неактивный или заблокированный номер |
| EXPIRED | Срок действия истёк до доставки | Телефон слишком долго выключен или вне зоны покрытия |
| REJECTD | Отклонено сетью | Незарегистрированное имя отправителя (Sender ID), заблокированный контент или маршрут |
| DELETED | Удалено до доставки | Отменено на SMSC |
| ACCEPTD или UNKNOWN | Состояние «принято» либо недопустимое или неизвестное состояние | Зависит от SMSC; уточните у вашего провайдера |
Как статусы вебхуков соотносятся со статусами SMPP?
API приводят квитанции операторов к более простым статусам. На платформе OmniChannels.ai каждый канал передаёт статусы SUBMITTED, SENT, DELIVERED, READ, FAILED и REJECTED. SUBMITTED и SENT — промежуточные; DELIVERED, FAILED и REJECTED для SMS — итоговые. Статусы могут приходить не по порядку, поэтому не позволяйте запоздавшему SENT перезаписать DELIVERED.
Как прочитать исходную квитанцию о доставке?
- Сопоставьте id квитанции с message_id, который вернул submit_sm_resp.
- Прочитайте stat, чтобы узнать итоговое состояние, и err, чтобы узнать код ошибки оператора.
- Сравните submit date и done date, чтобы понять, сколько заняла доставка.
- Для длинных сообщений соберите квитанции по всем сегментам, прежде чем отмечать сообщение доставленным.
Каковы ограничения отчётов о доставке?
Некоторые операторы не возвращают квитанции или возвращают их с задержкой, а некоторые сообщают о доставке, когда сообщение дошло до сети, а не до телефона. Поддельные квитанции DELIVRD — известный признак серых маршрутов. Считайте квитанцию весомым подтверждением, но не доказательством того, что сообщение прочитано.
