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

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

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

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

Эта статья — практическое руководство по тому, как связать интернет-магазин на 1С-Битрикс с amoCRM так, чтобы лиды из форм и заказы попадали в воронку автоматически, без дублей и потерь. Разберём модель данных, REST API, дедупликацию, очередь обмена и типичные грабли. Настройку связки под ваши процессы мы закрываем услугой интеграции с amoCRM, RetailCRM и Мегапланом.

Коротко

  • Связь строят через REST API amoCRM и обработчики событий Битрикса (формы, заказы) — синхронно отправлять данные в момент оформления нельзя.
  • Из форм создают сделку в «Неразобранном», заказ — сделку в нужном этапе воронки с составом, суммой и доставкой.
  • Контакты обязательно дедуплицируют по нормализованному телефону и e-mail, иначе воронка засоряется дублями.
  • Обмен идёт через очередь с повторами, а UTM-метки и источник кладут в поля сделки для сквозной аналитики.

Зачем магазину на Битрикс отдельная amoCRM

1С-Битрикс хорошо ведёт каталог, заказы и обмен с 1С, но его встроенная CRM (в редакции с CRM) — не единственный вариант для отдела продаж. amoCRM выигрывает там, где важна лёгкая воронка, телефония, мессенджеры и работа менеджеров «в один экран». Поэтому распространённая архитектура такая: витрина и оформление заказа — на Битриксе, а продажи и коммуникации — в amoCRM.

Проблема в том, что по умолчанию эти системы ничего не знают друг о друге. Интеграция закрывает разрыв: каждая заявка и каждый заказ автоматически становятся сделкой с контактом, менеджер видит их в реальном времени, а руководитель — сквозную картину от клика до выручки. Если вы ещё выбираете между встроенной CRM и amoCRM, полезно прочитать разбор amoCRM против Битрикс24 CRM.

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

Прежде чем писать код, договоритесь, какие события сайта должны попадать в amoCRM и во что именно превращаться. Обычно это три потока данных.

Чёткая карта «событие сайта → объект amoCRM → этап воронки → поля» экономит потом дни доработок. Её стоит согласовать с руководителем продаж до начала работ, потому что именно он знает, как устроена воронка.

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

Как устроена связь по REST API

Технически интеграция опирается на REST API amoCRM и события 1С-Битрикс. Со стороны Битрикса ловят нужные события: отправку веб-формы, а также события модуля продаж вроде сохранения заказа. Со стороны amoCRM — принимают вебхуки на изменения сделок.

  1. Авторизация. amoCRM использует OAuth 2.0: интеграция получает access- и refresh-токены, токен доступа нужно вовремя обновлять по расписанию.
  2. Отправка данных. Сайт шлёт POST-запросы к методам создания контактов и сделок, передавая поля в нужном формате.
  3. Приём вебхуков. amoCRM дёргает ваш URL при изменении сделки; отдельный скрипт принимает и обрабатывает событие.
  4. Логирование. Каждый запрос и ответ пишут в лог, чтобы разбирать сбои, а не гадать, «дошла ли сделка».

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

Модель данных: контакт, сделка, поля

Ключевое решение интеграции — как разложить данные заказа по объектам amoCRM. Базовая модель проста: покупатель становится контактом, заказ или заявка — сделкой, а всё остальное живёт в полях сделки и контакта.

Данные сайтаОбъект amoCRMКуда кладём
Имя, телефон, e-mailКонтактСтандартные поля контакта
Номер и сумма заказаСделкаНазвание и бюджет сделки
Состав заказаСделкаПримечание или товары
Доставка и оплатаСделкаКастомные поля
UTM и источникСделкаКастомные поля источника
Комментарий клиентаСделкаПримечание

Кастомные поля создают в amoCRM заранее и запоминают их идентификаторы — интеграция обращается к полям по ID, а не по названию. Если поле переименуют, обмен не сломается; если удалят — сломается, поэтому набор полей фиксируют на старте.

Дедупликация контактов по телефону и почте

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

Правильный алгоритм — искать контакт перед созданием:

  1. Нормализуйте контакты. Телефон приводят к единому формату (только цифры, единый код страны), e-mail — к нижнему регистру и без пробелов.
  2. Ищите совпадение. По нормализованному телефону и почте запрашивают контакт в amoCRM.
  3. Привязывайте или создавайте. Нашли — сделку вешают на существующий контакт; не нашли — создают новый.
  4. Обновляйте аккуратно. Если у контакта не было e-mail, а теперь появился, поле дополняют, не затирая существующие данные.
Нормализация решает половину проблем: «+7 (999) 000-11-22», «8 999 000 11 22» и «79990001122» — это один человек. Без приведения к единому виду amoCRM создаст три контакта и три истории, которые уже не склеить автоматически.

Передача заказа: состав, сумма, доставка

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

Событие сохранения заказа удобно ловить обработчиком модуля продаж и формировать из него полезную нагрузку для amoCRM. Если у вас несколько источников заказов (сайт, маркетплейсы, телефон), логичнее свести их в единую CRM — про такой сценарий мы рассказываем в услуге поддержки интеграций с CRM.

Двусторонняя синхронизация статусов

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

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

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

