Главная Как отправлять уникальный промокод при помощи Convead в Битрикс

Как отправлять уникальный промокод при помощи Convead в Битрикс

Пошаговая инструкция:

1. Создание купона в bitrix с необходимыми настройками.

Зайдем в админ панель Битрикса в раздел » Маркетинг > Товарный маркетинг > Скидки на товар > Купоны скидок на товар > Добавить купон«.

В нем создадим эталонный купон (промокод), он будет клонироваться при каждой заявке от посетителя. В настройках купона указываем » Купон на один раз«, что бы исключить повторное использование купона.

Запомним ID нашего купона (в нашем случае ID: 1).

2. Создание страницы со скриптом генерации купона.

Зайдем в админ панели битрикса в раздел » Контент > Файлы и папки > Добавить > Файл«

В корне сайта создадим файл, например » /coupon.php«. Укажем содержимое файла (не забываем подставить ID: 2 эталонного купона):

<?
require($_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/main/include/prolog_before.php');
 
class PaiCouponGeneration{
    var $DISCOUNT_ID = 1;  // идентификатор скидки
    var $PERIOD = '2 days'; // период активности купона  если нужен будет 1 день - заменить на '1 day'
    function __construct()
    {
        \\Bitrix\\Main\\Loader::includeModule('sale');
    }
    function GenerateCoupon(){
        if(intval($this->DISCOUNT_ID)>0){
            $activeFrom = new \\Bitrix\\Main\\Type\\DateTime();
            $activeTo = new \\Bitrix\\Main\\Type\\DateTime();
            $activeTo = $activeTo->add($this->PERIOD);
            $coupon = \\Bitrix\\Sale\\Internals\\DiscountCouponTable::generateCoupon(true);
            $addDb = \\Bitrix\\Sale\\Internals\\DiscountCouponTable::add(array(
                'DISCOUNT_ID' => $this->DISCOUNT_ID,
                'COUPON' => $coupon,
                'TYPE' => \\Bitrix\\Sale\\Internals\\DiscountCouponTable::TYPE_ONE_ORDER,
                'ACTIVE_FROM' => $activeFrom,
                'ACTIVE_TO' => $activeTo,
                'MAX_USE' => 1,
                'USER_ID' => 0,
                'DESCRIPTION' => ''
            ));
            if ($addDb->isSuccess())
            {
                echo $coupon;
            } else {
                echo $addDb->getErrorMessages();
            }
        }
    }
}
$coupon = new PaiCouponGeneration();
$coupon->GenerateCoupon();
?>

Теперь при обращении к странице http://your.site/coupon.php будет генерироваться новый купон.

3. Создадим новое событие в Convead.

В Convead в разделе «Настройка» «События на сайте» нажмем на кнопку «Новое событие».

Откроется окно для создания нового события.

Вводим любое название, ключ и описание. Css-селектор заполнять не обязательно. В примере выше, в качестве ключа указали «send_coupone». Вы можете указать то же самое.

Подробнее о том, как заполнить поля можно посмотреть в этой статье .

4. Создадим новое поле для визитора.

В разделе «Настройка» — «Индивидуальные поля» нажимаем кнопку справа вверху «Добавить дополнительное поле».
Добавим имя полю » Промо-код«, ключ «code«. В этом поле будет храниться купон (промокод), который будет отправлен в Конвид для данного визитора.

5. Создать виджет с предложением ввести e-mail адрес для получения промо-кода.

Виджеты создаются в разделе » Виджеты«. Кнопка «Добавить виджет«. На шаге «Контент» создания виджета нам необходимо добавить в виджет поле ввода email и кнопку отправки.

В настройках кнопки нужно указать » Действие при нажатии: Выполнить JavaScript» и указать скрипт:

ConveadReqwest({
  url: '/coupon.php',
  crossOrigin: true,
  async: true,
  success: function(ret) {
    convead('event', 'custom', {key: 'send_coupone'}, {code: ret});
  }
});

6. Создание автоматической рассылки.

Перейдем в раздел » Рассылки«. Нажмем «Добавить рассылку«. На шаге «Контент» создания рассылки нам необходимо подставить в текст пользовательское поле «Промо-код«.

На следующем шаге » Получатели» необходимо настроить отправку письма как автоматическую по пользовательскому событию «Отправка купона» и запустить рассылку.

Готово! Теперь покупатель после отправки виджета получит на e-mail письмо с кодом купона, который может указать при покупке и получить скидку.