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

Оповещение по sms при покупке в 1 клик


Перейти к решению Решено insider,

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

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

Для я этого заходим в ajax/oneclick.php

 

Находим:

	// отправляем письмо администратору
	$simpla->notify->email_order_admin($order_id);	

Вставляем ниже:

	// Отправка смс уведомления пользователю
	$simpla->smssend->send($order->phone, 'Заказ на имясайта.ру принят.');

	// Отправка смс уведомления администратору о поступившем заказе 
	$simpla->smssend->send('+номерадмина', 'На имясайта.ру поступил быстрый заказ');

Как передать параметры суммы и номер заказа админу? 

'.$order->id.' и '.$order->total_price.' не работают

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

Вот мой код: 

<?php
	session_start();
	chdir('..');
	require_once('api/Simpla.php');
	$simpla = new Simpla();
	
	$variant_id = $simpla->request->post('variant', 'integer');
	$amount = $simpla->request->post('amount', 'integer');

	$order = new StdClass;
	$order->name = $simpla->request->post('name', 'string');
	$order->phone = $simpla->request->post('phone', 'string');
	
	
	// добавляем заказ
	$order_id = $simpla->orders->add_order($order);
	
	// добавляем товар в заказ
	$simpla->orders->add_purchase(array('order_id'=>$order_id, 'variant_id'=>intval($variant_id), 'amount'=>intval($amount)));

	// отправляем письмо администратору
	$simpla->notify->email_order_admin($order_id);	

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

	// Отправка смс уведомления администратору о поступившем заказе 
	$simpla->smssend->send('+мойномер', 'На мойсайт.ru поступил быстрый заказ №'.$order->id.' на сумму '.$order->total_price.' руб');

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

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

Я выше прикрепил переделанный мною код под Ваш запрос.

P.S. Такое чувство что люди либо не внимательны абсолютно либо им просто по приколу быть такими.

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

Я выше прикрепил переделанный мною код под Ваш запрос.

P.S. Такое чувство что люди либо не внимательны абсолютно либо им просто по приколу быть такими.

 

Я испльзовал твой код, он оказался не рабочим. Зная проблему с указанием пути при заказе в 1 клик - исправил ее. Если бы все работало достойно - поблагодарил бы. Я выложу код по ссылке с ЯД:

 

<?php

	/*
	*	author: Noxter
	*	skype:	simplacms
	*	date:	26.10.2014
	*/
	
	session_start();
	require_once('../api/Simpla.php');
	$simpla = new Simpla();
	
	$admin_phone = '+380630000000';// тут нужно указать номер администратора
	
	$variant_id = $simpla->request->post('variant', 'integer');
	$amount = $simpla->request->post('amount', 'integer');

	$order = new StdClass;
	$order->name = $simpla->request->post('name', 'string');
	$order->phone = $simpla->request->post('phone', 'string');
	
	
	// Добавляем заказ
	$order_id = $simpla->orders->add_order($order);
	
	// Выбираем заказ
	$order = $this->orders->get_order($order_id);
	
	// Добавляем товар в заказ
	$simpla->orders->add_purchase(array('order_id'=>$order_id, 'variant_id'=>intval($variant_id), 'amount'=>intval($amount)));

	// Отправляем письмо администратору
	$simpla->notify->email_order_admin($order_id);
	
	// Отправка SMS уведомления пользователю
	$simpla->smssend->send($order->phone, 'Заказ №'.$order->id.' принят.');

	// Отправка SMS уведомления администратору о поступившем заказе 
	$simpla->smssend->send($admin_phone, 'Вам поступил быстрый заказ');
Ссылка на сообщение
Поделиться на другие сайты

Допустил ошибку в коде.

Вместо переменной $this используйте переменную $simpla.

В итоге должно быть так:

<?php

	/*
	*	author: Noxter
	*	skype:	simplacms
	*	date:	26.10.2014
	*/
	
	session_start();
	require_once('../api/Simpla.php');
	$simpla = new Simpla();
	
	$admin_phone = '+380630000000';// тут нужно указать номер администратора
	
	$variant_id = $simpla->request->post('variant', 'integer');
	$amount = $simpla->request->post('amount', 'integer');

	$order = new StdClass;
	$order->name = $simpla->request->post('name', 'string');
	$order->phone = $simpla->request->post('phone', 'string');
	
	
	// Добавляем заказ
	$order_id = $simpla->orders->add_order($order);
	
	// Выбираем заказ
	$order = $simpla->orders->get_order($order_id);
	
	// Добавляем товар в заказ
	$simpla->orders->add_purchase(array('order_id'=>$order_id, 'variant_id'=>intval($variant_id), 'amount'=>intval($amount)));

	// Отправляем письмо администратору
	$simpla->notify->email_order_admin($order_id);
	
	// Отправка SMS уведомления пользователю
	$simpla->smssend->send($order->phone, 'Заказ №'.$order->id.' принят.');

	// Отправка SMS уведомления администратору о поступившем заказе 
	$simpla->smssend->send($admin_phone, 'Вам поступил быстрый заказ');
