SMS Шлюз: отправка сообщений и уведомлений на мобильный и стационарный телефоны

СМС шлюз представляет собой он-лайн сервис для отправки сообщений используя http заголовки.

СМС шлюз - это онлайн сервис, позволяющий создавать и отправлять, а также получать sms-сообщения без использования мобильного телефона, при помощи различных автоматизированных систем управления.

Применяется sms шлюз чаще всего в следующих целях:

  • уведомление владельца банковского счета о транзакциях;
  • подтверждение регистрации на сайте или в системе;
  • информирование о состоянии выполнения заказа;
  • информирование о новых акциях, услугах компаний;

Услуга использования смс шлюза может быть бесплатной с ограничением количества отправляемых сообщений, или платной. Второй вариант предоставляет больше возможностей при отправке смс.

Обычно sms шлюз используют для отправки сообщений с компьютера на мобильный телефон. Однако благодаря этому интерфейсу возможна также отправка сообщений на стационарные телефоны. При такой рассылке sms преобразуется в голосовое сообщение автоматически.

Корпоративные смс шлюзы позволяют сотрудникам получать доступ к корпоративным базам данных и различным приложениям.

Многие компании уже оценили возможности рассылки посредством сети интернет различных рекламных и информационных сообщений. Ведь для отправки sms требуется минимум времени, а охват целевой аудитории при таком способе информирования очень широкий.

SMS рассылка показала себя как довольно эффективное рекламное средство.

Наиболее популярные смс шлюзы

  • WEB2SMS. Можно использовать не только возможности интерфейса, но и определенные службы, которые предоставляют некоторые компании.
  • SMS2Email. Благодаря этому интерфейсу можно отправлять сообщения на электронную почту. Например, сообщения с предложением купить товары по сниженной цене.
  • SMS2Skype. Отправка сообщений в Skype.

Как правило, для работы с конкретным смс шлюзом готовый скрипт приобретается на стороне, также для сайта он может разрабатываться в индивидуальном порядке. Это позволит более оперативно оповестить пользователей о событиях и изменениях на ресурсе. Для рассылки сообщений с сайтов обычно используется шлюз WEB2SMS.

Свой сайт для автоматической отправки смс.

Отсылка сообщений на телефон абонента осуществляется посредством вызова Web скрипта которому передаются необходимые параметры через запрос GET.

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

  1. Зарегистрироваться на сайте open-sms.ru.
  2. Убедиться, что вам присвоено имя отправителя (по умолчанию это номер телефона указанный при регистрации).
  3. Положительный баланс смс (если способ расчета по депозиту).
  4. SMS не превышает овердрафт (если способ расчета по факту).

Параметры

(обязательные параметры выделены жирным шрифтом):

  • login = ваш логин.
  • password = ваш пароль.
  • phones = список телефонов в международном формате, без +, разделенных запятыми, например 7916123456,79161234568 (можно ограничиться только одним номером телефона). ОГРАНИЧЕНИЕ: макс.длина для текста со списком 23999 символов.(2000 номеров включая знак `,` (запятая) без пробелов и табуляции).
  • message = текст сообщения, не более 160 символов латинскими буквами или 70 символов по-русски в кодировке UTF-8. При превышении этих границ и при max_parts =1 сообщение обрежется. ОГРАНИЧЕНИЕ: макс.длина для текста 1377 символов (9 частей в латинице смс. max_parts).
  • originator = отправитель сообщения, как он будет выглядеть на телефоне получателя. Отправитель может быть цифровым, в этом случае его длина ограничена 15-ю символами , или буквенно-цифровым, в этом случае длина ограничена 11-ю символами (например, название вашей компании). Русские буквы в имени отправителя не разрешены. Это значение должно быть в списке имен клиента. Посмотреть его можно в личном кабинете .
  • rus = 0 или 1 – передавать ли сообщение по-русски. Если rus=1, то сообщение будет передано по-русски , если rus=0, то оно будет транслитерировано и передано в латинице. По умолчанию, rus=0.
  • start_date = дата и время отправки смс. (Формат даты: ГГГГ-ММ-ДД ЧЧ:ММ:СС, поле можно оставить пустым, в таком случае сообщения уйдут немедленно). Время указывается в московском часовом поясе. start_date может быть не более чем на 3 суток в будущем.
  • max_parts = максимальное количество частей, на которые будет при необходимости разбит текст сообщения. Если текст сообщения разбивается при отправке, то длина одной части сообщения будет 153 символа для латиницы и 67 для кириллицы. По умолчанию max_parts=1. ОГРАНИЧЕНИЕ: макс.частей 9
  • speed = определяет кол-во смс в минуту. Максимум = 600. По умолчанию speed=600

