Інтеграція Бітрікс24 з сайтом: автоматизація продажів і лідів

Зауважимо: коли сайт не пов'язаний із CRM, менеджери витрачають до 2 годин на день на ручне введення заявок — до 30% лідів втрачаються через затримки та помилки. Втрати виручки для інтернет-магазину із середнім чеком 4000 грн можуть сягати 120 000 грн на місяць тільки через неопрацьовані заявки. Вик

Розробка та обслуговування будь-яких видів сайтів:

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

Це лише деякі з технічних типів сайтів, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 2062 послуг
Інтеграція Бітрікс24 з сайтом: автоматизація продажів і лідів
Середній
~2-3 дні

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

Часті запитання

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1418
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1285
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    983
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1242
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    983
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Розробка веб-сайту для компанії ФІКСПЕР
    997

Зауважимо: коли сайт не пов'язаний із CRM, менеджери витрачають до 2 годин на день на ручне введення заявок — до 30% лідів втрачаються через затримки та помилки. Втрати виручки для інтернет-магазину із середнім чеком 4000 грн можуть сягати 120 000 грн на місяць тільки через неопрацьовані заявки. Виконуємо підключення Бітрікс24 до сайту будь-якої складності: налаштовуємо автоматичну передачу даних із форм зворотного зв'язку, кошика інтернет-магазину та лендингів безпосередньо в CRM. Інтеграція виконується під ключ за 1–4 дні з гарантією збереження даних та цілодобовою підтримкою. У нашій практиці середній проєкт займає 2.5 дні, а відмовостійкість досягається за рахунок черг і повторних спроб. Точність синхронізації — 99.9%, час відповіді webhook менше 1 секунди. Отримайте консультацію з інтеграції — ми проаналізуємо ваш сайт і запропонуємо оптимальне рішення.

Які завдання вирішує інтеграція з Бітрікс24?

  • Автоматичне створення лідів і угод при надсиланні форм (заявки, зворотний дзвінок, реєстрація). Передаються ім'я, телефон, email, коментар, UTM-мітки.
  • Двостороння синхронізація контактів, товарів і замовлень. Зміна статусу угоди в CRM миттєво відображається на сайті і навпаки.
  • Збір аналітики через UTM-мітки та джерела в CRM — видно, звідки прийшов клієнт.
  • Виключення дублів за рахунок перевірки контактів за телефоном або email перед створенням.

Чому варто інтегрувати Бітрікс24 з сайтом?

Ручне перенесення заявок призводить до втрат до 30% лідів і затримок в обробці. Інтеграція через вихідні webhook і REST API усуває ці проблеми: ліди створюються миттєво, статуси синхронізуються в реальному часі. Для інтернет-магазинів це ще й автоматичне оновлення залишків і статусів замовлень. У підсумку менеджери працюють тільки з теплими контактами, а воронка продажів стає прозорою. Економія на зарплаті оператора може сягати 30 000 грн/міс.

Як обробляються помилки та ліміти?

При перевищенні ліміту запитів (2 на секунду) API повертає помилку. Ми використовуємо batch-методи та чергу завдань (Redis + Supervisor), щоб відправляти до 50 заявок на секунду без втрат. Усі невдалі запити повторюються з експоненційною затримкою до 5 разів. Це гарантує, що жоден лід не загубиться.

Як ми реалізуємо синхронізацію?

Використовуємо вихідні webhook Бітрікс24 як найпростіший спосіб: не вимагає OAuth-авторизації, працює через один URL. Стек: PHP 8.3+, Laravel 11, Guzzle HTTP. Детальніше про методи REST API можна дізнатися в офіційній документації.

Приклад: створення ліда з форми зворотного зв'язку

class Bitrix24Client { private string $webhookUrl; public function __construct() { $this->webhookUrl = config('bitrix24.webhook_url'); } public function callMethod(string $method, array $params = []): array { $response = Http::timeout(15) ->post($this->webhookUrl . $method, $params); if ($response->failed()) { throw new \RuntimeException('Bitrix24 API error: ' . $response->status()); } $data = $response->json(); if (!empty($data['error'])) { throw new \RuntimeException('Bitrix24: ' . $data['error_description']); } return $data['result'] ?? []; } public function createLead(array $fields): int { return $this->callMethod('crm.lead.add', [ 'fields' => $fields, 'params' => ['REGISTER_SONET_EVENT' => 'Y'], ]); } } 

Контролер зберігає заявку в локальній базі та відправляє запит у CRM. Навіть при помилці API дані не втрачаються.

class ContactFormController extends Controller { public function submit(ContactFormRequest $request): JsonResponse { $contact = ContactRequest::create($request->validated()); try { $bitrix = app(Bitrix24Client::class); $leadId = $bitrix->createLead([ 'TITLE' => 'Заявка з сайту: ' . $request->name, 'NAME' => $request->name, 'PHONE' => [['VALUE' => $request->phone, 'VALUE_TYPE' => 'WORK']], 'EMAIL' => [['VALUE' => $request->email, 'VALUE_TYPE' => 'WORK']], 'COMMENTS' => $request->message, 'SOURCE_ID' => 'WEB', 'SOURCE_DESCRIPTION' => 'Форма: ' . $request->form_id, 'ASSIGNED_BY_ID' => config('bitrix24.default_responsible_id'), 'UF_CRM_UTM_SOURCE' => session('utm_source'), 'UF_CRM_UTM_MEDIUM' => session('utm_medium'), 'UF_CRM_UTM_CAMPAIGN' => session('utm_campaign'), ]); $contact->update(['bitrix_lead_id' => $leadId]); } catch (\Exception $e) { Log::error('Bitrix24 lead creation failed', ['error' => $e->getMessage()]); } return response()->json(['success' => true]); } } 

