СМС-команды и публикация СМС на сайтах

Технические 8 Comments »

Смс можно использовать по разному, и как частный пример - отдавать команды на запуск программ. А программы могут выполнять любые функции - например, запуск каких-то процедур, которые невозможно запланировать по cron-у (”задачнику”). А так - отправили на номер смс сервера секретную команду и программа смс-сервера запустила соответствующую программу.

И как еще один частный пример - передача смс сообщений на свой сайт для дальнейшей обработки. Это может быть какое-то голосование, опрос или просто “фишка” для посетителей сайта. Пример Вы можете наблюдать на сайте ProfiSMS.ru - посетитель сайта может отправить смс на номер смс-сервера, указав в начале текса смс код команды (например *555*). Делается это очень просто, объясню на примере именно сайта ProfiSMS.ru :
1) программа Сервер ProfiSMS получает такую “командную” смску, “разбирает ее”
2) и видя код *555* запускает программу, которая передает данные (текст смс, дату отправки, номер отправителя) в Интернет, а именно php-скрипту на сайте ProfiSMS.ru

Единственное надо понимать, что компьютер на котором работает программа Сервер ProfiSMS должен быть включен, чтобы программа работала. И этот компьютер должен иметь выход в Интернет, чтобы уже программа передачи данных в Интернет могла передать эти данные.

Т.о. можно легко расширить возможности программы Сервер ProfiSMS и автоматизировать некоторые процессы, которые до этого требовали непосредственного присутствия.

И чтобы Вам легче было сообразить как это все, разберем детально пример с публикацией смс на сайте. В программу установки ProfiSMS входит и упоминаемая выше программка передачи данных на сайт в интернет. Она называется put2site и находится в подкаталоге psmserver\ext\ . Там же расположен и файл настроек этой программки, в котором Вы можете задать адрес Вашего сайта и имя php-скрипта (программа на стороне сервера, которая обрабатывает принятые данные).

Запустите программу  Сервер ProfiSMS и перейдите на вкладку “Команды по СМС” :

смс на сайт

Здесь Вы видите, что мы задали условие - получив смс, в начале которого текст *555* будет запущена программа put2site.exe, которая находится в подкаталоге ext. Буковки “DS N TS” означают, что программа Сервер ProfiSMS передаст программе put2site параметры:
N - номер отправителя
DS - дата-время отправки смс (всегда передается в формате ДД.ММ.ГГГГ чч:мм:сс - 09.04.2009 04:50:07)
TS - текст смс (текст команды вырезается автоматически)
Неважно в каком порядке Вы укажете эти параметры - программе они передаются вначале Номер отправителя, потом Дата-Время отправки, и потом текст смс.

Смс-сервер далее спокойно продолжает свою работу, а запущенная им программа put2site - выполняет то, что положено выполнять ей. Т.е. put2site вызывает скрипт на сервере в Интернет и передает ему через GET три параметра - номер отправителя, дату-время отправки смс и текст смс.

Адрес сервера и имя скрипта настраивается через одноименный ini-файл (put2site.ini). Важно заметить, что Вы можете переименовать программу put2site как угодно, и она всегда будет искать одноименный ini-файл. Можно было и адрес сайта и имя скрипта передать через командную строчку, но в целях экономии места в командной строке я вынес это в ini-файл. Содержимое ini-файла выглядит так:

[Site]
; адрес Вашего сайта yoursire.ru
siteadr=yoursire.ru

; имя Вашего скрипта,относительно главного каталога сайта.
; рекомендуется размещать свой скрипт в отдельный каталог с секретным названием
adrscript=secrdir/yourscript.php

; т.е. полный адрес скрипта будет таким: http://yoursire.ru/secrdir/yourscript.php

Собственно с этим все должно быть понятно. Ну а сам скрипт выполняет у меня простое действие - вносит получаемые данные в таблицу БД. И как Вы заметили, сайт выполнен на движке WordPress и эта публикация смс легко вписалась в общий дизайн сайта.

И просто для иллюстрации, вот основной код php-скрипта:

