Что представляет собой каждый протокол
SMPP (Short Message Peer-to-Peer) — двоичный протокол поверх постоянного TCP-соединения. Клиент устанавливает сессию с сервером, отправляет сообщения в виде блоков протокола и получает отчёты о доставке по тому же соединению. Протокол создавался для операторов и агрегаторов, обменивающихся тысячами сообщений в секунду. HTTP API выполняет те же операции через веб-запросы: POST создаёт сообщение, GET возвращает его статус, а вебхук передаёт отчёт о доставке.
Сравнение
- Соединение. Для SMPP нужны постоянная сессия, механизм поддержания соединения, управление окном и логика переподключения. HTTP не хранит состояние соединения и работает с любым клиентом.
- Кодирование. В SMPP вы сами задаёте кодировку данных, делите длинные сообщения и формируете заголовки для объединения частей. HTTP API определяет кодировку, делит и нумерует части, а затем сообщает количество сегментов и цену.
- Отчёты о доставке. SMPP возвращает их как сообщения в установленном соединении, которые нужно разобрать и сопоставить. HTTP передаёт подписанные события вебхука с указанным вами идентификатором исходного сообщения.
- Повторные запросы. В SMPP нет идемпотентности: после тайм-аута неизвестно, было ли сообщение принято. В HTTP API Idempotency-Key делает повтор безопасным.
- Эксплуатация. SMPP-соединение требует постоянно работающего сервера, мониторинга и добавления IP-адресов в список разрешённых. HTTP-запрос можно выполнять из любой среды, включая бессерверные функции.
Когда SMPP оправдан
SMPP оправдан, если вы сами являетесь агрегатором или платформой, перепродающей трафик, круглосуточно отправляете сотни сообщений в секунду либо ваша существующая система поддерживает только SMPP. Для приложения с кодами, уведомлениями и рассылками он усложняет эксплуатацию, но не повышает доставляемость.
Высокая нагрузка через HTTP
Производительность HTTP достигается пакетами, а не множеством параллельных одиночных запросов. Один пакет содержит до 1000 сообщений с отдельным результатом для каждого; при 50 запросах в секунду этого достаточно большинству отправителей. Настройки темпа позволяют платформе распределить большую отправку, а результаты лучше получать через вебхук вместо опроса.
Что предлагает SMSMeteor
REST API включает шесть конечных точек, токены доступа, ключи идемпотентности, пакетную отправку, расписание, подписанные вебхуки и описание OpenAPI. SMPP используется на стороне операторов связи и не предоставляется аккаунтам. Если вам требуется SMPP-подключение, некоторые поставщики на страницах сравнения предлагают его, и мы прямо это указываем.
Что-то непонятно или устарело? Напишите на [email protected]. Мы внесём исправления в руководство и обновим дату.
