SMS МАСТЕР
КАК ЭТО ВЫГЛЯДИТ
Для
студентов и школьников, их друзей и подруг, для всех кто бывает в
интернете или чьи друзья бывают там, предлагается уникальная
возможность создания собственного SMS-сервиса для своих друзей -
абонентов БИ ЛАЙН !!
Дано: вы
студент
Предположим, вы учитесь в институте, от которого до
города надо ехать на электричке. Ваши друзья не могут запомнить
расписание, и вы решили им помочь. Теперь, когда надо узнать время
отправления ближашей электрички в сторону Большого Города, им
достаточно послать SMS-сообщение на 684:
FT
В ответ им придет
SMS-сообщение. Например такое:
FT> Электрички Долгопр.-Москва
19.15, 20.30, 22.45 (последняя)
Благодарные друзья успевают
угостить вас пивом и благополучно отбыть в Большой Город для
продолжения подготовки к сессии, не замерзая на платформе в ожидании
поезда.
Дано: вы опять
студент
Разумеется, невозможно запомнить расписание занятий.
Оно висит на доске объявлений факультета, оно наверное даже есть на
сайте вашего факультета, но утром и то и другое недоступно. А
принимать решение (вставать или продолжать спать) все-таки
нужно.
Вас выручит мобильный телефон, который только что Вас
разбудил.
Наберите на нем:
MGU VMK 308
Получите в ответ
что-нибудь типа:
10.30
Дискретная математика (Лекция) П12,
11.00 Исследование операций
(семинар) 613,
И можно спокойно продолжить прерванный
сон...
У вас есть мысли
или новости
... и вы не просто их думаете, а хотите
поделиться ими с друзьями.
Пусть те, кому ваши мысли или новости
интересны, каждое утро отправляют SMS-сообщение на 684:
X007 new
И получают в
ответ:
Х007> Советская власть это коммунизм
минус электрификация всей страны.
Х007 - это ваш псевдоним,
который знают ваши друзья.
Можно продолжать приводить примеры, но
мы уверены, что вы уже сами догадались, сколь широки
возможности.
ЧТО ДЛЯ ЭТОГО НУЖНО
Для
создания своего SMS-сервиса нужно всего лишь иметь свою
интернет-страницу на любом WEB-сервере.
Предположим, что адрес
Вашей страницы: www.host.ru/people/max/
Расположите по
адресу www.host.ru/people/max/myservice.php HTTP-обработчик.
Он может быть разработан в любой технологии: asp, jsp, или просто в
виде статичной страницы.
В адресе HTTP-обработчика не должно
содержаться знаков ~ (тильда), т.к. этот знак не поддерживается
стандартом GSM.
Этот обработчик должен в ответ на HTTP-запрос
сгенерировать text/plain страницу, в которой будет только одна
строка - ответ на запрос.
Именно эта строка будет выслана в ответ
на запрос по SMS.
КАК ЭТО
РАБОТАЕТ
Трансляция SMS-запроса
БиОнЛайн,
получив SMS-запрос абонента, превращает его в HTTP-запрос к вашей
странице следующим образом:
SMS-запрос: FT poezd
Moskva
Преобразуется в запрос по
адресу:
http://www.host.ru/people/max/raspisanie.php?param1=poezd%20Moskva
Ваш
обработчик должен сам разобрать переданные параметры запроса и
сформировать ответную страницу.
Content-Type
Для
корректного отображении информации необходимо установить
Content-Type ответа http-обработчика в значение text/plain.
У
каждого средства разработки для этого свои методы. Ниже приведены
примеры для различных языков.
Java:
response.setContentType("text/plain");
PHP:
header('Content-Type:
text/plain');
Perl:
print
"Content-Type: text/plain\n\n";
Для этого пишем такой (например,
используем один из популярных для web-языков - PHP) скрипт:
<?php
header('Content-Type:
text/plain');
$fd = fopen
("http://www.pacificnet.net/~sperling/idioms.cgi", "r");
while
(!feof ($fd)) {
$buffer = fgets($fd, 4096);
$text .=
$buffer;
}
$spl
= split(" <HR>", $text);
echo "IDIOM
".strip_tags($spl[1]);
fclose ($fd);
?>
(Данный
пример считывает информацию (английские идиомы) по определенному
адресу и форматирует ее необходимым образом)
Названия параметров
и логику их интерпретации определяете вы сами на свое усмотрение.
Разумеется, вы должны заранее сами сообщить своим друзьям, какие
параметры допустимы в запросе к вашему SMS-сервису.
Здесь у
вас должен возникнуть естественный вопрос: каким образом БиОнЛайн
будет знать, что SMS-запрос, начинающийся со слова (команды) FT надо преобразовать в
HTTP-запрос именно к вашей http-странице?
Ответ на этот вопрос в
следующем разделе...
Настройка имени вашего
SMS-сервиса
Для того, чтобы ваши друзья могли
пользоваться вашим SMS-сервисом, они должны произвести некоторые
действия.
Вариант 1. Все
настройки только с телефона, у пользователя нет доступа к
электронной почте |
Шаг
1.
Пользователь посылает SMS-собщение на номер 684: |
Вариант
2.
У пользователя есть электронная почта |
Шаг
1.
Пользователь сообщает Системе свой почтовый адрес следующей
SMS-командой (посылается на номер 684): |
Вариант
3.
У пользователя нет электронной почты, но она есть у его
друга |
Шаг
1.
Пользователь выдает SMS-команду (посылается на намер 684): |
Вариант
4.
Вы хотите сделать настройку имени для вашего SMS-сервиса
глобальной, т.е. действующей для всех абонентов БИ ЛАЙН, без
необходимости для пользователя производить дополнительные
настройки. |
Напишите
нам по адресу mailto:request@beemail.ru?Subject=_REQUEST
MASTER |
Вариант
5.
Через форму
отправки сообщений на сайте "БиОнЛайн". |
Шаг
1.
Пошлите абоненту сообщение: |
Вариант
6.
Через почтовое взаимодействие SMS <-> EMAIL. |
Шаг
1.
Пусть пользователь отправит с телефона письмо на ваш почтовый
адрес посылкой SMS-сообщения с вашим почтовым адресом на номер
684 (подробнее о
посылке EMAIL с телефона см. http://www.beemail.ru/) |
Передача параметров в обработчик
команды
Параметры
передаются в виде символических имен %n%, где n – порядковый номер
параметра в запросе.
Параметр %n_% означает все
параметры, начиная с n-ого.
Например:
Если для имени
сервиса VOTE определен
обработчик
вида:
http://www.vote.ru/sms/smsvote.php?param1=%1%¶m2=%2_%
(после
двойки - подчерк), то SMS-запрос вида:
VOTE A B C
приведет к
исполнению следующего
запроса:
http://www.VOTE.ru/sms/smsvote.php?param1=А¶m2=B%20C
Если
вы хотите получать информацию о развитии услуги "SMS Мастер",
подпишитесь на специальный новостной канал. Для подписки пошлите SMS
на номер 684:
SMSMASTER
Ознакомиться
с FAQ и задать свой вопрос.
БУКВЫ
ОТВЕТА
Для того чтобы создать в SMS-сообщении буквы
ответа, необходимо в передаваемом на телефон тексте в угловых
скобках написать:
<url:Новый_URL>
Тогда указанная
последовательность будет заменена на БУКВЫ, кодирующие URL-команду
вызова Нового_URL. Новый_URL может быть задан ОТНОСИТЕЛЬНО страницы,
в которой он встречается, к примеру:
<url:../ххх/yyy.txt?param=%*%>
Возможны
и 2 других задания:
относительно корня сервера:
<url:/aaa/bbb.txt?param=%*%>
абсолютное:
<url:http://Домен/aaa/bbb.txt?param=%*%>
Пример:
Предположим,
необходимо разработать небольшую адресную книгу. Создаем, например,
следующие файлы и размещаем их в одной директории:
Содержимое
Файла mainpage.txt:
<url:lena.txt> - Лена,
<url:misha.txt> - Миша, <url:oleg.txt> -
Олег.
Содержимое Файла lena.txt:
Лена Петрова,
тел: 1234567, моб: +79031234567, ул.8-го Марта, д.3
Содержимое
Файла misha.txt:
Миша
Федоров, тел: 3335577, моб: +79038901234, ул.Усиевича,
д.10
Содержимое Файла oleg.txt:
Олег Смирнов,
тел: 3621111, моб: +79036733333, ул.8-го Марта, д.3
Теперь если
запросить файл mainpage.txt (дать команду
URL http://domain/mainpage.txt), то мы получим следующее
SMS-сообщение:
<A>
- Лена, <D> - Миша, <G> - Олег.
Просмотреть
информацию об интересующем человеке можно будет теперь, выбрав
соответствующую букву.
ПОДДЕРЖКА
EMS-СООБЩЕНИЙ
Текстовое представление
EMS-сообщения имеет следующий вид:
В текст сообщения в тех
местах, где надо вставить какой-либо элемент, вставляется спец-тэг
(аналогично формату HTML)
Поддерживаются тэги:
1.
Предопределенные звуки
<ems:sound num="номер предопределенного
звука">
Согласно спецификации EMS возможны следующие
значения предопределенных звуков:
0 |
Chimes
high |
5 |
Drum |
1 |
Chimes
low |
6 |
Claps |
2 |
Ding |
7 |
FanFare |
3 |
TaDa |
8 |
Chord
high |
4 |
Notify |
9 |
Chord
low |
2.
User-defined мелодии
Полный
вариант:
<ems:melody name="название
мелодии"
composer="композитор"
beat="целое
число
от
25 до
900"
style="S0 или
S1 или
S2"
volume="V1 ... V15
или V+ или V-"
melody="собственно
мелодия">
В
этом случае на телефон передается iMelody в полном формате с
заголовком и окончанием. Все значения атрибутов копируются в
соответствующие поля объекта iMelody.
Сокращенный
вариант:
<ems:melody body="собственно
мелодия">
В этом случае на телефон передается iMelody в
сокращенном формате. Может поддерживаться не всеми моделями
телефонов.
Общий размер мелодии должен не превышать 128 байт. В
случае, если размер мелодии больше 128 байт, из тела мелодии
удаляются отдельные поля до тех пор, пока мелодия не станет
умещаться в 128 байт. Удаление производится в следующем порядке -
COMPOSER, NAME, VOLUME, STYLE, BEAT. Если после удаления всех этих
полей размер мелодии превосходит 128 байт, или же, если используется
сокращенная форма и размер мелодии превосходит 128 байт, то мелодия
обрезается до нужного размера.
3.
Предопределенные анимации
<ems:animation num="номер предопределенной
анимации">
Согласно спецификации EMS возможны
следующие значения предопределенных анимаций:
0 |
I
am ironic, flirty |
3 |
I
am sad |
1 |
I
am glad |
4 |
WOW! |
2 |
I
am sceptic |
5 |
I
am crying |
4. User-defined
анимации
<ems:animation hex="тело анимации в HEX-формате,
16*16*4 кадра = 128 байт">
<ems:animation hex="тело анимации в HEX-формате,
8*8*4 кадра = 32 байта">
Размер анимации определяется
автоматически по длине тела анимации:
Если длина тела менее или
равна 32 байт, то анимация считается маленькой (8*8*4 кадра).
Недостающие байты заполняются нулями.
Если
длина тела более 32 байт но менее или равна 128 байт, то анимация
считается большой (16*16*4 кадра). Недостающие байты заполняются
нулями.
Если
длина тела более 128 байт, то анимация считается большой (16*16*4
кадра). Лишние байты обрезаются.
5.
Картинки
<ems:picture width="целое число" height="целое число" hex="тело картинки в
HEX-формате">
Тело картинки должно состоять из
(width/8)*height байт. Недостающие байты будут заполнены нулями,
лишний байты будут обрезаны.
Ширина картинки должна быть кратна
8. В противном случае, ширина будет подобрана автоматически - либо
посредством дополнения картинки справа пустыми пикселами, либо
посредством обрезания правого края картинки. Общий размер тела
картинки не должен превышать 128 байт, в противном случае, нижняя и
правая часть картинки будут автоматически обрезаны до нужной
длины.
6.
Форматирование
Поддерживаются аналоги стандартнын
html-тэгов, только с префиксом ems (для единообразия)
<ems:b>жирный
текст</ems:b>
<ems:i>текст
курсивом</ems:i>
<ems:u>подчерктнутый
текст</ems:u>
<ems:s>перечеркнутый
текст</ems:s>
<ems:big>большой
шрифт</ems:big>
<ems:small>маленький
шрифт</ems:small>
<ems:br> перевод строки
<ems:p
align="left">выравнивание влево</ems:p>
<ems:p
align="center">выравнивание по центру</ems:p>
<ems:p
align="right">выравнивание вправо</ems:p>
Тэг ems:p приводит к включению в состав сообщения символа перевода строки. Возможно указание этого тэга без атрибута align - это аналогично символу перевода строки.
ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ
Как
сообщить миру о том, что у вас есть SMS-сервис
Мы
рекомендуем разместить информацию о вашем сервисе в Мобильном
форуме. Для народных SMS-сервисов отведен раздел PUTURL.
Для размещения
объявления надо выдать следующую SMS-команду (посылается на 684):
PUTURL Описание
КомандаНастройки
Пример:
PUTURL Расписание занятий МГУ. -L SYM FT URL http://sunsite.cs.msu.su/sms/schedule.php?request=%*%
БиОнЛайн
проинформирует своих пользователей, что они могут найти полезный для
себя сервис, если сделают следующий запрос (SMS посылается на 684):
GETURL СловоДляПоиска
Например:
GETURL МГУ
В ответ абонент
получит все объявления о сервисах, в описании которых упоминается
название Московского Государственного Университета им.
М.В.Ломоносова.
Например, указанное выше объявление он получит в
виде:
URL-25> ОТВЕТ:
<А>Расписание занятий МГУ. SYM
FT URL http://sunsite.cs.msu.su/sms/schedule.php?request=%*%
Обратите внимание! Получив
ваше объявление в виде SMS-сообщения, абоненту достаточно удалить
начало сообщения до слова SYM и отправить обратно на
684, и БиОнЛайн настроит
для телефона абонента короткое имя для вашего сервиса (в данном
примере FT) . Это
гораздо проще, чем набирать длинную команду для настройки с
телефона.
При желании можно также написать персональный вопрос
автору сервиса, начав его с буквы из угловых скобок:
А на каком факультете ты
учишься?
Параметр "?"
(знак вопроса)
Мы предлагаем вам поддержать параметр ? (знак вопроса). Имеется в
виду, что в ответ на запрос FT ? в ответе вашего
сервиса должно быть указано, что делает данный сервис и какие у него
допустимые параметры. Например вот так:
FT> Расписание электричек
"Долгопр.-Москва". Использование: FT [время]
Настройки
кириллицы
Формируйте текст ответа вашего SMS-сервиса в
кириллице, если он на русском языке. БиОнЛайн сам произведет
транслитерацию текста, если абонент не сообщил нам, что его телефон
поддерживает отображение кириллицы.
Внимание!
Если абонент
объявил,
что у его телефона "русский" дисплей, то сообщения на русском языке
будут присылаться в кириллице, но тогда они будут разбиты на части
по 70 символов каждая. Если установлен латинский дисплей, то
ограничение на размер сообщения - 160 символов. Исключение
составляют некоторые модели телефонов, для которых реализована
склейка сообщений.
Авторизация пользователей
Если вы
хотите предоставить свои сервисы только ограниченному кругу лиц или
вести системные логи работы абонента с сервисом, вы можете
воспользоваться специальным параметром %PID%.
В данном
параметре передается специальный уникальный код номера телефона
абонента, сделавшего запрос к вашему сервису.
Повторение значения
PID для разных номеров
невозможно. Восстановить номер телефона абонента по значению PID невозможно.
Вы
можете попросить ваших друзей сделать запрос к вашему SMS-сервису
для того, чтобы получить значение %PID% для их телефонов. В
дальнейшем вы можете предоставлять свою услугу только для таких
(заранее зафиксированных вами) значений параметра %PID%.
Пример использования:
URL http://www.host.ru/people/max/raspisanie.php?id=%PID%&pаrаm1=%*%
Обратная
транслитерация
Если вы хотите, чтобы параметры, переданные
абонентом в запросе к вашему SMS-сервису были переведены из
транслита в нормальный русский язык, то вместо команды URL используйте команду URLVOC.
Например, если
ваш сервис истолковывает сны, то наверное вы ожидаете в запросе
перечень того, что приснилось абоненту на русском языке. Если же
запрос будет, например,
вот таким:
SON drova devuwka zelenye
4elove4ki
то использование URLVOC вероятно позволит вам
получить запрос к вашему сервису с уже распознанными и корректно
переведенными на русский словами:
http://www.host.ru/people/max/son.php?param1=дрова%20девушка%20зеленые%20человечки
Иными
словами, использование URLVOC позволит вам
пользоваться механизмом обратной транслитерации от "БиОнЛайн", а не
поддерживать свой собственный.
[Home] |