$restext=’1′;
if((isset($_GET['a1']))&&(isset($_GET['a2']))&&(isset($_GET['a3'])))
{

@include_once(”sms2siteproc.php”);
$nomer=trim($_GET['a1']);
$dtsend=trim($_GET['a2']);
$txtmsg=trim($_GET['a3']);

// вызов функции отправки емайл-уведомления о новой смс
newSMS2Site($nomer,$dtsend,$txtmsg);

// это мы немного прячем номер отправителя
if (strlen($nomer)>6) {$nomer=substr_replace($nomer,’***’,strlen($nomer)-3); };

$restext=’2′;
if((strlen($nomer)>1)AND(strlen($dtsend)>18)AND(strlen($txtmsg)>0))
{
$restext=’0′;
if($dbh=db_open()){
$sql1=”INSERT INTO sms2site(nom,dtsend,txtmsg) VALUES (”;
$sql1=$sql1.”‘”.$nomer.”‘,STR_TO_DATE(’”.$dtsend.”‘,’%d.%m.%Y %H:%i:%s’), ‘”.mysql_escape_string($txtmsg).”‘)”;

if (!$sth=mysql_query($sql1)){
$restext=’3 ‘.$sql1;
};
};
};

}
echo $restext;

function newSMS2Site($nomer,$dtsend,$txtmsg){
$msgm=”Новая смс на сайте!\n\n”;
$msgm=$msgm.”Номер:               “.$nomer.”\n”;
$msgm=$msgm.”Дата-время отправки: “.$dtsend.”\n”;
$msgm=$msgm.”Текст сообщения:\n———————-\n”;
$msgm=$msgm.$txtmsg;
$msgm=$msgm.”\n———————-\n”;

MailmsgRU($msgm,”support@profisms.ru”,”support@rateam.biz”,”New sms to site!”);
}

А это основной код самой программы put2site :

procedure tophp(adrsite,adrscript,parstr:string);
var IdHTTP1: TIdHTTP;
StrResult:string;
begin
StrResult:=”;
IdHTTP1:=TIdHTTP.Create(nil);

IdHTTP1.ProxyParams.ProxyPort:=0;
IdHTTP1.ProxyParams.ProxyServer:=”;
IdHTTP1.ProxyParams.BasicAuthentication:=false;
IdHTTP1.ProxyParams.ProxyUsername:=”;
IdHTTP1.ProxyParams.ProxyPassword:=”;

IdHTTP1.HandleRedirects:=True;
IdHTTP1.Host:=adrsite;
IdHTTP1.Port:=80;
IdHTTP1.RecvBufferSize:=32768;
IdHTTP1.ReadTimeout:=5000;
IdHTTP1.Request.UserAgent:=’Mozilla/5.0 (compatible; ProfiSMS.ru)’;
IdHTTP1.ProtocolVersion:=pv1_0;
try
StrResult:=IdHTTP1.Get(adrsite+’/'+adrscript+’?'+parstr);
except
end;
IdHTTP1.Destroy;
writeln(StrResult);
end;

begin
adrsite:=”; parstr:=”; adrscript:=”;

if ParamCount >0 then
begin
NameINI:=Application.ExeName;
delete(NameINI,length(NameINI)-length(ExtractFileExt(NameINI))+1,100);
loadini(NameINI+’.ini’);

for i:=1 to ParamCount do
if pos(’N=’,UpperCase(ParamStr(i)))=1 then
begin  nomer:=copy(ParamStr(i),3,length(ParamStr(i))-2);
end else
if pos(’DS=’,UpperCase(ParamStr(i)))=1 then
begin  ds:=copy(ParamStr(i),4,length(ParamStr(i))-3);
end else
if pos(’TS=’,UpperCase(ParamStr(i)))=1 then
begin  msgtxt:=copy(ParamStr(i),4,length(ParamStr(i))-3);
end;
end;

