Mindbox: Разработали модуль Mindbox для интеграций с сайтами на «Битриксе» и обновили SDK
Mindbox — CDP‑платформа, 700+ клиентов в e‑commerce, retail и FMCG. Разработали для них модуль интеграции с 1С‑Битрикс…
TL;DR
Mindbox — CDP‑платформа, 700+ клиентов в e‑commerce, retail и FMCG. Разработали для них модуль интеграции с 1С‑Битрикс и обновляли SDK. Срок типовой интеграции CDP сократился с 3 месяцев до 1, рекорд — установка за 3 дня. На маркетплейсе Битрикс — 300+ установок.
Pitch
Mindbox пришли с недоработанной MVP‑версией модуля для Битрикс от прошлого подрядчика. Нужно было довести модуль до боевого состояния, чтобы клиенты с CMS Битрикс могли интегрировать CDP за месяц вместо трёх. За три месяца перебрали MVP и зарелизили рабочий режим CDP. Дальше полгода писали режим программы лояльности, параллельно актуализировали SDK и работали с техдолгом. В Jira подключили менеджера продукта Mindbox напрямую к нашим разработчикам — без посредников. Итог — 300+ установок, рекорд скорости интеграции 3 дня, клиенты ставят и обновляют модуль сами.
Контекст клиента
Mindbox — облачная платформа автоматизации маркетинга. Позволяет собирать и обрабатывать данные о пользователях и управлять коммуникацией с ними — отправлять рассылки, начислять бонусы, выдавать персональные скидки и т. д.
Компания 12 лет помогает увеличивать выручку от маркетинга. В портфеле Mindbox более 700 клиентов из e‑commerce, retail и FMCG: L’Oréal, Synergetic, METRO, Panasonic, Burger King, «Vprok.ru Перекрёсток», «Детский мир» и другие.
Задача
Интеграция Mindbox с сайтами клиентов могла занимать много месяцев — техническая часть довольно сложная.
Поэтому Mindbox решили разработать модуль, который стандартизирует интеграцию с сайтами на «Битрикс».
Цели две:
- Сократить ресурсозатраты заказчиков на интеграцию. Чем скорее её проведут, тем скорее смогут пользоваться возможностями платформы.
- Быстрее получать оплату от заказчиков после успешной интеграции.
Марина Кузмичева, менеджер продукта Mindbox:
Интеграция с Mindbox — довольно сложное и дорогое мероприятие. Во‑первых, мы хотели разблокировать интеграцию для клиентов, у которых мало ресурса разработки, но есть интернет‑магазин на базе CMS Bitrix. Во‑вторых, хотелось сократить период интеграции с трёх до одного месяца. Для нас это значит, что мы раньше начнём получать доход с клиента.
Когда Mindbox обратились к нам с запросом разработать модуль, у них уже была недоработанная MVP‑версия с другим подрядчиком, которая пока ещё не позволяла решать поставленные задачи.
Нам предстояло доработать текущую версию модуля, чтобы заказчики могли использовать его для интеграций.
Что сделали
1. Доработка MVP‑версии модуля
Mindbox отдали нам текущую MVP‑версию, которая не работала на боевых задачах.
Мы её проанализировали, нашли ошибки, отрефакторили код и зарелизили новый MVP. Он включал только стандартный режим модуля — CDP.
Не без багов, но основная функциональность работала. Управились за 3 месяца.
Что умеет модуль в режиме CDP:
- Передавать данные из личного кабинета пользователя: авторизация и регистрация, редактирование персональных данных, оформление заказа, изменение статуса и состава заказов, удаление и добавление товаров в корзину и избранное.
- Генерировать товарный фид.
- Передавать события о просмотре товаров и категорий — для этого нужно установить отдельные компоненты на странице каталога.

