Интеграция с сервисом (API)
API позволяет рассылать сообщения через ваши проекты и сервисы по протоколам HTTP/HTTPS, SMTP и SMPP. Готовые библиотеки на разных языках программирования подключаются к вашему проекту и помогают отправлять сообщения из любого места с помощью одной команды. Для упрощенной авторизации вместо пары логин и пароль можно использовать специальный API-ключ.
ПОДКЛЮЧЕНИЕ СКОРОСТЬ РАССЫЛОК МНОЖЕСТВЕННЫЕ ПОДКЛЮЧЕНИЯ ОТПРАВКА СООБЩЕНИЯ Отправка SMS-сообщения ПРОВЕРКА СТАТУСАКомментарии в SMS-сообщениях Отправка e-mail сообщения Отправка голосового сообщения (звонок) Отправка viber-сообщения Отправка soc-сообщения Отправка сообщения в Telegram Отправка сообщения в чат-бот Telegram Отправка HLR-запроса ПОЛУЧЕНИЕ ВХОДЯЩИХ СООБЩЕНИЙ КОДЫ ОШИБОК В СТАТУСЕ | SMPP протоколПодключениеЧерез наш SMS-шлюз возможно отправлять сообщения по протоколу SMPP версий 3.4 и 5.0.Для получения доступа по SMPP-протоколу необходимо включить в настройках в группе "Настройки API" соответствующую опцию и добавить IP-адреса, с которых будете выполнять подключение, на этой странице. Адрес SMPP-сервера: smpp.m.smsc.ru, порт: 3700. Для шифрованного SSL-подключения используется порт 3443. Адрес резервного SMPP-сервера: smpp2.m.smsc.ru. Пример настроек для подключения (формат kannel):
group = smsc
Максимально возможный интервал бездействия составляет 2 минуты. В течение этого времени Клиенту необходимо отправить сообщение или выполнить пустую команду ENQUIRE_LINK, иначе соединение будет разорвано из-за не активности. Пример дополнительных настроек для подключения по SSL-протоколу (kannel версии 1.4.4 и выше):
...
Сертификат можно сгенерировать командой (Linux CentOS): /etc/ssl/certs/make-dummy-cert kannel.pem Логин используется от личного кабинета, пароль должен быть создан на странице Пароли для доступа. Логин и пароль не должны быть на русском языке. Данный раздел содержит только краткое описание SMPP-протокола. Подробности смотрите в спецификации. Скачать спецификацию протокола SMPP v3.4 smpp34.zip (500 Кб) smpp34rus.zip (1,1 Mб). Скорость рассылокПропускная способность подключения или количество отправляемых каждую секунду SMS-сообщений зависит от размера окна передачи (smpp window size). В примере настроек данный параметр называется max-pending-submits. Для массовых рассылок лучше задавать большие значения (1000-2000). Также в примере параметр throughput задает ограничение на максимальное количество SMS-сообщений в секунду.Вместе с массовыми рассылками через одно подключение можно отправлять и срочные одиночные SMS-уведомления. Система установит максимальный приоритет таким сообщениям и отправит их раньше любых массовых рассылок без ожидания в очереди. При массовой отправке сообщений не стоит забывать о системе контроля скорости отправки сообщений в секунду, при превышении которой происходит генерация ошибки превышения скорости (throttling). В случае получения данной ошибки Клиенту по SMPP-стандарту необходимо повторить отправку, снизив общую скорость на своей стороне. По умолчанию скорость задана 30 SMS/cек для каждого аккаунта. Для изменения максимально разрешенной скорости необходимо отправить запрос в службу поддержки сервиса. Множественные подключенияПо умолчанию сервер обрабатывает одновременно с одного логина только одно подключение для более корректной отдачи статусов, поэтому при повторном подключении ранее подключенное соединение с таким же логином будет автоматически завершаться. Если же необходимо иметь несколько одновременных подключений для повышения скорости отправки, то можно в настройках всех подключений задать следующий параметр (multi connection):
system-type = "MCON2"
Значение после MCON может быть от 1 до 9 и задает количество одновременных подключений.
Также возможны одновременные подключения с разными логинами, привязанными к одному личному кабинету и счету. Для этого необходимо создать в личном кабинете в разделе "Реселлер" дополнительные аккаунты с необходимым типом субаккаунта. Отправка сообщенияОтправка SMS-сообщенияДля отправки SMS-сообщения используйте команду SUBMIT_SM согласно спецификации.Поддерживаются следующие кодировки:
Для использования кодировки ISO-8859-1 (ASCII) вместо GSM при подключении нужно указать:
system-type = "ISO"
В текст SMS-сообщения можно добавлять комментарии, предназначенные для просмотра отправителем истории сообщений в личном кабинете. Команда SUBMIT_MULTI для множественной рассылки пока не реализована. Сервер не принимает более одного одинакового запроса на отправку SMS-сообщений в течение минуты
для защиты от ошибок и зацикливаний в программе на стороне Клиента для того, чтобы снизить нагрузку и не
расходовать средства Клиента, а также не допустить многократной отправки сообщения одному абоненту.
Комментарии в SMS-сообщенияхПри отправке SMS-сообщений можно добавлять в конец текста любой комментарий, уточняющий либо дополняющий SMS-сообщение для отправителя. Данный текст не будет отправляться абонентам и влиять на стоимость SMS и доступен для просмотра и фильтрации в списке отправленных сообщений в личном кабинете.Для добавления комментария необходимо в конце текста SMS-сообщения, предназначенного для отправки, указать специальную комбинацию "\n~~~\n" (перевод строки, 3 символа тильды и снова перевод строки), и после этого любой текст, который будет считаться комментарием, не будет отправлен абоненту, но отобразится в истории. Отправка e-mail сообщенияДля отправки e-mail сообщения используйте команду SUBMIT_SM с текстом "__MAIL__: <message>\nsubj:<subject>" (текст "__MAIL__", двоеточие, пробел, текст сообщения, перевод строки, слово "subj", двоеточие, тема e-mail сообщения).Отправка голосового сообщения (звонок)Для отправки голосового сообщения используйте команду SUBMIT_SM с текстом "__CALL__: <message>\nvoice:<voice>" (текст "__CALL__", двоеточие, пробел, текст сообщения, перевод строки, слово "voice", двоеточие, голос, используемый для озвучивания текста).Возможные значения для используемого голоса:
В процессе формирования сообщения в конце текста можно указать специальную комбинацию "\n~~~\n" (перевод строки, 3 символа тильды и снова перевод строки), после которой передать параметр param, определяющий некоторые характеристики звонка (более подробно можно посмотреть в описании). Отправка viber-сообщенияДля отправки viber-сообщения используйте команду SUBMIT_SM с текстом "__VIBER__: <message>" (текст "__VIBER__", двоеточие, пробел, текст сообщения).При формировании текста сообщения можно использовать специальные макросы для создания кнопки, при нажатии на которую будет происходить открытие браузера и переход по указанной в макросе ссылке, а также прикреплять файлы. Более подробно дополнительные возможности при отправке viber-сообщений описаны в документации к http-протоколу. Отправка soc-сообщенияДля отправки soc-сообщения, отправляемого пользователям социальных сетей "Одноклассники", "ВКонтакте" или пользователям "Mail.Ru Агент", используйте команду SUBMIT_SM с текстом "__SOC__: <message>" (текст "__SOC__", двоеточие, пробел, текст сообщения).Отправка сообщения в TelegramДля отправки кода подтверждения в Telegram используйте команду SUBMIT_SM с текстом "__TGM__: <code>" (текст "__TGM__", двоеточие, пробел, код подтверждения).К отправке принимаются только числовые коды длиной от 4 до 8 цифр. Отправка сообщения в чат-бот TelegramДля отправки сообщения в чат-бот Telegram используйте команду SUBMIT_SM с текстом "__BOT__: <message>\nbot:@<bot_name>" (текст "__BOT__", двоеточие, пробел, текст сообщения, перевод строки, текст "bot", двоеточие, имя бота).Отправка HLR-запросаДля отправки HLR-запроса используйте команду SUBMIT_SM с текстом __HLR__. Результат запроса приходит в обычном статусе (Delivery Report), который можно получить как по SMPP-подключению, так и по HTTP на свой обработчик.Формат статуса с результатом HLR-запроса, возвращаемого по SMPP:
id:<id> stat:<status> err:<err> imsi:<imsi> msc:<msc> mcc:<mcc> mnc:<mnc> cn:<cn> net:<net> rcn:<rcn> rnet:<rnet>
Описание параметров:
Строковые данные, например, страна и оператор, закодированы через функцию urlencode. Пример результата HLR-запроса:
id:855469 stat:DELIVRD err:000 imsi:250023012345678
Пример кода на PHP для разбора строки с результатом HLR-запроса: $dlr = strtr($dlr, ": ", "=&"); // $dlr - строка статуса
Пример разбора через регулярные выражения: preg_match("/^id:(\d+) stat:(\w+) err:(\d+) imsi:(\d*) msc:(\d*) mcc:(\d*) mnc:(\d*) cn:([^ ]*) net:([^ ]*) rcn:([^ ]*) rnet:([^ ]*)/", $dlr, $m); // $dlr - строка статуса
Для отправки Ping-SMS используйте команду SUBMIT_SM с текстом __PING__. Проверка статусаПолучать статус доставки отправленного SMS-сообщения по SMPP-протоколу можно как в автоматическом режиме, получая от сервера ответную PDU-команду DELIVER_SM сразу после изменения статуса, так и по запросу отдельной командой QUERY_SM. Для автоматического получения статуса по SMPP-протоколу необходимо подключаться в режиме transceiver или receiver и при отправке SMS указывать флаг запроса статуса (registered_delivery). Если при отправке не указывать данный флаг, то статусы сообщений будут передаваться на HTTP-обработчик.При автоматическом возврате статуса в команде DELIVER_SM передаются стандартные TLV-параметры receipted_message_id (<id>), message_state (числовой <status>) и network_error_code (<err>), а также дополнительные TLV-поля, описанные ниже:
Также в команде DELIVER_SM передается текст статуса в следующем формате:
id:<id> sub:<sub> dlvrd:<dlvrd> submit date:<submit date> done date:<done date> stat:<status> err:<err>
Описание параметров:
Пример результата строки статуса (Delivery Report):
id:854019 sub:001 dlvrd:001 submit date:1108202241 done date:1108202241 stat:DELIVRD err:000
По умолчанию для длинных сообщений, разбиваемых на несколько SMS, сервер возвращает только один статус (DELIVER_SM) для всего склеенного сообщения и одинаковые ID в ответе SUBMIT_SM_RESP для всех SMS-частей данного сообщения. Для включения режима обработки и возврата статусов для каждой SMS-части отдельно установите следующий параметр в настройках подключения (либо в настройках личного кабинета):
system-type = "SINGLE"
Если необходимо указать несколько параметров в поле system-type, то укажите их через запятую:
system-type = "ISO,SINGLE"
Получение входящих сообщенийДля включения пересылки входящих SMS-сообщений по SMPP-подключению необходимо установить галочку "Передавать входящие SMS по SMPP-подключению" в настройках личного кабинета (раскрывающаяся вкладка "Настройки API") либо обратиться в службу поддержки. При этом передача входящих сообщений на обработчик Клиента должна быть отключена.Входящие сообщения приходят в PDU-команде DELIVER_SM. Для получения необходимо подключаться к SMPP-серверу в режиме transceiver или receiver. Коды ошибок в статусеВозможные коды ошибок в статусе сообщений или HLR-запросов (значения <err>):
Возможные коды ошибок в статусе e-mail сообщений (значения <err>):
|