Перейти к содержимому


Фото
* * * * * 8 голосов

Модуль SMS оповещения

sms

  • Чтобы отвечать, сперва войдите на форум
193 ответов в теме

#1 Sheeft

Sheeft

    Хитрый админ

  • Администратор
  • 1 280 сообщений
  • Дизайн, Программирование, Верстка, SEO
  • Версия CMS:2.x
  • Откуда:Москва

Опубликовано 20.04.2013 - 17:47

Предлагаю вашему вниманию бесплатный модуль SMS оповещения от провайдера sms.ru (ссылка реферальная, за переход буду благодарен)

 

Для установки вам понадобиться:

 

Шаг 1

 

Создать файл smssend.php в папке api cледующего содержания:

<?php
 
require_once('Simpla.php');

class smssend extends Simpla
{
	public function send($phone,$sms)
	{
	
		$ch = curl_init("http://sms.ru/sms/send");
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
		curl_setopt($ch, CURLOPT_TIMEOUT, 30);
		curl_setopt($ch, CURLOPT_POSTFIELDS, array(

		"api_id"		=>	"вводим сюда свой секретный код",
		"to"			=>	$phone,
                "partner_id"            =>    "6583",
		"text"		        =>	$sms
));
$body = curl_exec($ch);
curl_close($ch); 

return false;

	}
}

 

Не забываем заменить 

 

"api_id"        =>    "вводим сюда свой секретный код",

 

на строку со страницы смс.ру, ковычки оставляем, например:

"api_id"        =>    "55553331b-4cdd-de24-b54b-a71e5555555",

Если после отправки смс к вам приходит неразбериха меняем строку

"text"        =>    $sms

на

"text"        =>     iconv("windows-1251","utf-8",$sms)

 

 

Шаг 2
 

В файле api/simpla.php вписываем строку

  'smssend'        => 'smssend'

Примерно это выглядит так

class Simpla
{
	private $classes = array(
		'config'     => 'Config',
		'request'    => 'Request',
		'db'         => 'Database',
...
		'notify'     => 'Notify',
		'managers'   => 'Managers',
                'smssend'    => 'smssend'
	);

Не забываем про запятые. В самом конце её нет как видите.

 

Шаг 3

 

Теперь мы можем в любом месте отправить смс-ку выполнив команду

$this->smssend->send(телефон,'сообщение');

Например для уведомления администратора о поступлении нового заказа мы в файле View/CartView.php добавляем следующий код

// Отправка смс уведомления пользователю если он этого запросил
$this->smssend->send($order->phone, 'Ваш заказ №'.$order->id.' принят. На сумму '.$order->total_price.' руб. Спасибо за покупку!');
// Отправка смс уведомления администратору о поступившем заказе 
$this->smssend->send('+79150000000', 'На сайт поступил заказ №'.$order->id.' на сумму '.$order->total_price.' руб.');

Если вы хотите сделать уведомление клиенту о изменении статуса заказа вам в файл

simpla/orderadmin.php

 

Примеры всех вышеуказанных файлов есть в аттаче, смотрите, разбирайтесь, пользуйтесь. Просто скопировать файлы нельзя - работать не будет.

 

Если будут вопросы - пишите в тему или в личку.

 

Кому пригодилось - ставим лайки, говорим спасибо  ;)

Прикрепленные файлы:



#2 nwnet

nwnet
  • Пользователь
  • 328 сообщений

Опубликовано 21.04.2013 - 14:43

Супер!

 

Подскажите, а как реализовать, чтобы SMS отправлялся из админки со страницы заказа при нажатии на кнопку?



#3 Noxter

Noxter

    Simpla Developer

  • Фрилансер
  • 4 428 сообщений
  • Дизайн, Программирование, Верстка
  • Версия CMS:2.x
  • Откуда:Киев

Опубликовано 21.04.2013 - 14:59

Sheeft ты красавчек  ;)



#4 Sheeft

Sheeft

    Хитрый админ

  • Администратор
  • 1 280 сообщений
  • Дизайн, Программирование, Верстка, SEO
  • Версия CMS:2.x
  • Откуда:Москва

Опубликовано 21.04.2013 - 16:11

Супер!

 

Подскажите, а как реализовать, чтобы SMS отправлялся из админки со страницы заказа при нажатии на кнопку?

 

Текст SMS сообщения какой? Или поле для ввода? Нужно обработчик в файл OrderAdmin.php вносить на POST запрос и добавить форму



#5 DarAmal

DarAmal
  • Пользователь
  • 519 сообщений
  • Дизайн, Верстка
  • Версия CMS:2.x

Опубликовано 23.04.2013 - 09:12

а другие сервисы возможно прикрутить по этой схеме?



#6 Sheeft

Sheeft

    Хитрый админ

  • Администратор
  • 1 280 сообщений
  • Дизайн, Программирование, Верстка, SEO
  • Версия CMS:2.x
  • Откуда:Москва

Опубликовано 23.04.2013 - 10:28

Другие сервисы прикручиваються подобным образом, только с другим API, чаще всего за денюжку



#7 Proxy

Proxy
  • Пользователь
  • 11 сообщений

Опубликовано 23.04.2013 - 18:51

Здравствуйте, а не подскажите, что значит: // Отправка смс уведомления пользователю если он этого запросил ? В каком случае считается, что пользователь запросил уведомление?

Заранее спасибо!

 



#8 DarAmal

DarAmal
  • Пользователь
  • 519 сообщений
  • Дизайн, Верстка
  • Версия CMS:2.x

Опубликовано 23.04.2013 - 20:27

сделал, как описано,  но не приходит уведомление.. но если пишу в коде:

