Когда маркетингу мало аналитики: внедряем Mindbox в кастомную CRM

1 апреля 2026 г.

Кирилл , веб-разработчик

Содержание статьи

Мы уже некоторое время работали с Академией TOP – крупной сетью с сотнями филиалов по всей России. За плечами была интеграция CRM со сквозной аналитикой, которая дала бизнесу понимание эффективности рекламных каналов. Но маркетинг не ограничивался аналитикой – рассылки тоже были частью процесса. Сначала самописные email и SMS уведомления, потом SendPulse, затем Unisender. Каждый инструмент закрывал часть задач, но маркетингу хотелось большего: не просто рассылать письма, а полноценно работать с клиентской базой – строить сценарии коммуникаций, сегментировать аудиторию, автоматизировать цепочки взаимодействий. Так появилась задача интеграции с Mindbox.

Зачем нужен Mindbox

Mindbox – платформа автоматизации маркетинга. По сути, это большой инструментарий, который позволяет маркетологам самостоятельно работать с клиентской базой:

  • CDP – единый профиль клиента, собранный из разных источников
  • Омниканальные рассылки – email, SMS, push-уведомления, мессенджеры
  • Сценарии коммуникаций – автоматические цепочки действий на основе поведения клиента
  • Сегментация – гибкие фильтры для выделения целевых аудиторий

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

Но для того, чтобы всё это заработало, Mindbox нужно наполнить данными – и не статичным дампом, а постоянным потоком актуальной информации из CRM.

С чем пришлось работать

Имеем собственную CRM-систему, разработанную с нуля. Это не Битрикс и не amoCRM, для которых у Mindbox есть готовые коннекторы. Интеграцию нужно было строить через API с нуля.

С этой проблемой мы уже сталкивались при внедрении сквозной аналитики – в CRM не было ярко выраженных сущностей «заказ» и «клиент» в том виде, в каком их ожидают внешние системы. Не было привычного жизненного цикла заявки с чётко определёнными статусами, не было единой сущности клиента с понятным набором полей. Чтобы отправить во внешнюю систему что-то осмысленное, нужно было сначала собрать целостную картину из того, как эти понятия реально устроены в CRM: кто клиент, что за заявка, на каком она этапе, какой продукт, какой филиал.

Как мы это построили

К моменту старта работ CRM уже умела собирать данные о клиентах и заказах – для системы сквозной аналитики. Но вся эта логика жила внутри одного сервиса и работала только на него. Дублировать её для Mindbox не хотелось, поэтому мы вынесли подготовку данных в отдельный общий слой.

Появились универсальные сущности – «клиент», «заказ», «продукт» – которые описывают данные CRM в нормализованном виде, не привязанном ни к одной внешней системе. Дальше они попадают в адаптеры: каждый адаптер преобразует универсальные данные в формат конкретной интеграции и отправляет их через соответствующий API.

Обработка построена на событийной модели. Когда в CRM происходит значимое действие – клиент оставил заявку, менеджер назначил встречу, был заключён договор – система генерирует событие. Слушатель перехватывает его и ставит задачу в очередь. CRM не ждёт ответа от внешних систем и продолжает работать, а данные уходят в Mindbox в фоне.

Такая архитектура позволила подключить Mindbox без переписывания того, что уже работало – мы добавили новый адаптер, который встроился в существующий конвейер обработки данных.

Какие данные передаём

Интеграция охватывает несколько типов данных.

Клиенты. При каждом значимом событии в CRM отправляются данные о клиенте: имя, телефон, email, подписки на каналы коммуникаций. Телефон выступает основным идентификатором – по нему платформа связывает все действия клиента в единый профиль.

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

Каталог продуктов. CRM автоматически генерирует YML-фид с актуальным списком продуктов. Платформа периодически забирает его и обновляет у себя справочник, что позволяет в сценариях и фильтрах оперировать конкретными продуктами.

Точки контакта. Каждый филиал представлен как точка контакта – со своим идентификатором, названием, адресом и телефоном. Выгрузка филиалов реализована отдельной задачей, которая формирует файл и загружает его на платформу.

От первых филиалов до полного охвата

Интеграция вводилась в эксплуатацию поэтапно.

Сначала – фундамент: клиент для работы с API Mindbox, общий слой подготовки данных, адаптер, каталог продуктов и точки контакта. Затем подключили несколько филиалов для тестирования, убедились в корректности данных и начали расширять охват – до подключения всех активных филиалов бренда.

После этого перешли к историческим данным – чтобы маркетологи могли работать не только с новыми клиентами, но и с накопленной базой. Оценили объём, согласовали ограничения с бизнесом, собрали данные за несколько лет в CSV-файлы и загрузили пакетами. Параллельно расширяли состав передаваемых полей.

Периодически появляются новые требования – доработка полей, приём входящих событий через вебхуки. Архитектура, заложенная на старте, позволяет добавлять такие доработки без переделки фундамента.

Что в итоге

Маркетинг получил полноценную платформу для работы с клиентской базой – сценарии коммуникаций, рассылки, сегментация. А чтобы это стало возможным, сущности клиентов и заказов, которые раньше существовали только внутри интеграции с системой аналитики, были вынесены в независимый слой. Событийная архитектура и система адаптеров теперь позволяют подключать новые интеграции, построенные на сущностях «клиент – заказ», с меньшими затратами, чем если бы каждую из них мы строили с нуля.

  

Предыдущая статья
Все статьи Следующая статья