Пример запроса:

https://lk.open-sms.ru/multi.php?login = [ваш логин]&password=[ваш пароль]&message=Это тестовое сообщение&phones=[список телефонов]&originator=[имя вашего отправителя]&max_parts=1&rus=1

Ответ протокола:

Ответ протокола возвращается сразу в выходной поток в виде XML и содержит три параметра:

  • код ошибки (code), текстовое описание ошибки(description) и ненулевой код
  • рассылки(task_id), если ее удалось создать (именно в таком порядке).

Код ошибки (code) – если ошибок не возникло, равен 0. В случае ошибки код <> 0.

Описание ошибки (description) – Подробное и дружественно пользователю описание ошибки. Если ошибок не возникло, передается «Ok».

Код рассылки (task_id) – порядковый номер рассылки в нашей системе. В случае успешного создания рассылки больше нуля. В случае ошибки 0.

Результат Код ошибки Описание ошибки Код рассылки
Успешное создание голосовой рассылки 0 Ок код_рассылки
Возникновение ошибки код_ошибки описание ошибки 0

Примеры ответа. Успех

<?xml version="1.0" encoding="utf-8"?>
<response>
<code>0</code>
<description>Ok</description>
<task_id>1227</task_id>
</response>

Примеры ответа. Ошибка

<?xml version="1.0" encoding="utf-8"?>
<response>
<code>411</code>
<description>Неверный логин или пароль</description>
<task_id>0</task_id>
</response>

API для sms рассылок

Ни для кого не секрет, что серьезный сервис по отправке смс-сообщений, кроме отличного Личного Кабинета(ЛК) и адекватных цен, должен предоставлять полноценный набор инструментов для интеграции основных своих функций в сторонние системы. Этот набор принято называть API для sms рассылок. Он включает в себя:

  • Отправку сообщения на один или несколько номеров;
  • Запрос статистики по конкретной рассылке;
  • Запрос статусов смс-сообщений;
  • Контроль баланса;

Каждый запрос включает в себя логин и пароль клиента и идет по защищенному протоколу HTTP, поэтому использование API столь же безопасно, как и отправка смс с сайта. Каждая функция подробно документирована и снабжена всей необходимой информацией для быстрой и удобной интеграции в Вашу систему. Наши специалисты всегда готовы прийти к Вам на помощь и дать все необходимые комментарии и пояснения. Мы с гордостью можем сказать, что у нас не было ни одного случая несовместимости API со сторонними системами, причем количество его использования растет с каждым месяцем.

Технические данные

Метод отправки запросов: POST

URL запросов: https://lk.open-sms.ru/api_xml.php

Используемый логин: телефон, либо e-mail, указанные в аккаунте.

Используемый пароль: пароль аккаунта

Для создания любого допустимого запроса необходимо сформировать xml требуемого формата (он описан для каждой функции) и отправить его методом POST как значение поля «xml».

Отправка сообщения

Имя отправителя для отправки должно быть заранее запрошено и подтверждено в Личном Кабинете клиента. К рассылкам и номерам применяются все требования и ограничения, используемые в ЛК клиента, т.е. текст проверяется антиспам-фильтром, а номера проверяются на корректность, отсутствие дубликатов и на нахождение в черном списке.

Пример запроса на рассылку сообщения по 2-м получателям:

<?xml version="1.0" encoding="UTF-8"?>

<request>

<auth>

<login>test@gmail.ru</login>

<password>qwerty</password>

</auth>

<message>

<sender>test</sender>

<text>Тестовое сообщение.</text>

<phone>79123456789</phone>

<phone>79123456788</phone>

</message>

</request>

Если сообщение было успешно отправлено, то придет ответ подобного вида с указанием id сообщений и id задания(рассылки):

<?xml version="1.0" encoding="UTF-8"?>

<response>

<code>0</code>

<description>Ok</description>

<task_id>85</task_id>

<sms>

<id>167</id>

<phone>79123456789</phone>

</sms>

<sms>

<id>168</id>

<phone>79123456788</phone>

</sms>

