Бонусная система о которой мечтали владельцы магазинов на inSales

Бонусная система о которой мечтали владельцы магазинов на inSales

Мы реализовали решение, которого давно не хватало рынку. Разработка заняла год, но результат стоил ожиданий: у нас появилась функция, которую не найти на конкурентных платформах.

Команда проекта:

  • Бэкенд и инициатива: наш партнер Дмитрий Рогалев.
  • Фронтенд: Emilius Agency.

Проблема: отсутствие гибкости

Раньше на рынке просто не было решений для сложных сценариев скидок. В существующих системах всё было ограничено: либо промокоды не поддерживали нужную функциональность, либо платформы не позволяли комбинировать разные типы скидок.

Нам нужна была система, которая работает одновременно с бонусными программами, подарочными товарами и скидками на категории. Всё в одном интерфейсе.

Что мы построили: «Внешняя скидка»

Мы создали собственный алгоритм расчёта.

Работает это так: клиент формирует корзину на сайте -> сервер получает данные -> система рассчитывает оптимальный размер скидки с учетом множества параметров и применяет её к корзине. Это не просто промокод, а сложная логика условий.

Три главные фичи

  1. Бонусы + Промокод. Обычно эти вещи взаимоисключающие. У нас они работают вместе: клиент может применить накопленные баллы и ввести промокод в одном заказе.
  2. Подарки в корзине. Редкая, но желанная функция. Когда клиент выполняет условия (например, сумма заказа), в корзину автоматически добавляется подарочный товар. Он считается отдельным элементом, но его цена уже включена в расчет скидки.
  3. Комбинирование со скидками на категории. Система позволяет давать скидку не на весь чек или конкретный товар, а на целую категорию товаров, не затрагивая остальные позиции.

Почему это сложно технически

Главная сложность — синхронизация данных на фронтенде. Скидка приходит с сервера, но чтобы корректно отобразить её в интерфейсе, нужно «поженить» данные из нескольких источников:

  • данные из основной системы inSales;
  • данные из бонусной системы;
  • сложные расчёты скидок и применённые правила.

Всё это должно работать без конфликтов. Мы реализовали на фронтенде «виртуальную корзину», которая хранит информацию о скидках и подарках, формируясь на основе ответа от сервера.

Как это выглядит на практике

  • Сценарий с подарком: Администратор настраивает правило: «Дарим стикер при заказе от 2000 рублей». Клиент добавляет товары, и как только сумма достигнута — подарок сам появляется в корзине.
  • Сценарий с категориями: Администратор устанавливает скидку 100 рублей на категорию «Соусы». Система применит вычет только к соусам, даже если в корзине лежат другие товары.

Что дальше

Бонусную систему мы запустили осенью, и она уже полноценно работает на боевых проектах.

Разработка продолжается: мы допиливаем некоторые сценарии и интеграции. Но уже сейчас наши клиенты получили инструмент, который дает реальное конкурентное преимущество и гибкость, которой нет у других.

Если вам интересна такая бонусная система, пишите мне в Телеграм: https://t.me/emillively

Начать дискуссию