Перейти к содержанию
Официальный форум поддержки Simpla

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


Рекомендуемые сообщения

Предлагаю вашему вниманию бесплатный модуль 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

 

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

 

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

 

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

Smssend.php

CartView.php

OrderAdmin.php

Ссылка на сообщение
Поделиться на другие сайты
  • Ответов 238
  • Дата создания
  • Последний ответ

Лучшие авторы в теме

Лучшие авторы в теме

Популярные посты

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

Изображения в теме

Супер!

 

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

 

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

Ссылка на сообщение
Поделиться на другие сайты

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

Ссылка на сообщение
Поделиться на другие сайты

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

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

 

Ссылка на сообщение
Поделиться на другие сайты

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

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

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

Ссылка на сообщение
Поделиться на другие сайты

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

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

 

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

Ссылка на сообщение
Поделиться на другие сайты

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

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

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

+79011111111

у вас

992936008855

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

Ссылка на сообщение
Поделиться на другие сайты

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

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

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

Ссылка на сообщение
Поделиться на другие сайты

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

 

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

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

2. api/oders.php

3. CartView.php

4. OderAdmin.php

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

Ссылка на сообщение
Поделиться на другие сайты
  • 2 недели спустя...

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

 

 

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

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

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

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

 

 

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

simpla/orderadmin.php

 

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

Ссылка на сообщение
Поделиться на другие сайты

 

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

 

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

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

Ссылка на сообщение
Поделиться на другие сайты
  • 1 месяц спустя...

Подключил, смс администратору приходит. Но перестал направлять на страницу заказа /ordrer

Ни каких изменений кроме предложенных не вносил

Что это может быть?

 

Происходит сразу после действия отправки сообщения администратору. убираю эту строку с кодом отправки - и все нормально.

Хотя сообщение отправляется нормально..

 

Warning: Cannot modify header information - headers already sent by (output started at /home/u17214/simpla.iloveprinter.ru/www/api/smssend.php:1) in /home/u17214/simpla.iloveprinter.ru/www/view/CartView.php on line 127

Warning: Cannot modify header information - headers already sent by (output started at /home/u17214/simpla.iloveprinter.ru/www/api/smssend.php:1) in /home/u17214/simpla.iloveprinter.ru/www/index.php on line 33

Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...

×
×
  • Создать...