-10%Переходите к нам от другого подрядчика — дадим скидку на первый этап работ

Интеграция магазина на 1С-Битрикс с RetailCRM: передача лидов и заказов

Интеграция интернет-магазина на 1С-Битрикс с RetailCRM: передача заказов, лидов и статусов

Заказы валятся в почту, менеджер копирует их в таблицу, часть заявок теряется между письмами и звонками, а понять, на каком этапе висит клиент, можно только устно спросив у того, кто «вроде им занимался». Пока магазин небольшой, это терпимо. Как только поток заказов растёт, разрозненные каналы превращаются в дырявое ведро: лиды утекают, повторные продажи не делаются, а руководитель не видит воронку.

RetailCRM закрывает эту боль — сводит заказы, звонки и заявки в единое окно менеджера и добавляет триггеры, сегменты и аналитику. Но всё это работает, только если магазин на 1С-Битрикс аккуратно передаёт в CRM заказы и лиды и получает обратно статусы. В статье разберём, как выстроить эту передачу правильно и надёжно. Если хочется сразу передать задачу команде — у нас это услуга интеграции с amoCRM, RetailCRM и Мегапланом.

Коротко

  • RetailCRM встаёт в центр контура «сайт — CRM — 1С»: сайт отдаёт заказы и лиды, CRM ведёт их и обменивается с учётом.
  • Для типового магазина хватает штатного модуля из Marketplace; сложную логику дописывают через REST API RetailCRM.
  • Ключевые задачи — маппинг полей и статусов, дедупликация клиентов по нормализованному телефону и обратная синхронизация статусов через вебхуки.
  • Передачу делают асинхронной (очередь, агент), чтобы недоступность CRM не ломала оформление заказа на сайте.

Зачем магазину на Битрикс связка с RetailCRM

1С-Битрикс отлично справляется с витриной, каталогом и оформлением заказа, но не создавался как рабочее место оператора продаж. Когда заказов десятки в день и с ними работают несколько менеджеров, нужна система, где видно всю коммуникацию с клиентом: заказы, звонки, письма, задачи и текущий статус сделки. Это и есть зона RetailCRM.

Связка даёт три ощутимых эффекта. Во-первых, ни один лид не теряется: заявка с сайта сразу попадает в CRM и висит на конкретном менеджере до закрытия. Во-вторых, менеджер работает в одном окне, а не переключается между почтой, админкой Битрикса и телефонией. В-третьих, появляется управляемая воронка и аналитика — можно строить прогноз продаж и сегментировать клиентов, что мы усиливаем услугой AI-прогноза продаж и сегментации клиентов в RetailCRM.

Как устроен контур: сайт, CRM и 1С

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

СхемаЯдроРоль сайтаКогда подходит
CRM-центричнаяRetailCRMКаталог и приём заказовАктивные продажи, телефония, много ручной обработки
ERP-центричнаяКаталог и приём заказовСильный учёт, склад и логистика на 1С

В CRM-центричной схеме сайт отдаёт заказы в RetailCRM, а уже CRM обменивается с 1С товарами, остатками и выгрузкой заказов в учёт. Это удобно для активных продаж. В ERP-центричной ядром остаётся 1С, а RetailCRM служит рабочим местом менеджеров. Ошибка здесь дорогая: если не договориться о направлении синхронизации, остатки и заказы начнут ходить по кругу и задваиваться. Про синхронизацию остатков между RetailCRM и Битриксом мы подробно писали в материале про склады и остатки в RetailCRM.

Обмен данными сайта с CRM Сайткаталог, заказыCRMсделки, клиентыОбменочередь / APIДанные идут в обе стороны по расписанию или по событию
Схема: сайт и CRM обмениваются данными в обе стороны — по расписанию или по событию. Товары и остатки приходят на сайт, заказы уходят обратно.

Штатный модуль или интеграция через REST

У RetailCRM есть официальный модуль для 1С-Битрикс, который ставится из Marketplace. Он закрывает базовый сценарий: выгрузку каталога в формате ICML, передачу заказов и синхронизацию статусов. Для типового магазина этого достаточно и стартовать стоит именно с него.

REST API RetailCRM нужен, когда штатной логики не хватает:

На реальных проектах обычно комбинируют: базовый обмен идёт через модуль, а тонкие сценарии дописывают обработчиками через REST. Единое окно заказов из разных каналов мы разбирали в статье про единое окно заказов на базе RetailCRM.

Что именно передаём: заказы, лиды, клиенты

«Интеграция с CRM» — это не один поток данных, а несколько сущностей, каждая со своими правилами. Прежде чем настраивать, полезно зафиксировать список.

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

Настройка передачи заказов пошагово

