SMSTeam

SMTP протокол

1. Отправка сообщения
2. Отправка HLR-запроса
3. Функция E-mail2sms

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

Для отправки SMS необходимо послать e-mail на адрес send­@­send­.­smsteam­.­ru с текстом в формате:
<login>:<psw>:<id>:<time>,<tz>:<translit>,<format>,<sender>,<test>:<phones>:<mes>

Возможно использование нашего SMTP-сервера напрямую. Адрес: send.smsteam.ru. Авторизация не требуется.

Письмо должно передаваться простым текстом с указанием кодировки, по умолчанию koi8-r. Максимальный размер письма составляет 100 Кб.

Описание параметров, передаваемых Серверу:

Параметр Значение
login Логин Клиента.
psw Пароль Клиента или MD5-хеш пароля в нижнем регистре.
phones Номер или разделенный запятой или точкой с запятой список номеров мобильных телефонов в международном формате, на которые отправляется сообщение. Номера могут передаваться без знака «+». Если номер передан без знака «+», то он может быть исправлен автоматическим форматированием и приведен к правильному международному формату. Таким образом, некоторые ошибки при вводе номеров телефонов могут быть исправлены автоматически. Для отключения автоисправления передайте номер со знаком «+».
mes Текст отправляемого сообщения. Максимальный размер – 800 символов. Сообщение при необходимости будет разбито на несколько SMS, отправленных абоненту и оплаченных по отдельности. Размер одного SMS – 160 символов в латинице или 70 символов в кириллице. При разбивке сообщения на несколько SMS в каждую часть добавляется заголовок для объединения частей в одно сообщение на телефоне получателя, и максимальная длина становится 67 для кириллицы и 153 для латинских букв.
Дополнительные параметры
id Идентификатор сообщения. Назначается Клиентом. Служит для дальнейшей идентификации сообщения. Если не указывать, то будет назначен автоматически. Не обязательно уникален. В случае 2-х одинаковых идентификаторов по запросу статуса будет возвращен статус последнего сообщения. Идентификатор представляет собой 32-битное число в диапазоне от 1 до 2147483647.
sender Имя отправителя, отображаемое в телефоне получателя. Разрешены английские буквы, цифры, пробел и некоторые символы. Длина – 11 символов или 15 цифр. Все имена регистрируются в личном кабинете. Динамическое имя включается по запросу. Для отключения Sender ID по умолчанию необходимо в качестве имени передать пустую строку.
translit Признак того, что сообщение необходимо перевести в транслит.
0 (по умолчанию) – не переводить в транслит.1 – перевести в транслит в виде «translit».
2 – перевести в транслит в виде «mpaHc/Ium».
time Время отправки SMS-сообщения абоненту.
Форматы:

  • DDMMYYhhmm или DD.MM.YY hh.mm.
  • h1-h2. Задает диапазон времени в часах. Если текущее время меньше h1, то SMS-сообщение будет отправлено абоненту при наступлении времени h1, если текущее время попадает в промежуток от h1 до h2, то сообщение будет отправлено немедленно, в другом случае отправка будет выполнена на следующий день при достижении времени h1. Данная функция, например, полезна для того, чтобы не допустить получение SMS-сообщений
    абонентами в ночное время.
  • 0ts, где ts – timestamp, время в секундах, прошедшее с 1 января 1970 года.
  • +m. Задает относительное смещение времени от текущего в минутах. Символ + должен кодироваться как %2B в http-запросе.

Если time = 0 (по умолчанию), то сообщение будет отправлено немедленно.

tz Часовой пояс, в котором задается параметр time. Указывается относительно московского времени. Параметр tz может быть как положительным, так и отрицательным. Если tz равен 0, то будет использован московский часовой пояс, если же параметр tz не задан, то часовой пояс будет взят из настроек Клиента.>
format Определяет тип SMS-сообщения.
0 (по умолчанию) – обычное текстовое сообщение.
1 – flash-sms. Сообщение, отображаемое сразу на экране телефона.
2 – wap-push. Сообщение, содержащее ссылку на сайт, первая строка задает ссылку, вторая – название.
3 – hlr-запрос. Позволяет получить информацию о номере из базы оператора без отправки SMS.
4 – бинарное сообщение в двоичном виде.
5 – бинарное сообщение, представленное в виде шестнадцатеричной строки (hex).
6 – ping-sms. Проверка номера на доступность отправкой специального невидимого SMS.
test Указывает на необходимость отправлять ответное письмо с результатом отправки SMS-сообщения. Если 0 или не указано, то ответ посылается только при ошибке в параметрах, если 1, то ответ отправляется в любом случае. Параметр используется для отладки при первоначальной настройке сервиса.

Параметры должны идти строго в заданном порядке. Обязательными являются login, psw,
phones и mes. Если какой-то необязательный параметр отсутствует, то двоеточие должно оставаться.

Пример (<id>, поле <time>,<tz> и поле <translit>,<format>,<sender>,<test> не указаны):
alex:123::::79999999999:сообщение

В составном поле <translit>,<format>,<sender>,<test> любой параметр может отсутствовать,
сохраняя начальную запятую.

Примеры:
alex:psw:::1,1,Alex:79999999999:сообщение
alex:psw:::1:79999999999:сообщение
alex:psw:::,1:79999999999:сообщение
alex:psw:::,1,Alex:79999999999:сообщение
alex:psw:::,1,,1:79999999999:сообщение

Если была допущена ошибка в параметрах или произошла любая другая ошибка, и параметром test был запрошен
ответ, то он будет следующим:

  • ERROR = N (описание) – для ошибок 1,2,4,5,9;
  • ERROR = N (описание), ID — <id сообщения> – для ошибок 3,6,7,8.

N – номер ошибки, может принимать следующие значения:

Значение Описание
1 Ошибка в параметрах.
2 Неверный логин или пароль.
3 Недостаточно средств на счету Клиента.
4 IP-адрес временно заблокирован.
5 Неверный формат даты.
6 Сообщение запрещено.
7 Неверный формат номера телефона.
8 Сообщение на указанный номер не может быть доставлено.
9 Попытка отправки более двух одинаковых запросов в течение минуты.

В случае успешного принятия сообщения и запроса ответа параметром test возвращается строка следующего вида:

  • OK — <n> SMS, ID — <id>

Где:
<n> – это количество отправленных SMS, вычисляемое как количество SMS в сообщении, умноженное на количество
получателей.
<id> – идентификатор сообщения, переданный Клиентом или назначенный Сервером автоматически.

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

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

Отправка HLR-запроса

Для отправки HLR-запроса используйте команду обычной отправки SMS-сообщения, указывая format равным 3.
Параметр <mes> с текстом сообщения не используется и может быть пустым.
Результат запроса можно получить по HTTP-протоколу автоматическим вызовом обработчика или самостоятельно запросить статус
отправленного SMS-сообщения специальной командой. Так как HLR-запрос выполняется асинхронно, и результат может вернуться от оператора не сразу,
то при самостоятельном запросе статуса важно делать цикл из нескольких итераций с засыпанием (команда sleep).

Функция E-mail2sms

В личном кабинете Клиента в Настройках пользователя имеется возможность указания списка номеров телефонов, на которые
будет происходить пересылка в виде SMS-сообщений текстов электронных писем, пришедших на адрес
ваш_логин­@­send­.­smsteam­.­ru.
Данная функция может быть использована, например, для получения уведомлений на телефон о различных событиях из
программ или интернет-сервисов, в которых возможно указание только адреса E-mail.