Интеграции
Интеграция сайта с CRM: архитектура, данные и этапы
Как настроить интеграцию сайта с CRM: формы, лиды, статусы, дедупликация, UTM, вебхуки, защита от дублей, мониторинг и приемка.

Что должна обеспечивать интеграция сайта и CRM
Интеграция сайта с CRM нужна не только для создания сделки после формы. Она должна сохранить контакт, согласие, страницу, рекламные метки, продукт и содержание обращения, а затем корректно обновить уже существующего клиента. Пользователь при этом должен получить подтверждение независимо от временного сбоя CRM.
Надежная архитектура разделяет прием заявки и внешнюю систему. Сайт быстро проверяет данные, сохраняет событие и отвечает пользователю, а фоновый процесс доставляет информацию в CRM с повторными попытками. Так недоступность внешнего API не превращается в потерянную заявку или бесконечную загрузку формы.
Архитектура обмена
Даже небольшая интеграция выигрывает от явного слоя доставки и наблюдаемости.
- Форма и серверный endpoint с проверкой полей, согласия, спама и ограничения частоты.
- Хранилище событий или очередь, которая не теряет заявку при временной ошибке.
- Адаптер CRM, скрывающий токены, преобразование полей и особенности конкретного API.
- Webhook-приемник для разрешенных обратных статусов с проверкой подписи и идемпотентностью.
- Мониторинг очереди, алерты, поиск по идентификатору и отчет сверки за период.
Контракт данных между системами
До разработки владельцы сайта и CRM согласуют сущности, обязательность полей и источник истины.
- Типы форм и сценариев: консультация, заказ, подписка, расчет, личный кабинет или поддержка.
- Правила поиска контакта и компании по телефону, email, внешнему идентификатору и другим признакам.
- Соответствие продуктов, воронок, этапов, источников и ответственных менеджеров.
- UTM, referrer, landing page, client ID аналитики и текст согласия на обработку данных.
- Обратные статусы, которые нужны сайту, рекламным системам или пользовательскому кабинету.
Этапы реализации интеграции
Разработку начинают с тестового контура и нескольких контрольных заявок для каждого типа формы.
- Описать JSON-контракт, типы, допустимые значения и версионирование входного события.
- Добавить серверную валидацию, защиту от спама и сохранение согласия с датой и версией текста.
- Сохранять заявку до обращения к CRM и присваивать ей стабильный идентификатор.
- Реализовать поиск дубля, создание или обновление контакта и создание нужного объекта воронки.
- Настроить очередь, повторные попытки, журнал ответа API и уведомление об окончательной ошибке.
- Проверить обратные события, аналитику и сверку количества заявок между системами.
Как проверить интеграцию
Контроль ведут сквозным идентификатором от формы до карточки и отчета, а не только статусом запроса.
- Совпадение числа валидных заявок на сайте и созданных или обновленных объектов CRM.
- Доля событий, доставленных с первой попытки, и возраст самой старой записи в очереди.
- Количество дублей, неверных воронок и лидов без источника или ответственного.
- Время от отправки формы до появления задачи менеджера.
- Полнота рекламных меток, client ID и обратных статусов для аналитики.
Причины потерянных и задвоенных лидов
Ошибки появляются, когда сайт считает отправку HTTP-запроса завершенным бизнес-результатом.
- Вызывать CRM прямо из браузера и раскрывать токен или зависеть от блокировщиков пользователя.
- Повторять запрос на создание без ключа идемпотентности и создавать дубли после таймаута.
- Искать клиента только по одному полю без нормализации телефона и email.
- Показывать пользователю ошибку, хотя заявка уже сохранена и будет доставлена позже.
- Не мониторить истекший токен, изменение справочника или лимит API до жалобы отдела продаж.
Что считать готовым результатом
Интеграция готова, когда команда может проследить контрольную заявку, пережить недоступность CRM и восстановить ошибку без доступа разработчика к пользовательскому браузеру. Документация должна объяснять контракт, владельцев и порядок замены токена.
После запуска полезна регулярная автоматическая сверка. Она обнаруживает расхождение раньше, чем потерянный лид станет коммерческой проблемой, и позволяет безопасно развивать формы и воронки независимо друг от друга.
Источники
Материал подготовлен редакцией на основе проектной практики и не содержит внешних статистических утверждений.
FAQ
Что делать, если CRM недоступна?
Сохранить заявку на стороне сайта или в очереди, ответить пользователю и повторить доставку. После лимита попыток система должна уведомить ответственного.
Как не создавать дубли?
Нормализовать идентификаторы клиента, определить бизнес-правила поиска и использовать ключ идемпотентности для повторной отправки одного события.
Можно ли передавать UTM-метки?
Да. Нужно заранее решить, хранить первый, последний или оба источника, и передавать вместе с ними страницу входа и идентификаторы аналитики.