Для інтернет-магазинів: угода з товарами

Замість ліда краще створити угоду з прив'язкою товарів. Це дає повну карту замовлення в CRM.

public function createDealFromOrder(Order $order): void { $bitrix = app(Bitrix24Client::class); $contacts = $bitrix->callMethod('crm.contact.list', [ 'filter' => ['PHONE' => $order->customer_phone], 'select' => ['ID', 'NAME'], ]); $contactId = $contacts[0]['ID'] ?? $bitrix->callMethod('crm.contact.add', [ 'fields' => [ 'NAME' => $order->customer_name, 'PHONE' => [['VALUE' => $order->customer_phone, 'VALUE_TYPE' => 'WORK']], 'EMAIL' => [['VALUE' => $order->customer_email, 'VALUE_TYPE' => 'WORK']], ], ]); $dealId = $bitrix->callMethod('crm.deal.add', [ 'fields' => [ 'TITLE' => 'Замовлення #' . $order->number, 'CONTACT_ID' => $contactId, 'OPPORTUNITY' => $order->total, 'CURRENCY_ID' => 'UAH', 'STAGE_ID' => 'NEW', 'COMMENTS' => $this->buildOrderComment($order), ], ]); $productRows = $order->items->map(fn($item) => [ 'PRODUCT_NAME' => $item->product->name, 'PRICE' => $item->price, 'QUANTITY' => $item->quantity, 'MEASURE_NAME' => 'шт.', ])->toArray(); $bitrix->callMethod('crm.deal.productrows.set', [ 'id' => $dealId, 'rows' => $productRows, ]); $order->update(['bitrix_deal_id' => $dealId]); } 

Обробка подій із CRM на сайті

Зауважимо: коли менеджер змінює статус угоди в Бітрікс24, сайт повинен оновити статус замовлення. Налаштовуємо вхідний webhook з перевіркою підпису.

// routes/api.php Route::post('/webhooks/bitrix24', [Bitrix24WebhookController::class, 'handle']) ->middleware('bitrix24.signature'); class Bitrix24WebhookController extends Controller { public function handle(Request $request): Response { $event = $request->input('event'); $data = $request->input('data'); match ($event) { 'ONCRMDEALSTAGEUPDATED' => $this->onDealStageUpdated($data), 'ONCRMLEADADD' => $this->onLeadAdded($data), default => null, }; return response('OK'); } private function onDealStageUpdated(array $data): void { $dealId = $data['FIELDS']['ID']; $stageId = $data['FIELDS']['STAGE_ID']; $order = Order::where('bitrix_deal_id', $dealId)->first(); if (!$order) return; $statusMap = [ 'WON' => 'completed', 'LOSE' => 'cancelled', 'IN_PROCESS' => 'processing', ]; if ($status = $statusMap[$stageId] ?? null) { $order->update(['status' => $status]); } } } 

Підпис webhook перевіряється middleware:

class Bitrix24SignatureMiddleware { public function handle(Request $request, Closure $next): Response { $memberId = $request->input('auth.member_id'); if ($memberId !== config('bitrix24.member_id')) { abort(403); } return $next($request); } } 

Для впровадження під ваш проєкт зв'яжіться з нашими інженерами.

Як налаштувати вихідний вебхук за 15 хвилин?

  1. У Бітрікс24 перейдіть у «Застосунки» → «Вебхук» → «Вихідний вебхук».
  2. Вкажіть URL-адресу обробника на вашому сайті.
  3. Виберіть події: створення ліда, зміна угоди тощо.
  4. Збережіть. Тепер усі вибрані події будуть надсилатися на ваш сервер.

Порівняння методів інтеграції: REST API та webhook

Параметр REST API Webhook (вихідний)
Авторизація OAuth-токен Секретний ключ
Ініціація Сайт → CRM CRM → Сайт
Підходить для Масова синхронізація Сповіщення про події
Помилки Відповідь сервера Втрата події при недоступності

Що входить в роботу?

  • Налаштування вихідного вебхука та пункту прийому на сайті.
  • Реалізація створення лідів і угод з передачею всіх необхідних полів.
  • Двостороння синхронізація статусів через вхідний webhook.
  • Інтеграція UTM-міток та джерел трафіку.
  • Обробка помилок і повторна відправка при збоях.
  • Документування API-ендпоінтів та інструкція для менеджерів.
  • Тестування в пісочниці та бойовому контурі.
Тип даних Лід (Lead) Угода (Deal)
Для кого Проста заявка Інтернет-магазин, складна воронка
Товари Не прив'язані Прив'язка товарних позицій
Статуси Немає стадій Воронка зі стадіями
Рахунок Без суми Сума та валюта
Воронка Єдиний лід Різні етапи продажів

Терміни орієнтовно

Базова інтеграція (ліди з форм) — 1–2 дні. Двостороння синхронізація угод і товарів — 3–4 дні. Додавання телефонії та кастомних воронок — плюс 1–2 дні. Точну оцінку дамо після аналізу вашого стеку. Замовте інтеграцію — ми підготуємо комерційну пропозицію протягом дня.