Названия пунктов зависят от версии модуля и редакции Битрикса, но общая последовательность стабильна.

  1. Заведите магазин и ключ API. В RetailCRM создайте магазин (site code) и API-ключ с нужными правами, зафиксируйте адрес аккаунта.
  2. Установите и подключите модуль. Поставьте модуль RetailCRM из Marketplace, введите URL аккаунта и ключ, проверьте связь.
  3. Выгрузите каталог. Настройте выгрузку ICML, сопоставьте свойства товаров и торговые предложения, чтобы состав заказа совпадал по кодам.
  4. Сопоставьте способы доставки и оплаты. Каждому способу на сайте назначьте соответствие в CRM — иначе заказы уедут с пустыми полями.
  5. Настройте маппинг статусов. Свяжите статусы заказа Битрикса со статусами CRM в обе стороны.
  6. Включите передачу заказов. Проверьте на тестовом заказе, что он появился в CRM с корректным составом, суммой и клиентом.
  7. Проверьте обратный поток. Смените статус в CRM и убедитесь, что он вернулся на сайт.

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

Маппинг полей и статусов

Наборы статусов и полей в Битриксе и RetailCRM почти никогда не совпадают один в один, поэтому маппинг — сердце интеграции. Ошибка здесь приводит к тому, что заказ выглядит «пустым» или застревает не в том статусе.

Правило соответствия: составьте таблицу «статус сайта ↔ статус CRM» до начала настройки и согласуйте её с менеджерами. Каждый статус на одной стороне должен иметь однозначного получателя на другой, иначе смена статуса «повиснет».

Что обязательно учесть при маппинге: способы доставки и оплаты, кастомные свойства заказа (комментарий, желаемая дата, данные юрлица для B2B), источник заказа (сайт, маркетплейс, лид) и ответственного менеджера. Кастомные поля в CRM создают заранее, иначе данные некуда положить и они молча теряются.

Передача лидов и заявок с форм

Заказ — это уже «горячий» клиент, но много продаж рождается из более ранних обращений: обратный звонок, вопрос по наличию, заявка на оптовый прайс. Если эти заявки уходят только в почту, они теряются. Правильно заводить их в RetailCRM как лид или заказ в статусе «Новая заявка».

Технически это делается обработчиком на событие отправки формы: он собирает контакт и текст обращения и через REST-метод создаёт в CRM клиента и заказ-лид. Здесь особенно важна дедупликация — заявка должна привязаться к уже существующему клиенту, а не создать дубль. Дальше лидом управляют триггеры: автоприветствие, напоминание менеджеру, дожим. Про их настройку — отдельный материал про триггеры RetailCRM.

Дедупликация клиентов и нормализация контактов

Дубли клиентов — тихая, но дорогая проблема: история покупок размазывается по нескольким карточкам, сегменты врут, а менеджер звонит «новому» клиенту, который на деле давний покупатель. RetailCRM умеет искать клиента по телефону и e-mail, но только если контакты приходят в предсказуемом виде.

Нормализацию лучше делать один раз централизованно, а не в каждом обработчике по-своему — иначе форматы разъедутся и дедупликация снова перестанет ловить совпадения.

Обратная синхронизация статусов через вебхуки

Менеджер работает в RetailCRM и меняет статусы там. Чтобы покупатель в личном кабинете на сайте видел актуальное «Собирается», «Передан в доставку», «Выполнен», статусы должны возвращаться на сайт. Для этого используют вебхуки: RetailCRM при изменении заказа дёргает эндпоинт на сайте, а обработчик обновляет статус заказа в Битриксе по таблице соответствия.

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

Надёжность обмена: очередь, агенты, логи

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

  1. Сохраняйте заказ локально сначала. Заказ фиксируется в Битриксе, и только потом ставится в очередь на передачу в CRM.
  2. Передавайте асинхронно. Отправку выполняет агент или очередь, а не синхронный вызов в момент оформления.
  3. Повторяйте с задержкой. При ошибке — повторная попытка через нарастающий интервал, а не бесконечный цикл.
  4. Логируйте обмен. Пишите запросы и ответы, чтобы разбирать сбои по фактам, а не по догадкам.
  5. Мониторьте очередь. Настройте оповещение, если необработанных заказов стало слишком много.

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

Частые ошибки интеграции

Чек-лист внедрения

  1. Схема контура согласована. Определено ядро (CRM или 1С) и направление синхронизации по каждой сущности.
  2. Каталог выгружается. ICML настроен, товары и торговые предложения сопоставлены по кодам.
  3. Маппинг полей и статусов готов. Есть согласованная таблица соответствий в обе стороны, кастомные поля в CRM заведены.
  4. Лиды передаются. Заявки с форм заводятся в CRM с дедупликацией и привязкой к менеджеру.
  5. Клиенты не дублируются. Телефоны и e-mail нормализованы, правила дедупликации включены.
  6. Статусы возвращаются. Вебхуки настроены, приёмник защищён и идемпотентен.
  7. Обмен надёжен. Передача асинхронная, есть очередь, повторы, логи и мониторинг.
  8. Проверено на боевых данных. Прогнаны реальные заказы, лиды, смены статусов и краевые случаи.

