Содержание
- Отправка сообщения
- Отправка HLR-запроса
- Функция E-mail2sms
Отправка сообщения
Для отправки SMS необходимо послать e-mail на адрес
sendsend.billing.smstraf.ru с текстом в формате:
<login>:<psw>:<id>:<time>,<tz>:<translit>,<format>,<sender>,<test>:<phones>:<mes>
Возможно использование нашего SMTP-сервера напрямую. Адрес: send.billing.smstraf.ru. Авторизация не требуется.
Письмо должно передаваться простым текстом с указанием кодировки, по умолчанию koi8-r. Кодировка задается в заголовке Content-Type
(Content-Type: text/plain; charset="CHARSET"). Максимальный размер письма составляет 100 Кб.
Описание параметров, передаваемых Серверу
:
Параметр | Значение
|
---|
login | Логин Клиента.
|
---|
psw | Пароль Клиента или MD5-хеш пароля в нижнем регистре.
|
---|
phones | Номер или разделенный запятой или точкой с запятой список номеров мобильных телефонов в международном формате,
на которые отправляется сообщение. Номера могут передаваться без знака "+".
Если номер передан без знака "+", то он может быть исправлен автоматическим форматированием
и приведен к правильному международному формату. Таким образом, некоторые
ошибки при вводе номеров телефонов могут быть исправлены автоматически.
Для отключения автоисправления передайте номер со знаком "+".
Также можно отправлять сообщение на группу номеров, указав специальный код "G<номер группы>".
Сообщение будет отправлено на все номера, принадлежащие данной группе. Для e-mail сообщения передается список e-mail адресов
получателей.
|
---|
mes | Текст отправляемого сообщения. Максимальный размер – 800 символов. Сообщение при
необходимости будет разбито на несколько SMS, отправленных абоненту и оплаченных по отдельности. Размер одного
SMS – 160 символов в латинице или 70 символов в кириллице. При разбивке сообщения на несколько SMS в каждую часть
добавляется заголовок для объединения частей в одно сообщение на телефоне получателя, и максимальная длина становится
67 для кириллицы и 153 для латинских букв. В текст сообщения можно добавлять комментарии,
предназначенные для просмотра отправителем истории в личном кабинете.
|
---|
Дополнительные параметры
|
---|
id | Идентификатор сообщения. Назначается Клиентом. Служит для дальнейшей идентификации сообщения.
Если не указывать, то будет назначен автоматически. Не обязательно уникален. В случае 2-х одинаковых идентификаторов
по запросу статуса будет возвращен статус последнего сообщения. Идентификатор представляет собой 32-битное число в диапазоне
от 1 до 2147483647, либо строку длиной до 40 символов, состоящую из латинских букв, цифр и символов ".-_".
|
---|
sender | Имя отправителя, отображаемое в телефоне получателя.
Разрешены английские буквы, цифры, пробел и некоторые символы. Длина – 11 символов или 15 цифр.
Все имена регистрируются в личном кабинете. Для отключения Sender ID по умолчанию необходимо в качестве имени передать
пустую строку.
|
---|
translit | Признак того, что сообщение необходимо перевести в транслит.
0 (по умолчанию) – не переводить в транслит. 1 – перевести в транслит в виде "translit".
2 – перевести в транслит в виде "mpaHc/Ium".
|
---|
tinyurl | Автоматически сокращать ссылки в сообщениях. Позволяет заменять ссылки в тексте
сообщения на короткие для сокращения длины, а также для отслеживания количества переходов на
этой странице.
0 (по умолчанию) – оставить ссылки в тексте сообщения без изменений. 1 – сократить ссылки.
|
---|
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.
7 – mms. Сообщение, позволяющее передавать текст (txt), изображения различных форматов (jpg, gif, png),
музыку (wav, amr, mp3, mid) и видео (mp4, 3gp).
8 – e-mail. Сообщение электронной почты. Тема письма указывается в конце текста сообщения через перевод строки в
виде "subj:Тема". Указание темы, текста и e-mail отправителя обязательно.
9 – голосовое сообщение (звонок). Голос, используемый для озвучки, указывается в конце текста сообщения через перевод строки в
виде "voice:Голос". Возможные типы голосов подробно описаны на данной странице.
|
---|
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:сообщение
Для отправки различных типов сообщений можно воспользоваться возможностью указания специальных префиксов в начале или вместо текста сообщения.
Поддерживаемые префиксы:
Название | Описание
|
---|
__CALL__: сообщение | Отправка голосового сообщения (звонка). При отправке голосового сообщения в конце текста можно указать
специальную комбинацию "\n~~~\n" (перевод строки, 3 символа тильды и снова перевод строки), после которой передать параметр param,
определяющий некоторые характеристики звонка (более подробно можно посмотреть в описании).
| __PING__ | Отправка специального SMS, не отображаемого в телефоне, для проверки номеров на доступность в реальном времени
по статусу доставки.
| __HLR__ | Признак HLR-запроса для получения информации о номере из базы оператора без отправки реального SMS. |
Если была допущена ошибка в параметрах или произошла любая другая ошибка, и параметром 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 | Отправка более одного одинакового запроса на передачу SMS-сообщения в течение минуты.
|
---|
В случае успешного принятия сообщения и запроса ответа параметром test возвращается строка следующего вида:
Где:
<n> – это количество отправленных SMS, вычисляемое как количество SMS в сообщении, умноженное на количество
получателей.
<id> – идентификатор сообщения, переданный Клиентом или назначенный Сервером автоматически.
Сервер не принимает более двух одинаковых запросов на отправку SMS-сообщений в течение
минуты для защиты от ошибок и зацикливаний в программе на стороне Клиента для того, чтобы снизить нагрузку и не расходовать
средства Клиента, а также не допустить многократной отправки сообщения одному абоненту.
Сервер также блокирует отправку более 50 сообщений одному абоненту, которые были отправлены с перерывом
между сообщениями менее 2-х минут, для защиты от флуда и лишнего списания средств со счета Клиента,
так как многие операторы не пропускают большое количество сообщений одному абоненту за короткий промежуток времени.
Отправка HLR-запроса
Для отправки HLR-запроса используйте команду обычной отправки SMS-сообщения, указывая format равным 3.
Параметр <mes> с текстом сообщения не используется и может быть пустым.
Результат запроса можно получить по HTTP-протоколу автоматическим вызовом обработчика или самостоятельно запросить статус
отправленного SMS-сообщения специальной командой. Так как HLR-запрос выполняется асинхронно, и результат может вернуться от оператора не сразу,
то при самостоятельном запросе статуса важно делать цикл из нескольких итераций с засыпанием (команда sleep).
Функция E-mail2sms
В личном кабинете Клиента в "Настройках пользователя" имеется возможность указания списка номеров телефонов, на которые
будет происходить пересылка в виде SMS-сообщений текстов электронных писем, пришедших на адрес
ваш_логинsend.billing.smstraf.ru.
Данная функция может быть использована, например, для получения уведомлений на телефон о различных событиях из
программ или интернет-сервисов, в которых возможно указание только адреса E-mail.
|