SMTP протокол
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-сообщения абоненту. Форматы:
Если 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.