Автоматизация лидогенерации: интеграция сайта с CRM

Передача заявок в CRM: автоматизация без ошибок

Разработка и обслуживание любых видов сайтов:

Информационные сайты или веб-приложения
Сайты визитки, landing page, корпоративные сайты, онлайн каталоги, квиз, промо-сайты, блоги, новостные ресурсы, информационные порталы, форумы, агрегаторы
Сайты или веб-приложения электронной коммерции
Интернет-магазины, B2B-порталы, маркетплейсы, онлайн-обменники, кэшбэк-сайты, биржи, дропшиппинг-платформы, парсеры товаров
Веб-приложения для управления бизнес-процессами
CRM-системы, ERP-системы, корпоративные порталы, системы управления производством, парсеры информации
Сайты или веб-приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, конструкторы сайтов, порталы предоставления электронных услуг, видеохостинги, тематические порталы

Это лишь некоторые из технических типов сайтов, с которыми мы работаем, и каждый из них может иметь свои специфические особенности и функциональность, а также быть адаптированным под конкретные потребности и цели клиента

Услуги, которые мы предлагаем
Показано 1 из 1Все 2062 услуг
Автоматизация лидогенерации: интеграция сайта с CRM
Средний
от 1 дня до 3 дней

Наши компетенции:

Часто задаваемые вопросы

Последние работы

  • Разработка сайта компании B2B ADVANCE
    Разработка сайта компании B2B ADVANCE
    1467
  • Разработка веб-приложения для компании FEEDME
    Разработка веб-приложения для компании FEEDME
    1320
  • Разработка веб-сайта для компании БЕЛФИНГРУПП
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    1016
  • Разработка интернет магазина для компании FURNORO
    Разработка интернет магазина для компании FURNORO
    1276
  • Разработка веб-приложения для компании Enviok
    Разработка веб-приложения для компании Enviok
    1019
  • Разработка веб-сайта для компании ФИКСПЕР
    Разработка веб-сайта для компании ФИКСПЕР
    1019

Передача заявок в CRM: автоматизация без ошибок

Заявки с сайта приходят на почту — менеджер тратит до 30 минут в день на ручной перенос в CRM. Ошибки в контактах, потеря лидов, задержки реакции. Мы устраняем эту боль: форма отправляет данные напрямую через API, заявка мгновенно оказывается в воронке, менеджер получает уведомление в Telegram. Без шаблонных писем, без дублирования. UTM-метки сохраняются, спам-боты блокируются.

Выбор протокола — REST API с OAuth2 (amoCRM, Salesforce) или вебхуки (Битрикс24, HubSpot) — влияет на скорость и надёжность. REST API в два раза быстрее и позволяет повторять запрос при ошибке. Все токены кэшируются в Redis и обновляются автоматически. Интеграция работает годами без сбоев, экономя менеджеру до 10 часов в неделю. Экономия средств: при 100 лидах в месяц вы сохраняете до $500 на ручном вводе. Стоимость разработки начинается от $300, что окупается за месяц-два.

Какие технические сложности решаем?

  • OAuth2-токены amoCRM живут 24 часа — без автообновления форма перестаёт работать. Реализован менеджер токенов: refresh-токен продлевает сессию, access_token кэшируется на 23 часа.
  • Битрикс24 требует настройки вебхуков и собственной авторизации. Проверка подписи гарантирует, что запросы приходят только от вашей формы.
  • UTM-метки теряются, если не сохранять их при первом визите. Мы пишем их в куки на 30 дней и передаём вместе с формой.
  • Дубликаты контактов блокируются проверкой существующих записей в CRM по email или телефону.
  • Спам-боты отсеиваются honeypot-полем и скрытой капчей.

Как мы интегрируем форму с CRM?

Рассмотрим интеграцию с amoCRM на Laravel 11 (PHP 8.3). Сервис создаёт лид, контакт и заполняет кастомные поля (источник, комментарий).

class AmoCrmService { private string $subdomain; private string $accessToken; public function createLead(array $formData): int { $resp = Http::withToken($this->accessToken) ->post("https://{$this->subdomain}.amocrm.ru/api/v4/leads", [ [ 'name' => "Заявка с сайта: {$formData['name']}", 'status_id' => config('amocrm.initial_status_id'), 'pipeline_id' => config('amocrm.pipeline_id'), '_embedded' => [ 'contacts' => [[ 'name' => $formData['name'], 'custom_fields_values' => [ ['field_code' => 'EMAIL', 'values' => [['value' => $formData['email']]]], ['field_code' => 'PHONE', 'values' => [['value' => $formData['phone'], 'enum_code' => 'WORK']]], ], ]], ], 'custom_fields_values' => [ ['field_id' => config('amocrm.source_field_id'), 'values' => [['value' => 'Сайт']]], ['field_id' => config('amocrm.comment_field_id'), 'values' => [['value' => $formData['message']]]], ], ] ]); return $resp->json('_embedded.leads.0.id'); } } 

