Мы в социальных сетях:
 
8 800 200 56 57 Звонок по России бесплатный
Главная Интеграция с Joomla + VirtueMart, отправка СМС

Интеграция, отправка СМС

Цель интегрировать СМС оповещения в свой интернет-магазин, работающий на бесплатной связке Joomla + VirtueMart. Задача была следующая – чтобы сразу после заказа клиенту приходила одобряющая СМСка, что его заказ принят и скоро будет обработан, а администратору магазина сигнализировать о новом заказе.

Итак, что для этого нужно сделать:

  1. Качаем наш PHP-класс, реализующий транспортный протокол для отправки СМС-сообщений. (для работы нашего PHP-класса требуется PHP 5 и расширение curl)
  2. Создаем в корне вашего сайта папку smsapi
  3. Распаковываем содержимое загруженного архива в только что созданную папку smsapi
  4. Открываем файл config.php и проводим необходимые настройки: HTTPS_LOGIN - ваш логин для работы через транспорт, HTTPS_PASSWORD – ваш пароль (обычно совпадают с теми, что вы указали при регистрации на нашем сайте. Можно изменить их в настройках личного кабинета). HTTPS_CHARSET – если скрипты на вашем сайте сохранены в кодировке utf-8, не меняем значение HTTPS_CHARSET, если же они сохранены в кодировке Windows-1251, ставим cp1251. Если ваш сервер не поддерживает HTTPS-запросы, поставьте значение флажка USE_HTTPS = 0.
  5. Теперь требуется модифицировать файл VirtueMart, чтобы он теперь отправлял не только E-mail уведомления, но и СМС. Для этого откройте для редактирования файл, находящийся по адресу administrator/components/com_virtuemart/classes/ps_checkout.php
  6. Находим функцию email_receipt($order_id).
  7. После объявления глобальных переменных global $sess, $ps_product, $VM_LANG … ; вставим наш код, для отправки СМС сообщений:


require_once($_SERVER['DOCUMENT_ROOT'] ."/smsapi/transport.php");
$api = new Transport();

//Отправляем СМС администрации ресурса
$administrationPhone = "89231113344"; //Ваш номер телефона!
$params = array("text" => "Поступил новый заказ.");
$phones = array($administrationPhone);
$send = $api->send($params,$phones);

//Отправляем СМС клиенту
$dbu = new ps_DB;
$q = "SELECT * FROM #__{vm}_order_user_info WHERE order_id='$order_id'";
$dbu->query($q);
$dbu->next_record();
$params_shopper = array("text" => "Ваш заказ поступил в обработку. В скором времени наши
менеджеры с вами свяжутся!");
$phones_shopper = array($dbu->f("phone_1"));
$send_shopper = $api->send($params_shopper,$phones_shopper);


Вот и все Сохраняем и пробуем!

Чтобы вставить СМС оповещение при смене статуса заказа.

Для этого вставьте вот такой код в файлик /administrator/components/com_virtuemart/classes/ps_order.php , в функцию order_status_update

 

if ($d['order_status'] == 'R'){

$path = "путь/до/transport.php";

if (file_exists($path)) {

require_once($path);

$api = new Transport();

$dbu = new ps_DB;

$q = "SELECT * FROM #__{vm}_order_user_info WHERE order_id='".$d['order_id']."'";

$dbu->query($q);

$dbu->next_record();

$params_send = array("text" => "Заказ #".$d['order_id']." оплачен!");

$adminPhone = "Номер админа";

$phones = array($adminPhone, $dbu->f("phone_1"));

$send = $api->send($params_send,$phones);

}

}

Вопрос: Как отправить СМС при смене статуса Заказа?

____________

Ответ: Нужно найти файл "ps_order.php" (/administrator/components/com_virtuemart/classes/ps_order.php) и добавить следующий код в функцию notify_customer прямо перед строчкой "/* Send the email */":



/* Отправляем смс о смене статуса заказа */

require_once($_SERVER['DOCUMENT_ROOT'] ."/smsapi/transport.php");
$api = new Transport();
$dbu = new ps_DB;
$adminPhone = "номер администратора";
$q = "SELECT * FROM #__{vm}_order_user_info WHERE order_id='".$d['order_id']."'";
$dbu->query($q);
$dbu->next_record();

/* Отправка смс покупателю */

$params_send = array("text" => $db->f("first_name").", статус Вашего заказа №".$d['order_id']." изменен
на«".$db->f("order_status_name")."».");
$phones = array($dbu->f("phone_1"));
$send = $api->send($params_send,$phones);

/* Оправка смс администратору */

$params_send = array("text" => "Статус заказа №".$d['order_id']." изменен на «".$db->
f("order_status_name")."».");
$phones = array($adminPhone);
$send = $api->send($params_send,$phones);
/*}

/* Конец отправки смс*/

p.s. Не забудьте указать номер администратора (например, +79121112233) и путь до "transport.php" (есть Вы создали папку "smsapi" в корневом каталоге и положили в нее "transport.php", то этот путь будет выглядеть так: "../smsapi/transport.php" - актуально для файла "ps_order.php", для других файлов этот путь может отличаться).

 

VirtueMart 2.0 + Joomla 2.5 - СМС оповещение о новом заказе администратора магазина и СМС информирование клиента о смене статуса заказа.

Плагин для отправки СМС на Virtuemart 2 после установки, включения и настройки, позволяет отправлять СМС уведомления покупателю и продавцу об оформлении заказа в интернет-магазине на Virtuemart 2. Все настройки указываются в менеджере плагинов Вашего интернет магазина на Virtuemart 2.0.

При формировании нового заказа в интернет-магазине и после подтверждения оплаты отправляется СМС уведомление покупателю при условии, что он указал свой номер мобильного телефона. А также отправляется СМС администратору интернет-магазина, о новом заказе. Также плагин позволяет информировать покупателя о смене статуса заказа.

В менеджере плагинов (тип плагина vmpayment) рекомендуется отключить все неиспользуемые плагины оплаты.

Скачать плагин для VirtueMart 2.0

Также для организации СМС информирования администратора интернет магазина и Ваших клиентов, вы можете воспользоваться нашим Email обработчиком. Пример настройки находится здесь