Авторизация
Забыли пароль?
Сброс пароля
Вернуться к авторизации
Digital-кейс дня

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

Вхождение в кейс дня

18 сентября ‘23

Заказчик: Maxma
Страница кейса/результат: https://maxma.com/ru

Рассказываем, как разрабатывали модуль и какие особенности проекта были во внимании, чтобы все работало, как часы.

Агентство-исполнитель кейса

Intensa

Занимаемся технической поддержкой сайтов. Разрабатываем и внедряем модули для более эффективной работы сайтов. Интегрируем мобильные приложения с интернет-магазинами со сложной логистикой, расширяем стандартные возможности программ и приложений.

1. Вводная задача от заказчика, проблематика, цели

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

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

2. Описание реализации кейса и творческого пути по поиску оптимального решения

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

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

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

  • Обработчики событий стандартных модулей «1С-Битрикс».
  • Правила работы с корзиной.
  • Функции отключения обработки заказов для группы пользователей.
  • Отложенная отправка ошибочных запросов к API.
  • Компоненты публичной части.
  • Логирование данных.

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

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

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

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

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

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

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

  • создание и изменение заказа,
  • выкуп и отмена заказа.

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

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

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

  • списание бонусов,
  • применение промокода,
  • пересчет заказа.

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

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

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

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

  • создание нового клиента,
  • создание и изменение заказа,
  • выкуп заказа,
  • отмена заказа,
  • обновление External ID клиента.

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

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

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

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

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

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

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

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

Разработка дизайн-макетов и CSS-стилей

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

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

1) Сделали дизайн-макеты компонентов для страницы карточки товара, корзины и оформления заказа.

2) Стилизовали компоненты бонусов, промокода в корзине, начисляемых баллов в карточке товара — разработали вид компонентов, их цвет, шрифт, иконки, тени, обводки.

3) Подготовили их для десктопа и мобильной версии.

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

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

Списание бонусов

Баллы в карточке товара

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

3. Результаты сотрудничества

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

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

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

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

2) Стандартизировать работу системы с точки зрения качества кода. То есть на качество интеграции не влияет опыт программистов.

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

  • передавать в MAXMA информацию о пользователях и их заказах;
  • отображать в карточке товара баллы, которые начислятся за покупку;
  • применять промокоды;
  • списывать баллы.

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

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

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

Егор Булычев

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

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

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

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

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

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

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

4. Заключение

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

Агентство-исполнитель кейса

Intensa

Занимаемся технической поддержкой сайтов. Разрабатываем и внедряем модули для более эффективной работы сайтов. Интегрируем мобильные приложения с интернет-магазинами со сложной логистикой, расширяем стандартные возможности программ и приложений.