Токен обновляется через AmoCrmTokenManager, который кэширует access_token в Redis на 23 часа.

class AmoCrmTokenManager { public function getValidToken(): string { $stored = Cache::get('amocrm_access_token'); if ($stored) return $stored; // Обновляем через refresh_token $resp = Http::post("https://{$this->subdomain}.amocrm.ru/oauth2/access_token", [ 'client_id' => config('amocrm.client_id'), 'client_secret' => config('amocrm.client_secret'), 'grant_type' => 'refresh_token', 'refresh_token' => decrypt(Setting::get('amocrm_refresh_token')), 'redirect_uri' => config('amocrm.redirect_uri'), ]); $tokens = $resp->json(); Cache::put('amocrm_access_token', $tokens['access_token'], 82800); // 23 часа Setting::set('amocrm_refresh_token', encrypt($tokens['refresh_token'])); return $tokens['access_token']; } } 

Автоматизация UTM-меток: как это работает

Без UTM вы не узнаете, какой канал принёс лид. Мы фиксируем параметры при первом визите в куки (срок 30 дней) и передаём вместе с формой.

// Сохраняем UTM при первом визите const utmParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content']; const params = new URLSearchParams(window.location.search); utmParams.forEach(param => { if (params.has(param)) { document.cookie = `${param}=${params.get(param)};path=/;max-age=2592000`; } }); // При отправке формы добавляем UTM function getUtmData() { return Object.fromEntries( utmParams.map(p => [p, getCookie(p) || '']).filter(([, v]) => v) ); } 

Для прямого захода подставляем 'direct', чтобы не терять аналитику.

Сравнение подходов: REST API vs Webhook

Критерий REST API Webhook
Время отклика 0.5–2 сек 1–3 сек
Требуется токен Да (OAuth2) Нет (но нужна проверка подписи)
Обработка ошибок Можно повторять запрос Ошибка на стороне CRM — потеря уведомления
Подходит для amoCRM, Salesforce, Pipedrive Битрикс24, HubSpot, WordPress

Как избежать потери заявок при сбое CRM?

При отказе CRM мы повторяем отправку до 3 раз с интервалом в 10 секунд. Если все попытки неудачны, заявка сохраняется в локальном логе, а администратору приходит алерт в Telegram. Это гарантирует, что ни одна заявка не будет потеряна. Для критичных сценариев подключаем очередь через Redis — данные сохраняются до восстановления CRM.

Что входит в интеграцию

  • Проектирование логики: маппинг полей, выбор протокола, обработка ошибок.
  • Разработка формы: валидация, стилизация (опционально), интеграция с CRM.
  • Автоматизация токенов: OAuth2 refresh, кэширование в Redis.
  • UTM-метки: запись в куки, передача в кастомные поля.
  • Документация: описание API-точек, примеры запросов, инструкция для менеджеров.
  • Поддержка при запуске: настройка мониторинга, алерты в Telegram/Slack.

Этапы интеграции формы с CRM

Этап Описание Срок (раб. дней)
1. Аналитика Согласование маппинга полей, выбор протокола, проектирование логики 1
2. Реализация Разработка формы, написание сервиса интеграции, обработка ошибок 2–4
3. Тестирование Проверка всех сценариев (успех, таймаут, дубликат, спам) 1
4. Документация Описание точек интеграции, примеры запросов, инструкция 0.5
5. Деплой Настройка кэширования токенов, мониторинг, уведомления 0.5

Дополнительно подключаем отправку уведомлений в Telegram/Slack при успехе или сбое.

Сроки и стоимость

Интеграция с одной CRM (без кастомного дизайна формы) занимает 3–5 рабочих дней. Если требуется уникальная форма (стилизация, сложная валидация, дополнительные поля) — срок увеличивается до 7–10 дней.

Стоимость рассчитывается индивидуально после знакомства со стеком и объёмом. Свяжитесь с нами — оценим проект за 1 день. У нас 50+ подобных интеграций. Гарантируем стабильную работу формы: если возникают ошибки, чиним в течение дня. Закажите интеграцию и забудьте о ручном вводе заявок.

Подход основан на официальной документации amoCRM REST API.