Ссылка на сообщение
Поделиться на другие сайты

 

Допустил ошибку в коде.

Вместо переменной $this используйте переменную $simpla.

В итоге должно быть так:

<?php

	/*
	*	author: Noxter
	*	skype:	simplacms
	*	date:	26.10.2014
	*/
	
	session_start();
	require_once('../api/Simpla.php');
	$simpla = new Simpla();
	
	$admin_phone = '+380630000000';// тут нужно указать номер администратора
	
	$variant_id = $simpla->request->post('variant', 'integer');
	$amount = $simpla->request->post('amount', 'integer');

	$order = new StdClass;
	$order->name = $simpla->request->post('name', 'string');
	$order->phone = $simpla->request->post('phone', 'string');
	
	
	// Добавляем заказ
	$order_id = $simpla->orders->add_order($order);
	
	// Выбираем заказ
	$order = $simpla->orders->get_order($order_id);
	
	// Добавляем товар в заказ
	$simpla->orders->add_purchase(array('order_id'=>$order_id, 'variant_id'=>intval($variant_id), 'amount'=>intval($amount)));

	// Отправляем письмо администратору
	$simpla->notify->email_order_admin($order_id);
	
	// Отправка SMS уведомления пользователю
	$simpla->smssend->send($order->phone, 'Заказ №'.$order->id.' принят.');

	// Отправка SMS уведомления администратору о поступившем заказе 
	$simpla->smssend->send($admin_phone, 'Вам поступил быстрый заказ');

 

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

// Отправка смс уведомления администратору о поступившем заказе 
	$simpla->smssend->send('+номерадмина', 'На мойсайт.ru поступил быстрый заказ №'.$order->id.' на сумму '.$order->total_price.' руб');

Можно ли вывести $order->total_price ?

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

 

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

// Отправка смс уведомления администратору о поступившем заказе$simpla->smssend->send('+номерадмина', 'На мойсайт.ru поступил быстрый заказ №'.$order->id.' на сумму '.$order->total_price.' руб');

 

 

 

 

Можно ли вывести $order->total_price ?

Да можно, теперь в переменной $order доступны все поля и их значения из таблицы s_orders базы данных.

Попробуйте заменить:

// Выбираем заказ
$order = $simpla->orders->get_order($order_id); 

на вот это:

// Выбираем заказ
$o = $simpla->orders->get_order($order_id);

 

И далее:

$simpla->smssend->send('+номерадмина', 'На мойсайт.ru поступил быстрый заказ №'.$o->id.' на сумму '.$o->total_price.' руб');
Ссылка на сообщение
Поделиться на другие сайты

Фрагменты

 

    // Выбираем заказ
    $order = $simpla->orders->get_order($order_id);
    
    
// Добавляем товар в заказ
    $simpla->orders->add_purchase(array('order_id'=>$order_id, 'variant_id'=>intval($variant_id), 'amount'=>intval($amount)));

 

надо переставить местами...

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

Фрагменты

 

// Выбираем заказ

$order = $simpla->orders->get_order($order_id);

 

// Добавляем товар в заказ

$simpla->orders->add_purchase(array('order_id'=>$order_id, 'variant_id'=>intval($variant_id), 'amount'=>intval($amount)));

 

надо переставить местами...

Точно. Спасибо, мой недочет.
Ссылка на сообщение
Поделиться на другие сайты
  • Решение

Всем спасибо! Рабочий код:

 

<?php
	session_start();
	chdir('..');
	require_once('api/Simpla.php');
	$simpla = new Simpla();
	
	$variant_id = $simpla->request->post('variant', 'integer');
	$amount = $simpla->request->post('amount', 'integer');

	$order = new StdClass;
	$order->name = $simpla->request->post('name', 'string');
	$order->phone = $simpla->request->post('phone', 'string');
	
	
	// добавляем заказ
	$order_id = $simpla->orders->add_order($order);
	
	

	// добавляем товар в заказ
	$simpla->orders->add_purchase(array('order_id'=>$order_id, 'variant_id'=>intval($variant_id), 'amount'=>intval($amount)));


	// Выбираем заказ
	$order = $simpla->orders->get_order($order_id);


	// отправляем письмо администратору
	$simpla->notify->email_order_admin($order_id);	

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

	// Отправка смс уведомления администратору о поступившем заказе 
	$simpla->smssend->send('+номерадмина', 'На сайт.ru поступил быстрый заказ №'.$order->id.' на сумму '.$order->total_price.' руб');
Ссылка на сообщение
Поделиться на другие сайты

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

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

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

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

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

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

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

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

Загрузка...
×
×
  • Создать...