if pos(’http://’,adrsite)=0 then adrsite:=’http://’+adrsite;
parstr:=parstr+’a1=’+UrlEncode(nomer)+’&a2=’+UrlEncode(ds)+’&a3=’+UrlEncode(msgtxt);
if (length(adrsite)*length(parstr)*length(adrscript)>0) then tophp(adrsite,adrscript,parstr);
end.

Этих кусков исходников достаточно, чтобы по-быстрому написать и свою программу передачи данных в Интернет и скрипт приема этих данных на сайт.

Примеры

Новости 34 Comments »

Программа это всего лишь программа, это лишь инструмент. Прежде всего интересно, чем программа может быть полезна именно Вам!

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

Общение со знакомыми.
Вы много времени проводите у компьютера (дома, в офисе)? Тогда Вы знаете что такое “Аська”. Но Ваши-то друзья и знакомые не “висят” постоянно в он-лайне, вот и приходится иногда вручную набирать смски на своем сотовом. Да безусловно, можно скинуть смску через сайт оператора или из той же Аськи - но Вы уверены, что эти смски дойдут? Сами подумайте, почему за смску, которую Вы отправляете с сотового, Вы платите до 1 рубля, а через сайт оператора это бесплатно? Такие смс имеют разные приоритеты. Вы можете сами исследовать этот вопрос, задав его соответствующим специалистам операторов.
И если Вы часто пишите смс, а также частенько поздравляете всех своих друзей и знакомых с праздниками, то программа ProfiSMS позволит делать это быстро и удобно. Вы можете занести всех своих друзей, знакомых, коллег по работе и т.д. в справочник, разделить их по группам и одним “кликом” поздравить, например с первомаем, 200-300 человек!

Оповещение сотрудников фирмы.
Реальная ситуация - небольшая фирма, в офисе работает несколько менеджеров, вне офиса работает основная часть сотрудников. Для координации работы, менеджерам из офиса приходится постоянно поддерживать связь с другими сотрудниками - естественно это можно сделать только с помощью мобильной связи. И зачастую достаточно просто сказать пару слов вроде “груз там-то там-то”, “все в порядке”, “нахожусь там-то там-то”. И часто менеджеры именно по смс скидывают какие-то адреса  или еще какие-то данные сотрудникам вне офиса. Потому что на слух не всегда можно понять верно, да и  у сотрудника вне офиса не всегда есть возможность записать, что говорят по телефону.
Т.о. на один из компьютеров ставится программа Сервер ProfiSMS и база данных Firebird, подсоединяется обычный сотовый телефон и выбирается специальный тариф оператора с минимальной ценой смс. А на компьютеры менеджеров ставится программа Клиент ProfiSMS.
И происходит экономия времени менеджеров, а значит они больше приносят фирме прибыли. И дополнительно экономятся деньги на стоимости мобильной связи. А также это дополнительный контроль работы сотрудников, т.к. все записывается в БД, а удалить из нее  принятые-отправленные смс может только администратор БД.

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

Реальный пример - у Вас магазин
, и даже внедрена дисконтная система по собственным пластиковым картам. Да это удобно - клиент имеет скидку. Но это не ново, карточные системы есть если не у всех, то у многих, и это уже не является каким-то особенным конкурентным преимуществом. Да и магазины сейчас стоят друг напротив друга, и даже товары в примерно одном ассортименте. Так как же “заставить”, как же сделать так, чтобы клиент зашел именно в Ваш магазин и принес прибыль именно Вам? Реклама и еще раз реклама - она двигатель торговли. Но реклама нестандартная. Предлагаем Вам информировать клиента по смс о том, что представляет для него интерес. Как это выглядит?

Решение. На основе анализа покупок клиента (это Вам позволит сделать Ваша карточная система), Вы можете оценить в каких товарах клиент более всего заинтересован, в каких менее. Далее, Вы импортируете список клиентов в базу данных программы ProfiSMS - это опять же поможет Ваша карточная система, у Вас есть и ФИО клиента и наверняка и его номер сотового, и возможно еще какие-то данные. А далее, Вы уже можете на основе предварительной сортировки по тем же товарным группам, делать смс рассылки своим клиентам о скидках на товары, об различных акциях и т.п. И Вы можете максимально персонализировать эти смс, например “Ув.Иван Иванович, с 10 по 17 апреля у нас скидки на автозапчасти Toyota. Автомир, ул.Ленина 2” или “Ув.Татьяна! У нас новое поступление от Роше. Галатея, ул.Мира 5“. При этом, поскольку смс оповещение это относительно новая “фишка” , то Ваши клиенты будут звонить на номер с которого пришла смс - поставьте переадресацию на свой офисный номер и вот еще возможность пообщаться со своим клиентом. И естественно, Ваш клиент поделится этой новостью и со своими знакомыми - это бесплатная Вам реклама.

Т.о. Вы будете намного ближе к клиенту, чем конкуренты использующие только стандартные рекламные источники - ТВ, пресса, уличная реклама и т.д. С помощью смс Вы одновременно и оповещаете много клиентов, но при этом это именно целевая аудитория. И Вы обращаетесь индивидуально к каждому - по степени воздействия это намного превосходит просто “безадресную” рекламу в прессе или на ТВ. А по расходам смс маркетинг на порядки дешевле.

Еще реальный пример - агентства недвижимости (сектор аренда). Сейчас много людей снимает и сдает квартиры. Рассмотрим с точки зрения того, кто хочет снять жилье в аренду. Сделать это самостоятельно очень и очень сложно - во всех газетах только объявления от агентств, на “каждом столбе” снова одни агентства и найти какой-то вариант самостоятельно можно либо через знакомых, либо должно очень повезти. И тогда человек звонит сперва в одно агентство - ему начинают подбирать варианты, и этот же человек через некоторое время звонит еще в 2-3-4 агентства, чтобы все было поскорее. И ему звонят агенты, предлагая все подряд - что ему надо и что абсолютно не надо. От этого клиент становится раздраженным, не берет трубку и потихоньку “звереет”. Так продолжается несколько дней, иногда клиент едет и смотрит “обалденно хороший вариант” как заявляет агент, и посмотрев, клиент готов “съесть агента живьем”. Конечно не все агентства и агенты такие никудышные, но этот рынок привлекает кажущимися “легкими” деньгами - а страдает и клиент и порядочные агенты и агентства.

Предлагаем такое решение. Раз круг клиентов и круг агентов пересекается многократно, т.е. один клиент может искать себе вариант аренды через много агентств, то понятно, что выиграет эту гонку (т.е. получит прибыль, а возможно и постоянного клиента, а через него и других клиентов по рекомендации довольного клиента) то агентство, которое успеет предложить клиенту вариант быстрее, больше вариантов и “достучаться” до него.
Соответственно - клиент звонит в офис агентства, клиента сразу же опрашивают ФИО, телефон (м.б. что-то еще), какие варианты его интересуют и прямо в процессе опроса это заносится в базу данных ProfiSMS. Редко когда менеджер может предложить вариант сразу, обычно надо время на подбор вариантов.  И клиент уведомляется менеджером, что он будет подписан на смс оповещения по всем подходящим вариантам. Т.о. в базу заносятся новые клиенты.
И как только появляется новый свежий вариант для аренды - менеджер делает подборку клиентов из заинтересованных групп и делает смс-рассылку. И при этом менеджер может сделать рассылку, например на 200 заинтересованных клиентов - а сколько времени ему потребовалось бы, чтобы предложить этот вариант хотя бы пяти клиентам? Ведь попробуй до них дозвонись - то занято, то трубку не берут! А еще позвонишь, так недовольны…. Так естественно - Вам бы через каждый час звонили, отвлекали и предлагали зачастую совсем не то.
И помимо оповещения клиентов, можно скидывать смс и своим агентам - т.к. никто в основном в офисе не сидит. И все агенты Вашего офиса будут в курсе новых вариантов. Что соответственно позволит агентству в целом получать больше прибыли.

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

И в завершение. Вы взглянули на эти несколько примеров. Вроде и неплохо, да все - хорошо. Но возникает вопрос - а во что мне это обойдется? Ведь смс стоит денег.  Не переживайте, есть у операторов специальные тарифы, где цена смс от 5 копеек, средняя же цена смс по России на уровне 0.4 рубля, т.е. 40 копеек. Т.е. допустим информирование 1000 целевых клиентов, обойдется в среднем в 400 рублей. А во сколько обходится информирование этих же 1000 целевых клиентов по рекламе через ТВ или прессу? И ведь речь идет, что надо именно тех самых 1000 клиентов, а не просто 1000 любых человек. И сколько прибыли принесет хотя бы 10% отклик на целевые смс.

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

.
Подписка на новости по RSS Вход