Главная

SMPP: как работает протокол передачи SMS

Дата: 2026-07-22 | Время чтения: 9 минут (1743 слова)
SMPP (Short Message Peer-to-Peer) — открытый отраслевой протокол для обмена короткими сообщениями между внешними приложениями, SMS-шлюзами и центрами сообщений операторов. Через него отправляют SMS, получают входящие сообщения и сведения о статусах доставки.

Как работает SMPP

В терминологии протокола внешнее приложение называют ESME (External Short Message Entity), а центр обработки сообщений — SMSC (Short Message Service Center).

Типичная цепочка выглядит так:

Маркетинговая платформа или приложение → SMS-шлюз либо SMSC → мобильная сеть → телефон получателя

Приложение устанавливает TCP-соединение с SMSC или шлюзом и авторизуется. Сессию открывают в одном из режимов:

  • transmitter — только отправка сообщений;

  • receiver — только получение входящих сообщений и уведомлений;

  • transceiver — отправка и получение через одно соединение.

После установления сессии стороны обмениваются блоками данных PDU (Protocol Data Unit). В них передаются команды, параметры сообщений и ответы.

Основные команды SMPP описаны в спецификации версии 3.4:
КомандаДля чего используют
submit_smПередать SMS из приложения в SMSC или шлюз
submit_sm_respПодтвердить приём запроса и вернуть идентификатор сообщения
deliver_smПередать приложению входящее SMS или отчёт о доставке
enquire_linkПроверить активность соединения
unbindКорректно завершить сессию

SMPP поддерживает асинхронный обмен: приложение отправляет несколько запросов, не дожидаясь ответа на предыдущий. Допустимое количество неподтверждённых запросов и скорость отправки зависят от настроек соединения и условий провайдера.

Ответ на submit_sm означает, что шлюз или SMSC принял сообщение в обработку. Он не подтверждает доставку на телефон. Итоговый статус передаётся позже в отчёте о доставке, если провайдер поддерживает эту функцию.

Как приложение обменивается сообщениями с SMSC по SMPP

Для чего используют SMPP

Протокол применяют для постоянного или интенсивного обмена сообщениями:

  • транзакционных и сервисных сообщений — например, уведомлений о заказе и кодов подтверждения;

  • получения ответных SMS от абонентов.

SMPP не определяет содержание сообщений и не разделяет рассылки на рекламные и транзакционные. Допустимые типы трафика, имя отправителя, ограничения скорости и другие условия устанавливает оператор или SMS-провайдер.

SMPP и HTTP API: в чём разница

Оба способа используют для передачи сообщений из приложения в SMS-сервис, но обмен организован по-разному.

КритерийSMPPHTTP API
СоединениеДлительная TCP-сессияОтдельные HTTP-запросы к API сервиса
ОбменДвусторонний асинхронный обмен внутри сессииЗапросы на отправку и получение статусов; входящие события обычно передаются через вебхуки
СтандартизацияОбщий отраслевой протокол, но параметры и ограничения зависят от провайдераСобственный API каждого SMS-сервиса
НастройкаТребует управления сессиями, повторными подключениями и командами протоколаОбычно проще интегрируется с веб-приложениями
Пропускная способностьРассчитан на постоянный поток сообщенийЗависит от API и установленных провайдером лимитов

Фактическая пропускная способность зависит от ограничений провайдера, числа соединений, допустимого количества одновременных запросов и настроек интеграции.

Для маркетинговых задач способ подключения выбирает техническая команда с учётом инфраструктуры и условий SMS-сервиса.

Статусы и ошибки

Каждый ответ SMPP содержит код результата. Значение 0 означает, что команда выполнена. Другие коды указывают причину отказа: ошибку авторизации, неверный номер, недопустимое имя отправителя, превышение лимита, временную недоступность шлюза или другую проблему.

Техническая команда следит за отказами, состоянием сессии и временем ответа, чтобы обнаруживать ошибки подключения и ограничения провайдера. Отдельно сопоставляют сообщения, принятые шлюзом в обработку, с итоговыми статусами доставки.

Принятый запрос ещё не означает, что SMS доставлено получателю: после него сообщение проходит маршрутизацию через мобильную сеть.

Защита SMPP-соединения

SMPP версии 3.4 работает поверх TCP и сам не шифрует трафик. Способ защиты определяет провайдер: это может быть закрытая сеть, VPN, защищённый туннель или ограничение подключений по IP-адресам.

Адрес сервера, порт, логин, пароль, разрешённые IP-адреса и другие условия согласуют при подключении к шлюзу. Учётные данные нельзя передавать через открытые каналы или хранить непосредственно в коде приложения.

SMS-шлюзы в Altcraft

В Altcraft Platform SMS подключают через сендер, связанный со шлюзом оператора или SMS-провайдера. Администратор указывает учётные данные сервиса и добавляет сендер в правила отправки.
В Altcraft на момент публикации этой статьи доступны готовые интеграции с 17 SMS-шлюзами. Если нужного сервиса нет в списке, отдельную интеграцию можно разработать в рамках пилотного проекта.

Конкретный способ обмена между шлюзом и оператором, включая использование SMPP, зависит от выбранного провайдера и схемы подключения.

Подключение SMS-шлюза в Altcraft

После подключения шлюза маркетолог отправляет SMS через рассылки и автоматические сценарии, а данные о доставках, недоставках и кликах анализирует в отчёте по каналам. С командами SMPP и параметрами соединения он напрямую не работает.
Пройдите бесплатный курс Altcraft, чтобы разобраться в настройке каналов, рассылок, сценариев и аналитики.

Заключение

SMPP организует двусторонний обмен SMS между приложением и центром сообщений или шлюзом. Протокол передаёт исходящие и входящие SMS, ответы на запросы и отчёты о доставке. Скорость обмена и доступные статусы зависят от условий провайдера.

Маркетолог обычно не работает с SMPP-командами напрямую. Подключение настраивает техническая команда, а рассылки и аналитику ведут в маркетинговой платформе.

Читайте по теме

subscription, banner, email

Покажем платформу
и найдём решение под задачи вашего бизнеса