"text"        =>    iconv("windows-1251","utf-8","Привет!")
 

то сам текст "Привет" приходит после заказа на сайте.
не подскажите в чем тут загвоздка?



#9 Sheeft

Sheeft

    Хитрый админ

  • Администратор
  • 1 280 сообщений
  • Дизайн, Программирование, Верстка, SEO
  • Версия CMS:2.x
  • Откуда:Москва

Опубликовано 24.04.2013 - 14:11

Здравствуйте, а не подскажите, что значит: // Отправка смс уведомления пользователю если он этого запросил ? В каком случае считается, что пользователь запросил уведомление?

Заранее спасибо!

 

В примере файлов которые прикреплены есть условие "notice_user_sms" которое передаёться из шаблона по галочке, можно поиграться и на правильность набора номера, и прочие условия



#10 DarAmal

DarAmal
  • Пользователь
  • 519 сообщений
  • Дизайн, Верстка
  • Версия CMS:2.x

Опубликовано 24.04.2013 - 19:34

наконец нашел ))) прикрепил.

Sheeft, посмотри пожалуйста.

Прикрепленные файлы:

  • Прикрепленный файл  Smssend.php   511байт   84 раз скачано
  • Прикрепленный файл  CartView.php   6,91К   101 раз скачано


#11 Sheeft

Sheeft

    Хитрый админ

  • Администратор
  • 1 280 сообщений
  • Дизайн, Программирование, Верстка, SEO
  • Версия CMS:2.x
  • Откуда:Москва

Опубликовано 24.04.2013 - 21:33

наконец нашел ))) прикрепил.

Sheeft, посмотри пожалуйста.

формат телефона + код страны код города номер телефона

+79011111111

у вас

992936008855

приведите в международный вид и попробуйте ещё раз



#12 DarAmal

DarAmal
  • Пользователь
  • 519 сообщений
  • Дизайн, Верстка
  • Версия CMS:2.x

Опубликовано 24.04.2013 - 21:37

я пробовал и с + , т.е. +992936008855, но ничего не идет. а вот когда ставлю:

"text"        =>    iconv("windows-1251","utf-8","Привет!")

то приходит сам текст "Привет". А если редактирую текст, то уже не идет.



#13 SeregaDa

SeregaDa
  • Пользователь
  • 58 сообщений

Опубликовано 26.04.2013 - 13:59

Ничего ли не упустил? Чтобы добавить чекбокс в корзину, активизирующий функцию отправки оповещений об обновлении статуса заказа по смс, необходимо внести изменения в:

 

1. Шаблон корзины (добавить чекбокс)

2. Шаблон страницы заказа в админке (добавить чекбокс)

2. api/oders.php

3. CartView.php

4. OderAdmin.php

5. БД (добавить поле булевского типа в таблицу s_orders)



#14 Brigadir

Brigadir
  • Пользователь
  • 93 сообщений
  • Версия CMS:2.x
  • Откуда:Нижний Новгород

Опубликовано 26.04.2013 - 14:34

Какой порт использует?



#15 atpcom

atpcom
  • Пользователь
  • 1 сообщений
  • Заказчик
  • Версия CMS:2.x

Опубликовано 27.04.2013 - 04:28

Спасибо большое! Все работает!



#16 influence

influence
  • Пользователь
  • 5 сообщений

Опубликовано 07.05.2013 - 11:29

HOT HOT HOT!! Спасибо Sheeft 

один момент, при изменении статуса заказа, смска клиенту не приходит.

сам не разобрался, есть идеи?



#17 influence

influence
  • Пользователь
  • 5 сообщений

Опубликовано 07.05.2013 - 11:30

И с этой галкой и без нее не приходит смс

 

Уведомить покупателя о состоянии заказа
 
 
 
Судя по архиву сообщений sms.ru то сообщения 
 
Ваш заказ №'.$order->id.' обработан, ожидается поступление товара на склад. Вам придет оповещение.'
 
даже на сервер смсру не упало..


#18 Sheeft

Sheeft

    Хитрый админ

  • Администратор
  • 1 280 сообщений
  • Дизайн, Программирование, Верстка, SEO
  • Версия CMS:2.x
  • Откуда:Москва

Опубликовано 07.05.2013 - 12:20

HOT HOT HOT!! Спасибо Sheeft 

один момент, при изменении статуса заказа, смска клиенту не приходит.

сам не разобрался, есть идеи?

 

Если вы хотите сделать уведомление клиенту о изменении статуса заказа вам в файл


simpla/orderadmin.php

 

смотрите пример в прикрепленном файле (там есть условие для галочки принцип работы которой тут не описан, можете убрать это условие)



#19 Sheeft

Sheeft

    Хитрый админ

  • Администратор
  • 1 280 сообщений
  • Дизайн, Программирование, Верстка, SEO
  • Версия CMS:2.x
  • Откуда:Москва

Опубликовано 07.05.2013 - 12:21

И с этой галкой и без нее не приходит смс

 

 
 
 
Судя по архиву сообщений sms.ru то сообщения 
 
Ваш заказ №'.$order->id.' обработан, ожидается поступление товара на склад. Вам придет оповещение.'
 
даже на сервер смсру не упало..

Прикрепляйте файлы, посмотрим где косяк (файл шаблона из админки, файл ордерадмин)



#20 influence

influence
  • Пользователь
  • 5 сообщений

Опубликовано 08.05.2013 - 07:46

что за файл шаблона из админки я не совсем понял, этих достаточно?

Прикрепленные файлы:







Также с меткой «sms»

0 пользователей читают эту тему

0 пользователей, 0 гостей, 0 скрытых