Отправка SMS

Обсуждение CMS Made Simple в России.

Moderators: iturbay, wdwp

Post Reply
palaum
Forum Members
Forum Members
Posts: 63
Joined: Tue Feb 02, 2010 10:46 am

Отправка SMS

Post by palaum »

Кто-нибудь пробовал реализовать отправку SMS зарегистрированным пользователям?

При чем это может быть как и рассылка, запущенная вручную, так и напоминание, исходя из имеющих данных о пользователе (например, он записан на семинар, о котором следует за день напомнить).
Last edited by palaum on Tue May 28, 2013 11:31 am, edited 1 time in total.
User avatar
vaflan
Forum Members
Forum Members
Posts: 18
Joined: Mon Feb 11, 2013 3:05 pm

Re: Отправка SMS зарегистрированным пользователям

Post by vaflan »

Делать, то делали... но надо понимать что это очень уникальные модули и надо знать с какой смс системой работать. Так как их много и все разные (API). Так же надо знать что каждую смс надо оплачивать со своего кошелька.
artbe

Re: Отправка SMS зарегистрированным пользователям

Post by artbe »

Тоже интересна данная тематика :) особенно при заказе товаров. Из всего существующего нарыл только -

Code: Select all

 cgsms модуль
Устанавливать так и не решился. Кто-нибудь пользовался данным модулем, может что подскажет?
palaum
Forum Members
Forum Members
Posts: 63
Joined: Tue Feb 02, 2010 10:46 am

Re: Отправка SMS зарегистрированным пользователям

Post by palaum »

vaflan wrote:Делать, то делали... но надо понимать что это очень уникальные модули и надо знать с какой смс системой работать. Так как их много и все разные (API). Так же надо знать что каждую смс надо оплачивать со своего кошелька.
Да мне в принципе без разницы какой сервис, цены на смс более менее везде одинаковые, мне главное сама реализация, просто не хочется городить свой велосипед.
palaum
Forum Members
Forum Members
Posts: 63
Joined: Tue Feb 02, 2010 10:46 am

Re: Отправка SMS зарегистрированным пользователям

Post by palaum »

Немного посерфив, нашел сервисы рассылки смс, которые имеют, так сказать, почтовый API (email2sms).

То есть на сайте можно сделать форму обратной связи, которая будет отправлять данные на определенный ящик, а сервис рассылки, приняв письмо сделает отправку соответствующих смс, при этом есть даже параметр, который позволяет отложить отправку, а значит можно уже интересные штуки делать, имея минимальный набор инструментов на самом сайте.
artbe

Re: Отправка SMS зарегистрированным пользователям

Post by artbe »

palaum wrote:Немного посерфив, нашел сервисы рассылки смс, которые имеют, так сказать, почтовый API (email2sms).

То есть на сайте можно сделать форму обратной связи, которая будет отправлять данные на определенный ящик, а сервис рассылки, приняв письмо сделает отправку соответствующих смс, при этом есть даже параметр, который позволяет отложить отправку, а значит можно уже интересные штуки делать, имея минимальный набор инструментов на самом сайте.

palaum поделись пожалуйста этими сервисами. Благодарю.
palaum
Forum Members
Forum Members
Posts: 63
Joined: Tue Feb 02, 2010 10:46 am

Re: Отправка SMS зарегистрированным пользователям

Post by palaum »

Погуглите email2sms, сервисов много, вот к примеру, есть такой — http://kompeito.ru/email2sms-api/
palaum
Forum Members
Forum Members
Posts: 63
Joined: Tue Feb 02, 2010 10:46 am

Re: Отправка SMS

Post by palaum »

Я подправил название топика, теперь просто — Отправка SMS

Раскроем данную тему.

Для начала нам потребуется зарегистрироваться на sms.ru (ссылка реферальная, буду рад если зарегистрируетесь по ней, за наводку на сервис спасибо artbe)

Данный сервис позволит отправлять нам смс по приемлемым ценам, а смс на свой номер будут бесплатными (не более 60 одиночных смс в сутки, 153-160 латинских символов или 67-70 русских в одной смске).

Для отправки смс создадим пользовательский тег (UDT) с названием — send_sms:

Code: Select all

/* ниже переменная, ожидающая ключ апи, если не указано, то использует ключ, который стоит по-умолчанию. Сам ключ смотрите у себя в личном кабинете раздел «Программистам» —> «sms/send» */
$apikey = isset($params['apikey']) ? $params['apikey'] : 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx';

/* далее переменная, ожидающая номер телефон, по-умолчанию указываем свой номер (также можно указывать несколько номеров через запятую) */
$phone = isset($params['phone']) ? $params['phone'] : '79210000000';

/* ниже переменная, ожидающая текст смс, по-умолчанию будет отправлено Hello */
$text = isset($params['text']) ? $params['text'] : 'Hello';

/* далее идет отправка смс с использование введенных переменных */
$body=file_get_contents("http://sms.ru/sms/send?api_id=".$apikey."&to=".$phone."&text=".urlencode($text));

/* следующая строка закомментирована, но ее можно использовать для отладки и выводить ответ сервера на запрос отправки смс */
#print $body;
Теперь можем использовать наш тег для отправки смс, например, можем использовать его для форм заказа.

Для чего идем в конструктор форм (FormBuilder), открываем требуемую форму и переходи во вкладку «Шаблон отправки формы». Предположи, что у нас в форме есть поля «Номер заказа», «Телефон» и «Имя заказчика», и мы дали этим полям соответствующие алиасы при добавлении их в форму: {$ordernum}, {$phone} и {$name}

И чтобы отправить смс нужно в шаблон вставить следующее:

Code: Select all

{* ниже создаем переменную, куда помещаем данные для отправки админу, \n — это символ перевода строки *}
{$foradmin = "`$ordernum`\n`$phone`\n`$name`"}

{* а затем данные для пользователя *}
{$foruser = "Ваш заказ №`$ordernum`\nСпасибо!"}

{* отправляем смс админу и при этом обрезаем ее до 67 символов, чтобы смска на свой номер была бесплатной *}
{send_sms text="`$foradmin|truncate:67:""`"}

{* теперь отправляем смс пользователю, не забудьте, что номер должен быть в международном формате и только цифрами, поэтому заранее предусмотрите корректный ввод данных пользователем в форму *}
{send_sms phone="`$phone`" text="`$foruser`"}
Все! Теперь в случае удачного заполнения формы и отправки ее данных будут отправлены и смски.

Дополню, что ваш сайт должен быть в кодировке utf-8, если это не так, то в теге пользователя нужно будет сделать перекодирование текста сообщения, например, с windows-1251 на utf-8 это будет так:

Code: Select all

$body=file_get_contents("http://sms.ru/sms/send?api_id=".$apikey."&to=".$phone."&text=".urlencode(iconv("windows-1251","utf-8",$text)));
Post Reply

Return to “Russian - русский”