Юр. сторона и интеграции

Интеграция сайта с amoCRM или Битрикс24: что отдать подрядчику

Что подготовить для интеграции сайта с amoCRM и Битрикс24, какие типы интеграций бывают и что обычно идёт не так. Сценарии для маленького бизнеса.

обновлено 8 минут чтения 0 Дмитрий Акиндинов
Содержание
  1. Виды интеграции
  2. Что подготовить ДО разговора с подрядчиком
  3. Реалистичный сценарий «webhook от формы»
  4. Что обычно идёт не так
  5. Битрикс24 vs amoCRM: что выбрать
  6. Сколько стоит интеграция
  7. Чек-лист для подрядчика
  8. Что я делаю клиентам
  9. Куда дальше
  10. Частые вопросы

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

«Хочу, чтобы заявки с сайта прилетали в amoCRM (или Битрикс24)». Это самый частый запрос на интеграцию у моих клиентов. Звучит просто, и в большинстве случаев так и есть: заявка отправляется через форму, через webhook попадает в CRM, менеджер видит её сразу, всё счастливы.

Но в реальности под этим простым запросом скрываются десятки нюансов, на которых проекты буксуют. Какие именно поля передавать. Что делать с дубликатами. Как обработать спам так, чтобы он не засорял CRM. Что считать конверсией. Кто принимает первое касание.

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

Два здания соединены мостом передачи данных

Виды интеграции

В порядке возрастания сложности.

Уровень 1. Webhook от формы

Самый простой вариант. Сайт отправляет POST-запрос на URL CRM при каждой заявке. CRM создаёт сделку или контакт.

Плюсы: настраивается за час, надёжно работает, минимум сложности.

Минусы: только в одну сторону (сайт → CRM). Если CRM отвечает что-то, сайт не узнаёт.

Когда подходит: маленький бизнес, который просто хочет видеть заявки в CRM.

Уровень 2. Двусторонняя синхронизация

Сайт отправляет в CRM, и периодически тянет из CRM статусы сделок. Например, статус «закрыта успешно» отображается на сайте в личном кабинете клиента.

Плюсы: видны изменения с обеих сторон.

Минусы: сложнее, требует разбираться с API авторизацией, токенами, обработкой ошибок.

Когда подходит: проекты с личным кабинетом или статусами для клиента.

Уровень 3. Полная интеграция

Сайт это часть CRM-экосистемы. Контакты, сделки, статусы, продукты, цены всё синхронизируется. Это уже корпоративный уровень.

Плюсы: единый источник истины.

Минусы: дорого (200+ тысяч на разработку), сложно поддерживать.

Когда подходит: крупный сайт с большим объёмом операций.

Уровень 4. Интеграция через middleware

Между сайтом и CRM стоит промежуточный слой (Make.com, Zapier, или собственный сервис), который маршрутизирует данные в несколько мест.

Например: заявка с сайта → Make.com → одновременно в amoCRM, Telegram, Google Sheets, на email.

Плюсы: гибкость, можно менять маршруты без правки кода сайта.

Минусы: ежемесячная плата за Make/Zapier (10-50 долларов), дополнительная точка отказа.

Когда подходит: сложные потоки данных, экспериментируете с маркетинг-автоматизацией.

Что подготовить ДО разговора с подрядчиком

Чем больше вы продумаете заранее, тем меньше будет переписок и переделок.

1. Сценарий «как должна сработать заявка»

Подробно опишите путь:

  • Клиент заходит на сайт.
  • Заполняет форму (какие поля).
  • Что происходит дальше: в CRM создаётся сделка / контакт / задача / пр.
  • На каком этапе воронки она появляется.
  • Кто из менеджеров получает уведомление.
  • Что если поле пусто или невалидно.
  • Что если клиент уже есть в CRM (дубликат).

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

2. Структура полей

Какие поля приходят с сайта, как они называются в CRM. Например:

Поле сайтаПоле CRM
ИмяКонтакт.Имя
ТелефонКонтакт.Телефон
EmailКонтакт.Email
СообщениеСделка.Описание
Услуга (выпадающий)Сделка.Тип услуги
UTM-меткиСделка.Источник

Если CRM поля настроены не как у вас в форме, нужны кастомные поля в CRM.

3. Воронка

В какую конкретно воронку и в какой статус попадает заявка. У большинства amoCRM в одной воронке несколько этапов: «Новая заявка», «В работе», «Перезвонить», «Сделка», «Закрыто». На какой именно этап заходит заявка с сайта.

4. Доступы