</response>

Если были ошибки:

<?xml version="1.0" encoding="UTF-8"?>

<response>

<code>411</code>

<description>Неверный логин или пароль</description>

</response>

Коды ошибок:

405 — Не указан текст сообщения

411 — Неверный логин или пароль

415 — Недостаточно средств

500 — Не указан отправитель

502 — Неверный формат списка телефонов

512 — Все телефоны находятся в черном списке

Получение статуса рассылки

Пример запроса на получение статуса по task_id рассылки:

<?xml version="1.0" encoding="UTF-8"?>

<request>

<auth>

<login>test@gmail.ru</login>

<password>qwerty</password>

</auth>

<task_id>112233</task_id>

</response>

Если рассылка найдена, будет дан ответ с указанием статуса:

<?xml version="1.0" encoding="UTF-8"?>

<response>

<code>0</code>

<description>Ok</description>

<task_id>112233</task_id>

<send_count>4</send_count> //количество отправленных

<sent_count>4</sent_count> //количество доставленных

<part_count>1</part_count> //количество смс в одном сообщении

<status_code>5</status_code>

<status>завершена</status>

</response>

Возможные статусы:

1 — приостановлено

2 — в очереди

3 — запускается

4 — запущена

5 — завершена

6 — ошибка

7 — подозрение на спам

8 — заблокировано как спам

Если были ошибки:

<?xml version="1.0" encoding="UTF-8"?>

<response>

<code>411</code>

<description>Неверный логин или пароль</description>

</response>

Коды ошибок:

404 — Несовместимые параметры запроса

411 — Неверный логин или пароль

Получение статуса сообщения(-ий)

Пример запроса на получение статуса по id сообщения(-ий):

<?xml version="1.0" encoding="UTF-8"?>

<request>

<auth>

<login>test@gmail.ru</login>

<password>qwerty</password>

</auth>

<sms_id>112233</sms_id>

<sms_id>112244</sms_id>

</request>

Если сообщение найдено, будет дан ответ с указанием статуса:

<?xml version="1.0" encoding="UTF-8"?>

<response>

<code>0</code>

<description>Ok</description>

<sms>

<id>112233</id>

<status_code>1</status_code>

<status>Доставлено</ status >

</sms>

<sms>

<id>112244</id>

<status_code>2</status_code>

<status>Не доставлено</ status >

</sms>

</response>

Возможные статусы:

1 — Доставлено

2 — Недоставлено

4 — В очереди

8 — Отправлено

16 — Недоставлено

31 — Ожидает отправки

Если были ошибки:

<?xml version="1.0" encoding="UTF-8"?>

<response>

<code>411</code>

<description>Неверный логин или пароль</description>

</response>

Коды ошибок:

404 — Несовместимые параметры запроса

411 — Неверный логин или пароль

Получение баланса пользователя

Пример запроса на получение баланса:

<?xml version="1.0" encoding="UTF-8"?>

<request>

<auth>

<login>test@gmail.ru</login>

<password>qwerty</password>

</auth>

<balance />

</request>

Ответ:

<?xml version="1.0" encoding="UTF-8"?>

<response>

<code>0</code>

<description>Ok</description>

<balance>100500</ balance >

</response>

Если были ошибки:

<?xml version="1.0" encoding="UTF-8"?>

<response>

<code>411</code>

<description>Неверный логин или пароль</description>

</response>

Коды ошибок:

404 — Несовместимые параметры запроса

411 — Неверный логин или пароль

Пример кода

Пример кода для отправки запроса и получения ответа в формате XML на языке PHP

<?php

$Url = 'http://lk.open-sms.ru/api_xml.php';

$XML = '<?xml version="1.0" encoding="UTF-8"?>

<request>

<auth>

<login>test</login>

<password>123</password>

</auth>

<message>

<sender>test</sender>

<text>Привет</text>

<phone>79123456789</phone>

<phone>79123456788</phone>

<phone>79123456787</phone>

<phone>79123456786</phone>

</message>

</request>';

$Curl = curl_init($Url);

curl_setopt($Curl, CURLOPT_HEADER, 0);

curl_setopt($Curl, CURLOPT_POST, 1);

curl_setopt($Curl, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($Curl, CURLOPT_POSTFIELDS, array('xml' => $XML));

$Answer = curl_exec($Curl);

curl_close($Curl);

?>

Варианты оплаты