8-800-333-16-50
Россия
8-812-313-24-88
Санкт-Петербург
8-495-225-50-36
Москва

SMPP API

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

Что такое SMPP

SMPP (Short Message Peer-to-Peer) - протокол, который в основном используется для обмена информацией внутри сетей операторов связи. Данный протокол имеет собственную утвержденную структуру и документацию, к которой будет обращаться данная документация.

Для работы с протоколом вам необходимо иметь подходящий "клиент", который поддерживает 3.4 / 5.0 версии протокола. Так как вы находитесь в разделе API, то вы наверняка не используете скомпилированный GUI клиент под Windows, и знаете, что здесь будет описываться :wink:

Реализации клиентов можно найти на множестве языков:

Выше приведены лишь примеры библиотек, не стоит рассматривать их как эталон правильного кода.

Принцип работы протокола

Можно выделить три этапа в работе с SMPP:

  1. Установка соедиения и инициализация сессии с помощью команды bind_*
  2. Обмен командами и ответами
  3. Закрытие сессии с помощью команды unbind и разрыв соединения

Пример SMPP сессии в режиме трансивера:

 +--------+                     +--------+
 | Client |                     | Server |
 +----+---+                     +----+---+
      |                              |
      |                              |
      |          Connection          |
      +----------------------------->|
      |                              |
  +---+---+                          |
  | open  |                          |
  +---+---+                          |
      |                              |
      |        bind_transceiver      |
      +----------------------------->|
      |                              |
      |     bind_transceiver_resp    |
      |<-----------------------------+
  +---+---+                          |
  | bound |                          |
  +---+---+                          |
      |          submit_sm           |
      +----------------------------->|
      |                              |
      |       submit_sm_resp         |
      |<-----------------------------+
      |                              |
      |            unbind            |
      +----------------------------->|
      |                              |
      |         unbind_resp          |
      |<-----------------------------+
      |                              |
 +----+----+                         |
 | unbound |                         |
 +----+----+                         |
      |                              |
      |      Connection Closed       |
      |<---------------------------->|
      |                              |

SMPP использует три режима соединения:

  • bind_transmitter - Режим клиент -> сервер. Позволит вам отправлять команды на сервер, но не получать команды от него.
  • bind_receiver - Режим клиент <- сервер. Такой режим не позволит вам отправлять команды на отправку сообщений и запросы статусов.
  • bind_transceiver - Режим клиент <-> сервер. Универсальный режим соединения - позволит и передавать и принимать команды.
Используйте `bind_transceiver`, если вам необходимо получать от сервера статусы сообщений в режиме реального времени. Если же вы собираетесь отправлять сообщения и запрашивать статусы самостоятельно - вам может хватить и `bind_transmitter` режима.

Подключение

Для подключения к серверу используйте следующие параметры:

  • Хост: 18.194.45.201
  • Порт: 2775

Инициализация сессии

Используйте команду bind_transceiver или bind_transmitter, чтобы запустить сессию в одном из режимов. Установите в PDU следующие параметры:

  • system_id - ваш логин в системе
  • password - ваш пароль
  • system_type - укажите значение async, чтобы использовать асинхронный режим

Остальные параметры не имеют влияния на систему.

В случае неудачной авторизации, command_status ответа будет равен ESME_RBINDFAIL. В случае успеха - ESME_ROK.

После успешной авторизации вы можете начинать отправлять команды серверу. Если вы использовали bind_transceiver, то сервер попытается отправить вам статусы сообщений, которые не успел или не смог отправить ранее по каким-либо причинам.


Выбирайте лучшее

Персональный
менеджер
Забота о каждом клиенте
Провайдер
с лицензией
Ответственность за свое дело
Прямые
подключения
Гарантируем качество СМС рассылки
Удобный
личный кабинет
Быстрый старт. Online отчеты
Низкие
цены
Надежность, качество, экономичная цена
Получить коммерческое предложение

Оставьте свои контактные данные. С вами свяжется наш менеджер и подробно расскажет о стоимости и возможностях СМС рассылки.