Вывод

Интеграция магазина на 1С-Битрикс с RetailCRM — это не «поставить модуль и забыть», а выстроенный контур, где сайт надёжно отдаёт заказы и лиды, CRM ведёт их в едином окне, а статусы возвращаются покупателю. Три вещи отличают рабочую интеграцию от хрупкой: продуманный маппинг полей и статусов, честная дедупликация клиентов и асинхронный отказоустойчивый обмен.

Начните со штатного модуля, закройте им базовый поток заказов, а тонкие сценарии — лиды с форм, B2B-цены, свою логику распределения — дописывайте через REST API. Тогда RetailCRM станет не ещё одной системой, в которую надо что-то вносить руками, а местом, где продажи реально управляются. Аналитику и BI поверх этих данных мы разворачиваем услугами аналитики и AI в RetailCRM и аналитики продаж и BI.

Частые вопросы

Чем отличается штатный модуль RetailCRM от кастомной интеграции?

У RetailCRM есть официальный модуль для 1С-Битрикс, который ставится из Marketplace и закрывает базовый сценарий: выгрузку каталога, передачу заказов и статусов. Его хватает для типового магазина. Кастомная интеграция нужна, когда логика сложнее штатной: нестандартные поля заказа, свои правила присвоения менеджеров, синхронизация B2B-цен по группам или связка с несколькими складами. В таких случаях поверх модуля или вместо него пишут обработчики через REST API RetailCRM.

Как передаются лиды с сайта, если у меня не только заказы, но и заявки?

Заявки из форм обратной связи, звонков и «купить в один клик» удобнее заводить в RetailCRM как заказы в статусе «Новый лид» или как отдельные обращения. Проще всего повесить обработчик на отправку формы, который через REST-метод создаёт заказ или клиента в CRM. Тогда менеджер видит и оформленные корзины, и незавершённые заявки в едином окне, а не в почте.

Что произойдёт с заказом, если RetailCRM временно недоступна?

При правильной интеграции заказ сначала сохраняется в 1С-Битрикс, а передача в RetailCRM идёт отдельным шагом — через очередь или агент. Если CRM недоступна, заказ не теряется: он ставится в очередь и уходит при следующей успешной попытке. Поэтому синхронную передачу «в момент оформления без запаса» использовать не стоит — она делает оформление заказа зависимым от доступности внешней системы.

Как избежать дублей клиентов в RetailCRM?

RetailCRM умеет искать существующего клиента по телефону и e-mail и привязывать заказ к нему. Чтобы дубли не плодились, нужно передавать нормализованный телефон (единый формат, без пробелов и скобок) и включить в CRM правила дедупликации. На стороне Битрикса стоит заранее нормализовать контакты при сохранении заказа, тогда один и тот же покупатель не превратится в трёх разных.

Синхронизируются ли статусы заказа обратно из RetailCRM в Битрикс?

Да, и это важная часть интеграции. Менеджер работает в RetailCRM и меняет статусы там; чтобы покупатель в личном кабинете на сайте видел актуальное состояние заказа, статусы возвращаются обратно через вебхуки. Настраивается таблица соответствия статусов CRM и статусов заказа Битрикса, потому что наборы статусов в двух системах обычно не совпадают один в один.

Кто должен быть источником истины по заказам — сайт или CRM?

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

Нужно ли отключать прямой обмен Битрикс–1С при подключении RetailCRM?

Не обязательно. Часто RetailCRM встаёт в центр контура: сайт отдаёт заказы в CRM, а уже CRM обменивается с 1С по товарам, остаткам и выгрузке заказов в учёт. Но встречается и схема, где 1С остаётся ядром, а RetailCRM — рабочим местом менеджеров. Схему обмена нужно спроектировать до внедрения, чтобы остатки и заказы не ходили по кругу и не задваивались.

Сколько времени занимает подключение RetailCRM к магазину на Битрикс?

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

Поделиться:

Нужна надёжная связка магазина на Битрикс с RetailCRM?

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

Услуга «Интеграция с CRM»

Игорь Воскресенский

Команда B2Bsite. С 2014 года разрабатываем интернет-магазины и порталы на 1С-Битрикс: интеграции с RetailCRM, amoCRM и 1С, передача заказов и лидов, аналитика продаж и сопровождение обмена.

← Все статьи блога