SMPP Документация
Через наш SMS-шлюз возможна отправка сообщений по протоколу SMPP версии 3.4 и 5.0.
Для активации этого способа:
1. В разделе личного кабинета SMS Aero создайте аккаунт для SMPP-подключения, указав необходимые параметры:
| Параметр | Применение | Описание |
|---|---|---|
| login | Обязательно. | Логин с которыми ваш SMPP-клиент будет подключаться к шлюзу SMS Aero. |
| password | Обязательно. | Пароль с которыми ваш SMPP-клиент будет подключаться к шлюзу SMS Aero. |
| IP-адрес | Обязательно. | IP-адрес на котором установлен/работает ваш SMPP-клиент. |
| Канал рассылки | Обязательно. | Канал рассылки, по которому будет поддерживать данный SMPP-аккаунт. |
2. После настройки SMPP-аккаунта в личном кабинете, произведите соответствующие настройки в вашем SMPP-клиенте.
Основные параметры:
| Параметр | Значение | Применение | Описание |
|---|---|---|---|
| smsc-username | "login" | Обязательно. | Указанный в пункте 1 логин для настраиваемого SMPP-подключения. |
| smsc-password | "password" | Обязательно. | Указанный в пункте 1 пароль. |
| host | smpp.smsaero.ru | Обязательно. | Адрес для подключения к SMPP-шлюзу SMS Aero. |
| port | 2775 | Обязательно. | Порт подключения. |
Дополнительные:
| Параметр | Значение |
|---|---|
| interface-version | 34 |
| source-addr-autodetect | yes |
| source-addr-ton | 5 |
| source-addr-npi | 1 |
| dest-addr-ton | 1 |
| dest-addr-npi | 1 |
Поддерживаемые команды
| Команда | Описание |
|---|---|
| BIND_RECEIVER | Подключиться как RECEIVER — клиент может только получать сообщения от SMSC. |
| BIND_TRANSMITTER | Подключиться как TRANSMITTER — клиент может только отправлять сообещения на SMSC. |
| BIND_TRANSCEIVER | Подключиться как TRANSCEIVER — клиент осуществляет двухстороннюю передачу сообщений. |
| SUBMIT_SM | Отправить сообщение. |
| QUERY_SM | Запросить статус сообщения. |
| DELIVER_SM | Отправка Delivery Receipt сервером. |
| ENQUIRE_LINK | Проверка связи. |
| GENERIC_NAK | Ошибочная команда. |
| UNBIND | Отключение. |
Параметры поддерживаемых команд
| Параметр | Описание | Значения |
|---|---|---|
| source_addr_ton | Type of Number (TON) — тип номера отправителя. |
0x00 — Неизвестный (Unknown). |
| source_addr_npi | Numbering Plan Indicator (NPI) — идентификатор плана нумерации отправителя. | 0x00 — Unknown 0x01 — ISDN (E163/E164) 0x02 — Data (X.121) 0x03 — Telex (F.69) 0x04 — Land Mobile (E.212) 0x05 — National 0x06 — Private 0x07 — ERMES 0x08 — Internet (IP). 0x09 — WAP Client Id (его должен определять WAP Forum). |
| dest_addr_ton | Type of Number (TON) — тип номера получателя. | 0x01 — Международный (International). |
| dest_addr_npi | Numbering Plan Indicator (NPI) — идентификатор плана нумерации получателя. | 0x01 — ISDN (E163/E164) (для номеров). 0x02 — National (для остального). |
| esm_class | Указывает Message Mode & Message Type. Используется для определения специальных аттрибутов короткого сообщения. | 0x00 — Тип сообщения по умолчанию. 0x40 — UDHI индикатор установлен User Data. Header Indicator — Указатель заголовка пользовательских данных. |
| registered_delivery | Параметр запроса статуса. | 0x00 — флаг запроса статуса отключен. 0x01 — флаг запроса статуса включен. |
| data_coding | Определяет схему кодировки пользовательских данных короткого сообщения. | 0x01 — IA5(CCITT T.50)/ASCII (ANSI X3.4). латинский алфавит 7 бит на 1 символ, максимальная длина одного сообщения 160 символов. 0x07 — Latin/Hebrew(ISO-8859-8) латинский алфавит 8 бит на 1 символ, максимальная длина сообщения 140 символов. 0x08 — UCS2(ISO/IEC-10646) для национальных алфавитов (например, русского), максимальная длина сообщения 70 символов. |
Для отправки SMS‑сообщения используйте команду SUBMIT_SM согласно спецификации протокола.
Управление кодировками отправляемых сообщений производится через параметр подключения data_coding.
Значения параметра data_coding:
| Значение | Формат | Описание |
|---|---|---|
| data_coding | 0x01 | IA5(CCITT T.50)/ASCII (ANSI X3.4) латинский алфавит 7 бит на 1 символ, максимальная длина сообщения 160 символов. |
| data_coding | 0x07 | Latin/Hebrew(ISO-8859-8) латинский алфавит 8 бит на 1 символ, максимальная длина сообщения 140 символов. |
| data_coding | 0x08 | UCS2(ISO/IEC-10646) для национальных алфавитов (например, русского), максимальная длина сообщения 70 символов. |
Для использования кодировки ISO-8859-1 (ASCII) в параметрах подключения в вашем SMPP-клиенте нужно указать system-type="ISO" (вместо дефолтного значения “GSM”).
Получать статус доставки отправленного SMS-сообщения по SMPP-протоколу можно либо в автоматическом (пассивном) режиме, получая от шлюза ответную команду DELIVER_SM сразу после изменения статуса; либо в режиме по запросу (активном) - отдельной командой QUERY_SM.
Для автоматического получения статуса необходимо устанавливать подключение в режиме transceiver или receiver и при отправке SMS указывать флаг запроса статуса registered_delivery в пакете SUBMIT_SM.
Отправляемый шлюзом DELIVER_SM пакет содержит Delivery Receipt сообщение со следующими параметрами:
| id | ID сообщения. |
| sub | Количество отправленных сообщений. |
| dlvrd | Количество доставленных сообщений. |
| submit date | Время отправки сообщения. |
| done date | Время перехода сообщение в финальное состояние. |
| status | Статус сообщения. |
| err | Может содержать код ошибки в случае не доставки сообщения. |
Расшифровка значений поля status (статус сообщения)
| delivrd | Доставлено. |
| expired | Не доставлено из-за превышения периода ожидания доставки. |
| deleted | Удалено. |
| undeliv | Не может быть доставлено. |
| acceptd | Принято на обработку. |
| unknown | Статус не известен (поле err может содержать код ошибки). |
| rejected | Сообщение отвергнуто. |
Вы соглашаетесь с условиями обработки, используя сайт. Подробнее