Разработали модуль MAXMA для "1С-Битрикс"

ЗаказчикMAXMA — платформа лояльности для ритeйл-сетей.ЗадачаРазработать модуль для подключения к любому сайту на базе »1С-Битрикс».

MAXMA — платформа лояльности для ритeйл-сетей. Система позволяет настраивать и вести бонусную/скидочную программу лояльности в рамках бренда, сегментировать базу пользователей, создавать промокоды, делать рассылки (SMS, push, мессенджеры, email). Как результат — улучшать взаимодействие покупателей с брендом и помогать бизнесу увеличивать выручку.

Задача — разработать готовый модуль для подключения к любому сайту на базе »1С-Битрикс». Ожидаемые сроки: 2–3 месяца.

Этапы работы 

Мы работали еженедельными спринтами — по SCRUM. Теперь подробнее о каждом этапе.

Разработка модуля 

В модуле реализовали:

— Обработчики событий стандартных модулей »1С-Битрикс».

— Правила работы с корзиной.

— Функции отключения обработки заказов для группы пользователей.

— Отложенная отправка ошибочных запросов к API.

— Компоненты публичной части.

— Логирование данных.

Разберем по пунктам.

Обработчики событий. По сути это код, который позволяет сайту среагировать на событие: создание заказа, регистрацию пользователя и т. д.

Работает так: обработчик отлавливает на сайте событие —> формирует о нем данные —> отправляет информацию в MAXMA.

Чтобы, например, создать в MAXMA новых покупателей, нужен обработчик двух событий:

— регистрация пользователя на сайте,

— авторизация пользователя на сайте.

Когда пользователь регистрируется или авторизуется, обработчик ищет его в базе MAXMA по номеру телефона и в зависимости от результата регистрирует пользователя, изменяет его данные или не выполняет никаких действий.

Также в модуле есть обработчик, который реагирует на события с заказами:

— создание и изменение заказа,

— выкуп и отмена заказа.

Этот обработчик нужен, чтобы создать или обновить заказ в базе MAXMA.

Правила работы с корзиной. Нужны, чтобы применять в корзине промокоды и бонусы, использовать скидки, которые есть в MAXMA.

Скидка рассчитывается, когда в корзине происходят следующие события:

— списание бонусов,

— применение промокода,

— пересчет заказа.

Пример списания бонусов:

7146f2a675b8a64d1b9f3db3547e82a1.jpg

Пример применения промокода:

55f2c4f24217c6950f1f39ed7d98cc0e.jpg

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

Функция отложенной отправки ошибочных запросов. То есть запросы, которые не отправились в MAXMA, через время отправятся снова.

Это нужно, чтобы безотказно передавать данные с сайта в MAXMA.

Отложенная отправка действует для следующих запросов:

— создание нового клиента,

— создание и изменение заказа,

— выкуп заказа,

— отмена заказа,

— обновление External ID клиента.

Если запрос не отправился, он сохраняется в базу данных. Потом каждые 5 минут скрипт повторно пытается отправить его в MAXMA. Максимальное количество попыток повторной отправки — 24 раза.

Компоненты в корзине и карточках товаров. Компонент — это составная часть программы. Он позволяет логически разделять код на блоки. Каждый компонент отвечает за определенное действие, функцию.

Для корзины и карточек товаров мы разработали:

— Компонент баллов в карточке товара — отображает количество бонусов, которое будет начислено при покупке товара.

— Компонент бонусов в корзине — отображает количество бонусов покупателя и содержит форму списания бонусов при оформлении заказа.

— Компонент промокода в корзине — представляет собой форму ввода и применения промокода.

Пример отображения баллов в карточке товара:

504b3e45a7684a326e4ec0c5c245fcf3.jpg

Логирование данных. Логирование — это запись логов. Лог — это файл, где записывается информация о работе программы/системы.

Логировать данные нужно, чтобы вернуться и перепроверить их. Например, если произошла ошибка. Так можно отследить, на каком моменте что-то поломалось.

В модуле логируются следующие данные:

  • запросы от сайта к серверу и ответы от MAXMA,
  • ошибки расчета скидок в корзине,
  • ошибки при поиске и создании клиента,
  • ошибки при подтверждении выкупа и отмены заказа.

Разработка дизайн-макетов и CSS-стили  CSS — это код, который используют для стилизации страницы. Проще говоря, он отвечает за то, как выглядит страница.

Мы разработали дизайн-макеты и CSS-стили, которые позволяют за несколько кликов настроить внешний вид компонентов на сайте.

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

Отступы, ширину и высоту элементов можно менять под стиль сайта. Также можно заменить текст на отдельных элементах, например, плейсхолдере.

Дизайн-макет компонентов:

05c3a00111dca8fc6cdd09bb27e58eba.png

Как это работает: разработчик встраивает данные компоненты на свой сайт и затем с помощью CSS адаптирует их внешний вид под дизайн сайта.

Особенности проекта

У «Битрикса» скидки на товары и на доставку проходят через разные системы — их нельзя объединить в одну скидку. То есть пользователь может выбрать скидку либо на товар, либо на доставку. Поэтому сейчас мы реализовали в модуле только скидку на товар, а доставку забрали на развитие проекта в будущем.

Результат

Разработали модуль за 2 месяца. После модерации опубликовали его в маркетплейсе »1С-Битрикс». Также подготовили документацию по модулю, чтобы помочь заказчикам MAXMA сделать кастомизацию для сайта.  

В модуле есть все необходимые операции и компоненты для интеграции MAXMA с интернет-магазинами. 

Это позволяет решить 2 задачи:

  1. Ускорить и удешевить интеграцию платформы с сайтами заказчиков.
  2. Стандартизировать работу системы с точки зрения качества кода. То есть на качество интеграции не влияет опыт программистов.

Так выглядит страница настроек модуля:

d007f6ca8834698974d1481fb810bef4.jpg

Что умеет модуль:

— передавать в MAXMA информацию о пользователях и их заказах;

— отображать в карточке товара баллы, которые начислятся за покупку;

— применять промокоды;

— списывать баллы.

Так как большинство сайтов на «Битрикс» — стандартные, им сразу подойдут решения, реализованные в модуле, без дополнительных модификаций.

Если сайт почти не отличается от стандартных решений «Битрикс», платформу лояльности можно интегрировать за день с минимальными компетенциями по программированию.

Если сайт кастомизирован, то интеграция может занять несколько недель.

Отзыв клиента

Егор Булычев, руководитель интеграций maxma.com

Мы предоставили коллегами из Intensa roadmap проекта. Вся работа велась четко по ней!

Ребята отзывчивые. По любым правкам и вопросам мы получали оперативную связь, что для нас очень важно — так как мы напрямую общаемся с клиентом, наша скорость ответа напрямую зависит от реакции со стороны команды Intensa.

Из нюансов можно выделить скорее наши общие мелкие допущения в проекте. Мы не учли на старте некоторые моменты. Но в процессе разработки всё оперативно исправлялось.

По итогу работ Intensa предоставила подробную документацию по модулю — в помощь команде MAXMA и клиентам для кастомизации.

Отдельно хотим выделить отзывчивость и активное обсуждение вопросов по доработкам и фиксам.

Перейти на сайт

Полный текст статьи читайте на CMS Magazine