Очередь и надёжность обмена

Нельзя отправлять данные в amoCRM прямо в момент, когда клиент нажимает «Оформить заказ». Если API ответит с задержкой или ошибкой, покупатель увидит зависшую форму или потеряет заказ — это прямой удар по конверсии. Обмен должен быть асинхронным.

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

UTM-метки и сквозная аналитика

Интеграция с amoCRM — это ещё и фундамент сквозной аналитики. Чтобы понимать, какая реклама приносит выручку, а не просто заявки, вместе с лидом передают маркетинговый контекст.

Эти данные кладут в кастомные поля сделки. Тогда в amoCRM видно, что заказ на крупную сумму пришёл из конкретной кампании, и рекламный бюджет распределяется по фактической выручке. Если структура интеграции сложная и требует собственного модуля, стоит посмотреть, как устроена разработка модуля под Битрикс.

Пошаговый план внедрения

  1. Соберите карту событий. Какие формы и заказы, в какой этап воронки, с какими полями — согласуйте с отделом продаж.
  2. Заведите поля в amoCRM. Кастомные поля сделки и контакта под доставку, оплату, UTM, ссылку на заказ.
  3. Настройте авторизацию. OAuth-приложение, токены и их автоматическое обновление.
  4. Реализуйте отправку лидов. Обработчики форм создают сделки с дедупликацией контакта.
  5. Подключите заказы. Событие сохранения заказа формирует сделку с составом и суммой.
  6. Добавьте очередь и повторы. Асинхронный обмен с логами и повторными попытками.
  7. Настройте вебхуки статусов. Если нужна двусторонняя связь — карта этапов и защита от эха.
  8. Протестируйте на реальных данных. Разные формы, повторные клиенты, отмены, сбои API.

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

Чек-лист перед запуском

  1. Карта событий и воронки согласована. Известно, какое событие в какой этап и с какими полями идёт.
  2. Дедупликация работает. Повторный клиент привязывается к существующему контакту.
  3. Нормализация настроена. Телефон и e-mail приводятся к единому виду до поиска.
  4. Обмен асинхронный. События идут через очередь с повторами, оформление заказа не зависит от amoCRM.
  5. Поля заполняются по ID. Состав, сумма, доставка, UTM попадают в правильные поля.
  6. Токены обновляются автоматически. Авторизация не протухает.
  7. Логи включены. Каждый обмен виден, сбои разбираются.
  8. Протестировано на боевых сценариях. Повторные клиенты, отмены, недоступность API проверены.

Вывод

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

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

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

Через что технически связывают 1С-Битрикс и amoCRM?

Связь строят через REST API amoCRM: сайт отправляет данные POST-запросами и подписывается на события amoCRM через вебхуки. На стороне Битрикса удобно использовать обработчики событий модуля продаж (OnSaleOrderSaved и подобные) и событий форм, а сам обмен вынести в отдельный сервисный класс на D7. Готовые коннекторы из Маркетплейса тоже работают, но для нетиповой логики полей и статусов почти всегда нужна доработка под проект.

В чём разница между лидом, сделкой и контактом в amoCRM?

Контакт — это человек (или компания), сделка — конкретная продажа с этапами воронки, а лид в amoCRM по сути и есть неразобранная сделка на входе воронки. Из форм сайта обычно создают сделку в статусе «Неразобранное» с привязанным контактом. Заказ магазина логичнее сразу класть сделкой в нужный этап воронки продаж, чтобы менеджер видел состав и сумму, а не пустую заявку.

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

Перед созданием контакта его ищут в amoCRM по телефону и e-mail через метод поиска. Если совпадение найдено — сделку привязывают к существующему контакту, если нет — создают новый. Телефон и почту нормализуют (убирают пробелы, скобки, приводят номер к единому формату), иначе «+7 (999)» и «8999» дадут два разных контакта. Дедупликацию лучше делать на стороне интеграции, а не полагаться только на автопоиск amoCRM.

Можно ли передавать в amoCRM состав заказа, а не только сумму?

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

Нужно ли синхронизировать статусы заказа обратно из amoCRM в Битрикс?

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

Что делать, если amoCRM недоступна в момент оформления заказа?

Обмен нельзя делать синхронно в момент нажатия кнопки: если amoCRM ответит с задержкой или ошибкой, клиент увидит зависшую форму. Правильно складывать событие в очередь (таблица или агент Битрикса) и отправлять его фоновым процессом с повторными попытками. Тогда недоступность CRM не ломает оформление заказа, а данные догружаются, как только связь восстановится.

Сохранять ли UTM-метки и источник при передаче лида?

Обязательно, если вы считаете эффективность рекламы. UTM-метки, источник, страницу входа и client_id из систем аналитики кладут в кастомные поля сделки. Тогда в amoCRM видно, из какого канала пришёл заказ, и можно строить сквозную аналитику по выручке, а не только по заявкам. Метки собирают в куках при первом визите и подставляют в скрытые поля форм.

Коннектор из Маркетплейса или своя интеграция — что выбрать?

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

Поделиться:

Нужно связать магазин на Битрикс с amoCRM без потерь?

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

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

Редакция B2Bsite

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

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