SMPP документация
Подключение
Через наш SMS-шлюз возможна отправка сообщений по протоколу SMPP версии 3.4 и 5.0.
Для активации этого способа:
1. В разделе API и SMPP создайте себе аккаунт для 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 или 82.202.194.38 | Обязательно | адрес или IP для подключения к 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) 0x01 - Международный (International) 0x02 - Государственный (National) 0x03 - Сетевой Специальный (Network Specific) 0x04 - Номер Абонента (Subscriber Number) 0x05 - Алфавитно-цифровой (Alphanumeric) 0x06 - Сокращенный (Abbreviated) |
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 (статус SMS-сообщения)
delivrd | Доставлено |
expired | Не доставлено из-за превышения периода ожидания доставки |
deleted | Удалено |
undeliv | Не может быть доставлено |
acceptd | Принято на обработку |
unknown | Статус не известен (поле err может содержать код ошибки) |
rejected | Сообщение отвергнуто |