Подрядчику нужно:

  • Доступ к CRM (логин администратора или роль с правом создавать интеграции).
  • Доступ к админке сайта.
  • Доступ к коду сайта (FTP, SSH или Git).
  • Контакт ответственного на стороне CRM (если есть штатный CRM-админ).

5. Тестовый сценарий

После настройки нужно прогнать тестовую заявку. Заранее договоритесь:

  • На какой email/телефон присылать тестовые.
  • Какой текст в сообщении (чтобы отделить тестовую от реальной).
  • Кто проверяет, что в CRM пришло правильно.
  • Что делать, если что-то сломалось.
Форма обращения переходит в CRM-карточку

Реалистичный сценарий «webhook от формы»

Базовая интеграция, которую я делаю в 80 процентах случаев.

Шаг 1. В amoCRM

  1. Зайти в Настройки → Интеграции → Создать интеграцию.
  2. Тип «Свой webhook».
  3. Получить URL webhook.
  4. Указать, при каких событиях он будет дёргаться (при создании сделки, изменении статуса, итд).

В Битрикс24 аналогично: Настройки → Интеграции → Webhook.

Шаг 2. На сайте

В обработчике формы (mail.php или серверная часть) добавить отправку POST на webhook:

$data = [
    'name' => $_POST['name'],
    'phone' => $_POST['phone'],
    'email' => $_POST['email'],
    'message' => $_POST['message'],
    'source' => 'sitefix.ru',
    'utm_source' => $_POST['utm_source'] ?? '',
    'utm_campaign' => $_POST['utm_campaign'] ?? '',
];

$ch = curl_init('https://yourdomain.amocrm.ru/private/api/v2/json/incoming_leads/form');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'Authorization: Bearer YOUR_TOKEN',
    'Content-Type: application/x-www-form-urlencoded',
]);
$response = curl_exec($ch);
curl_close($ch);

Шаг 3. Тестирование

  1. Заполнить форму на сайте тестовыми данными.
  2. Проверить в amoCRM, появилась ли сделка.
  3. Проверить, что все поля заполнены.
  4. Проверить, что сделка попала в нужную воронку и статус.
  5. Проверить, что менеджеру пришло уведомление.

Шаг 4. Обработка ошибок

Что делать, если CRM недоступна:

  • Логировать запрос в файл на сервере.
  • Дублировать в email или Telegram, чтобы не потерять заявку.
  • Очередь повторов при ошибке отправки попытаться снова через 5 минут.

Простейший вариант: если CRM не отвечает, всё равно отправить email клиенту и менеджеру. CRM подключается «как могу».

Что обычно идёт не так

Несколько паттернов проблем.

Дубликаты

Клиент заполняет форму два раза «на всякий случай», в CRM появляются две сделки. Решение:

  • В CRM настроить дедупликацию по email или телефону.
  • На сайте блокировать повторную отправку с одного IP в течение 5 минут.
  • В CRM при создании сделки проверять, есть ли контакт с такими же данными в последний час.

Спам в CRM

Если форма не защищена от спама, в CRM попадают «казино», «нужно SEO», «выгодные инвестиции». Менеджер тратит время на отсев.

Решение: защита формы от спама (см. соседнюю статью про защиту формы без reCAPTCHA). Только после фильтрации отправлять в CRM.

Битые UTM-метки

UTM приходят с разных каналов (Яндекс Директ, ВК, рассылка), но в CRM попадают неполные. Менеджер не знает, откуда лид.

Решение: на сайте сохранить UTM-метки в cookie при первом входе. Передавать в форму при отправке. В CRM создать кастомные поля под utm_source, utm_medium, utm_campaign, utm_term, utm_content.

Неправильное распределение по менеджерам

Если в CRM настроен round-robin (каждый новый лид следующему менеджеру), без хорошей настройки лиды могут попадать к недоступному менеджеру (отпуск, выходной, отвалился).

Решение: в CRM настроить правила «менеджер недоступен лид следующему», «менеджер не ответил за 30 минут эскалация».

Ошибки кодировки

Имя «Алексей» приходит в CRM как «РђР»РµРєСЃРµР№». Решение: в обработчике формы и в API-вызове CRM использовать UTF-8 явно. Все content-type заголовки application/json; charset=utf-8.

Большие сообщения

Если в форме поле «комментарий» неограниченное, и клиент написал 10 тысяч знаков, CRM может это принять, но обрезать или показывать криво.

Решение: на сайте ограничить длину поля разумной цифрой (3000-5000 знаков).

Необработанные ошибки

В коде интеграции отсутствует обработка ошибок. CRM ответил 500, заявка потерялась.

Решение: всегда логировать ответы CRM в отдельный файл. Дублировать важные данные в email или Telegram.

Битрикс24 vs amoCRM: что выбрать