2. Разработка режима лояльности
После релиза доработанного MVP мы начали разрабатывать режим программы лояльности. Через полгода он был готов.
Что умеет модуль в режиме лояльности:
- Передавать те же данные из личного кабинета пользователя, что и в режиме CDP, плюс подтверждение контактов, отображение истории бонусов, отображение истории онлайн- и офлайн‑заказов.
- Рассчитывать публичные и персональные скидки, баллы и промокоды.
3. Обновление SDK
Допустим, у нас есть сайт не на «Битрикс». Следовательно, для него нельзя провести интеграцию через модуль. Поэтому надо интегрировать сервисы Mindbox вручную.
Сайт обменивается данными с Mindbox с помощью API — это связь между сайтом и платформой.
Чтобы проект смог полноценно взаимодействовать с API Mindbox, нужно написать очень много кода. SDK создан, чтобы облегчить процесс. По сути, это библиотека с уже готовым кодом: реализованным http‑клиентом, описанными методами API и обработкой ошибок. Разработчику остаётся только использовать готовые методы и функции в кодовой базе проекта.
Пример: нужно получить историю баллов клиента. Если интеграция напрямую с Mindbox, чтобы получить выгрузку, нужно авторизоваться, подключиться к платформе, выполнить несколько команд — то есть написать, предположим, 30 строк кода. Если интеграция через SDK, оттуда можно сразу вызвать готовый метод, например, получить баллы по конкретному пользователю. И надо будет написать уже 5 строк кода, а не 30.
Модуль делается на основе SDK, который нужно регулярно актуализировать. Чем шире функционал модуля, тем больше изменений нужно внести в SDK — этим мы и занимались, параллельно разрабатывая проект.
4. Система релизов
На первых этапах, когда мы фиксили баги или добавляли новые фичи, клиентам приходилось каждый раз переустанавливать модуль, чтобы внедрить эти обновления.
То есть нужно было удалить модуль из админки сайта и заново установить из маркетплейса «Битрикс». Настройки сохранялись, но всё же когда удаляешь модуль, что‑то может сломаться. Допустим, авторизация на сайте работала через модуль. Если его удалить, то авторизоваться тоже не получится, — после переустановки надо будет всё настраивать заново. Или, например, скидки на сайте работали через модуль. Если его удалить, из каталога скидки тоже исчезнут.
В общем, долго и неудобно. Поэтому мы ввели систему релизов — с ней достаточно просто обновить модуль.
Это работало так. Мы регулярно выпускали определённую версию продукта. На еженедельных созвонах договаривались, что будем включать в конкретный релиз, — какие ошибки исправим, какой функционал добавим. После этого выполняли план задач во время, например, двухнедельного спринта. Когда всё сделано и согласовано, выпускали новую версию модуля.
Частота релизов, как правило, от одной до четырёх недель. Могло быть и полтора месяца перерыва — тогда мы набирали массу задач, чтобы сделать новый релиз. Были клиенты, которым срочно нужно пофиксить баг или добавить фичу — в этом случае мы отдавали им обновление в течение недели. Они обкатывали, и мы разливали это на всех.
Как происходит релиз:
- Делаем сборку модуля. Например, у нас есть 6 разных задач с доработками — их нужно слить, то есть объединить в один код.
- После сборки раскатываем модуль на несколько тестовых стендов, чтобы посмотреть, как он работает. Есть 2 основных стенда: один для CDP, другой — для программы лояльности.
Чтобы протестировать модуль для клиентов, которые устанавливают его с нуля, мы использовали тестовый сайт без модуля. Чтобы проверить модуль для клиентов, которые обновляют уже установленный модуль, — использовали соответствующий тестовый сайт, где модуль уже был установлен.
Когда всё раскатали, в дело вступает тестировщик.
5. Тест‑кейсы
Тест‑кейс — это Excel‑документ, в котором описано, как всё должно работать.
Простой пример. Нам нужно проверить, что списание баллов при оформлении заказа работает корректно. Как проверяем: открываем страницу товара 1 и товара 2, добавляем товары в корзину, открываем корзину, применяем промокод, например, PROMO1. Успешный результат: скидка N рублей.
То есть тест‑кейс — это алгоритм, по которому мы тестируем функционал продукта. И такую последовательность нужно прописать для каждой функции, а потом протестировать.
Релиз каждой версии модуля проходил через тест‑кейс. Нужно было тестировать как новые фичи, которые добавлены в релиз, так и стандартный функционал — это суперважно, потому что даже 2 мелких улучшения могут что‑то поломать.
6. Прямая коммуникация с менеджером продукта Mindbox в Jira
Обычно вся коммуникация проходит через наших менеджеров. В этот раз мы добавили в нашу Jira менеджера продукта Mindbox, чтобы он мог сам общаться с разработчиками.
Причина — высокие технические компетенции у менеджеров продукта, которые занимались модулем. Они могли оперативнее проконсультировать наших разработчиков. Это повысило скорость работы. Наши проджекты отвечали за контроль и выполнение сроков.
Иван Шишкин, руководитель отдела разработки:
Мне понравилось работать с менеджерами продукта Mindbox в Jira. Они быстро отвечают и сами по себе ребята очень хорошие. По некоторым моментам я, например, мог с ними созвониться, не дожидаясь следующего еженедельного кола. Это было суперудобно — не надо идти к менеджеру, чтобы он написал письмо. Мы очень плотно работали вместе, будто ребята были в соседнем офисе.
7. Работа с техническим долгом
Технический долг — это проблемы, которые накопились в самом коде или в его архитектуре.
В какой‑то момент мы дошли до точки, когда стало сложно поддерживать архитектуру кода. Решили, что нужно рефакторить. С версии 2.6.0 начали работать над улучшением кода. Параллельно развивали модуль, добавляли фичи и фиксили баги.
8. Отключение программы лояльности
11 ноября 2022 года мы зарелизили версию модуля, в которой отключена программа лояльности — это не влияет на клиентов, у которых уже установлен модуль с данным режимом.
Марина Кузмичева, менеджер продукта Mindbox:
Бывали случаи, когда интеграция затягивалась, и все искренне думали, что лучше бы интегрировались без модуля — это касалось только интеграции в режиме программы лояльности. В таких случаях накладные расходы несли и клиенты, и мы, т. к. нам нужно было дорабатывать модуль. Но благодаря развитию модуля «Битрикс» мы поняли, что подобные стандартные интеграции подходят в основном для асинхронной передачи данных — т. е. только для сбора событий на сайте. Когда речь заходит о синхронной работе сайта и процессинга, — это не всегда оптимальное решение. У нас есть примеры успешных стандартных интеграций с кассами, но в случае с «Битриксом», который сам по себе можно произвольно кастомизировать, очень сложно сделать такую стандартную интеграцию, чтобы она подходила всем клиентам. В конечном итоге сейчас мы скрыли режим лояльности, т. к. он вызывает скорее боль и у клиентов, и у нас.
Иногда надо уметь признать, что больше не равно лучше — для нас это стало ценным кейсом и важным опытом разработки, который круто прокачал команду.
Результат
Без модуля интеграция платформы с сайтом, как правило, длилась 3 месяца. С модулем она обычно занимает плюс‑минус месяц.
Интеграция проходит в 2 этапа:
- Менеджер Mindbox готовит платформу к интеграции, то есть настраивает её под клиента. Разработчики заказчика интегрируют модуль с сайтом — скачивают и настраивают модуль по инструкции. На это нужно несколько дней.
- Затем разработчики настраивают модуль под кастомные особенности сайта и задачи бизнеса. Этот этап, как правило, занимает месяц — зависит от того, насколько сильно сайт кастомизирован.
Марина Кузмичева, менеджер продукта Mindbox:
В некоторых случаях интеграция проходила очень гладко и очевидно экономила ресурс разработки со стороны клиента. Например, было несколько клиентов, у которых интеграция длилась неделю. Был даже рекорд — когда установка модуля заняла 3 дня. Это означает, что почти сразу с момента покупки клиент может настраивать механики для коммуникаций.
Изначально договорились, что оценивать успех модуля будем по тому, сколько новых клиентов его использует. В процессе разработки поняли, что нужно смотреть не на все проекты, а только на те, у которых есть CMS на Bitrix. Поэтому, если оценивать так, как задумывали, вместо ожидаемых 15% получили 9. Но для клиента это тоже хороший результат.
Марина Кузмичева, менеджер продукта Mindbox:
На данный момент 53 клиента использует модуль Bitrix. Интересный факт: довольно много клиентов на протяжении последних 6 месяцев находят и интегрируют его сами, без нашей помощи. В марте этого года мы были вынуждены скорректировать стратегию и поджать бюджет на развитие модуля. Мы не делаем рекламу или новые доработки — клиенты в основном справляются сами. Думаю, это хороший результат в текущей ситуации.
| Метрика | Значение |
|---|---|
| Срок интеграции CDP вместо 3 месяцев без модуля | 1 месяц |
| Установок модуля на маркетплейсе 1С‑Битрикс | 300+ |
| Рекорд по скорости установки модуля у клиента | 3 дня |
Где проект сейчас
Модуль доступен на маркетплейсе «1С‑Битрикс» и в репозитории Mindbox на GitHub. Клиенты Mindbox находят и устанавливают его самостоятельно. Режим программы лояльности скрыт с ноября 2022 года и не влияет на клиентов, у которых модуль с этим режимом уже стоит.
Команда
- Иван Шишкин — Руководитель отдела разработки
Технологии
1С‑Битрикс, PHP, Mindbox API, Mindbox SDK, Jira.
Ссылки
- Публикация: https://intensa.ru/blog/razrabotali‑modul‑mindbox‑dlya‑integracij‑s‑sajtami‑na‑bitrikse‑i‑obnovili‑sdk/
- Сайт клиента: https://mindbox.ru
- Проект на Git
- Скачать модуль на маркетплейсе «1С‑Битрикс»
- Связанные кейсы: Synergetic — за 2 месяца интегрировали CDP Mindbox и подключили программу лояльности