amoCRM

Плюсы:

  • Простой интерфейс, низкий порог для менеджеров.
  • Хорошее API, документация.
  • Готовые интеграции с большинством сервисов.
  • Webhook’и работают надёжно.

Минусы:

  • Платно от 599 рублей в месяц на пользователя.
  • Меньше «коробочных» функций, чем у Битрикс24.

Использую с маленькими командами 2-10 человек.

Битрикс24

Плюсы:

  • Бесплатный тариф для команд до 12 человек.
  • Корпоративный портал: задачи, чат, диск, телефония, всё в одном.
  • Глубокая интеграция с 1С.

Минусы:

  • Перегруженный интерфейс.
  • Вебхуки иногда задерживаются.
  • API сложнее.

Использую с компаниями, которым нужен полный корпортал, не только CRM.

RetailCRM

Специализированная для интернет-магазинов. Если у вас магазин, может быть лучше Битрикса.

YClients

Для салонов красоты, медицинских центров, фитнес-клубов. Если у вас услуги с записью на конкретное время, это может быть основным инструментом.

Сколько стоит интеграция

Реалистичные числа.

Простая (webhook от формы)

  • Разработка: 5-15 тысяч рублей.
  • Настройка amoCRM/Битрикс24 со стороны клиента: 1-3 часа собственного времени или подрядчика.

Итого: 5-20 тысяч.

Средняя (двусторонняя синхронизация)

  • Разработка: 20-60 тысяч.
  • Настройка CRM: 5-15 тысяч.

Итого: 25-75 тысяч.

Сложная (полная интеграция с продуктами и заказами)

  • Разработка: 80-300 тысяч.
  • Настройка CRM: 20-80 тысяч.
  • Тестирование и обкатка: 15-30 тысяч.

Итого: 115-410 тысяч.

Для маленького сайта услуг чаще всего достаточно простой интеграции 5-15 тысяч.

Воронка с лидами на стадиях

Чек-лист для подрядчика

Что должно быть в техническом задании:

  1. Тип интеграции: webhook, двусторонняя, полная.
  2. CRM: amoCRM, Битрикс24, другая.
  3. Какие формы интегрировать: главная, отдельные лендинги, корзина.
  4. Какие поля передавать список с маппингом.
  5. В какую воронку и статус.
  6. Кто получает уведомления в CRM.
  7. Дедупликация: по чему и как.
  8. UTM-метки: где сохранять, как передавать.
  9. Обработка спама до отправки или после.
  10. Что делать при ошибке CRM (логировать, дублировать, очередь).
  11. Тестовый сценарий перед запуском.
  12. Документация для будущей поддержки.

С таким ТЗ подрядчик не блуждает, и интеграция получается рабочая с первого раза.

Что я делаю клиентам

В моей практике:

  • Простая webhook-интеграция в составе сайта 5-10 тысяч единоразово.
  • Двусторонняя синхронизация с amoCRM/Битрикс24 30-60 тысяч.
  • Поддержка интеграции в составе абонентки 0-5 тысяч в месяц.
  • Сложные интеграции через Make.com или собственный middleware по проектному заказу.

В стандартный годовой и месячный тариф абонентского обслуживания базовая webhook-интеграция входит, если у клиента уже есть CRM.

Куда дальше

Связанные материалы: Интеграция формы с Telegram-ботом, Подключение онлайн-оплаты, Защита формы от спама без reCAPTCHA.

Если хотите интегрировать сайт с CRM, заявка через форму на главной. Опишите задачу, и я подскажу подходящий уровень интеграции и реалистичную смету.

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

Что нужно подготовить до разговора с подрядчиком

Доступ к CRM с правами администратора, список полей формы, схему воронки и стадий, правило распределения заявок между менеджерами. Без этого интеграция превращается в переписку на две недели.

Сколько стоит интеграция сайта с CRM

Базовая передача заявок через webhook укладывается в несколько часов работы. Сложная, с двусторонним обменом, статусами и товарами, считается отдельно и растёт кратно.

Что обычно идёт не так

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

amoCRM или Битрикс24

amoCRM проще и быстрее заводится, когда нужны только продажи. Битрикс24 тяжелее, но закрывает ещё задачи, документы и внутренние процессы. Выбирают по тому, что кроме воронки нужно компании.

Передайте техническую часть в надёжные руки.

Слежу за хостингом, бэкапами и обновлениями. Когда что-то пойдёт не так – звоните мне, не своему программисту, не в спортзал и не маме.

Короткие вопросы по теме

Все вопросы по теме "Юр. сторона и интеграции"

Заявка

Обсудим задачу

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

Куда удобнее ответить?