Інтеграція квіз-форми з Бітрікс24: webhook, REST API

Наша компанія займається розробкою, підтримкою та обслуговуванням рішень на Бітрікс та Бітрікс24 будь-якої складності. Від простих односторінкових сайтів до складних інтернет-магазинів, CRM систем з інтеграцією 1С та телефонії. Досвід розробників підтверджено сертифікатами від вендора.
Послуги, які ми пропонуємо
Показано 1 з 1Усі 1626 послуг
Інтеграція квіз-форми з Бітрікс24: webhook, REST API
Середній
~1-2 тижні
Часті запитання

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

Етапи розробки

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

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1361
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Розробка веб-сайту для компанії ФІКСПЕР
    948
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Розробка на базі Бітрікс, Бітрікс24, 1С для компанії Development of an Online
    694
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    833
  • image_crm_dolbimby_434_0.webp
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    732
  • image_crm_technotorgcomplex_453_0.webp
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    1075

Менеджер отримує в CRM просто контакт, а відповіді квізу (бюджет, терміни, вподобання) залишаються в нечитабельному коментарі або взагалі не потрапляють до системи. В результаті кваліфікація ліда затягується на години, а рекламні канали — без атрибуції. Ми вирішуємо це завдання: налаштовуємо передачу кожної відповіді квізу в окреме користувацьке поле Бітрікс24, створюємо лід з UTM-мітками та автоматичним завданням-колбеком. Інтеграція виконується під ключ з гарантією 6 місяців і досвідом 10+ років на Бітрікс. Наша компанія на ринку CRM-рішень понад 5 років, реалізувала понад 80 успішних інтеграцій.

Чому квіз-форма ефективніша за звичайну?

Звичайна форма з трьох полів (ім'я, телефон, коментар) дає менеджеру мінімум інформації. Клієнт не завжди знає, що написати в коментарі, і часто залишає його порожнім. Квіз-форма структурує діалог: задає конкретні питання (бюджет, терміни, вподобання) та фіксує вибір із варіантів. В результаті в CRM потрапляють не просто контакт, а готова кваліфікація ліда. Це скорочує час обробки в 2–3 рази (тобто на 50-70% швидше) і підвищує конверсію в угоду на 30%.

Основні способи інтеграції: порівняння

Webhook vs CRM-форма vs кастомний квіз – кожен варіант має свої переваги. Webhook краще за рівнем кастомізації в 5 разів порівняно з CRM-формою. CRM-форма вбудовується за 1–2 години, але дає мінімум гнучкості. Кастомний квіз з REST API дозволяє повністю контролювати UX, але вимагає 1–2 тижнів розробки. Ми рекомендуємо перший варіант як оптимальний за співвідношенням ціна/якість.

Підхід Складність Кастомізація Час впровадження Вимагає розробки
Webhook від квіз-сервісу -> посередник -> Бітрікс24 Середня Висока (свій мапінг) 3–7 днів Так (PHP-обробник)
Кастомний квіз на сайті -> REST API Висока Максимальна 1–2 тижні Так (фронт + бек)
CRM-форма Бітрікс24 (мультикрок) Низька Низька (дизайн) 1–2 години Ні

Як інтеграція прискорює обробку лідів?

При ручній обробці менеджер (manager) витрачає час на передзвін і уточнення потреб. З інтеграцією всі відповіді вже є в картці ліда: бюджет, терміновість, тип приміщення — окремими полями. Менеджер одразу бачить, чи варто дзвонити терміново або надіслати комерційну пропозицію. Додатково ми створюємо завдання-активність (activity) «Зателефонувати через 2 години» — це автоматизує follow-up і знижує ризик втрати ліда на 80%.

Технічна реалізація: webhook Marquiz → Бітрікс24

Marquiz надсилає POST з JSON-пейлоадом при завершенні квізу:

Приклад пейлоаду Marquiz
{
  "quiz_id": "abc123",
  "quiz_name": "Підбір вікон",
  "contact": {
    "name": "Іван",
    "phone": "+380991234567",
    "email": "[email protected]"
  },
  "answers": [
    {"question": "Тип приміщення", "answer": "Квартира"},
    {"question": "Кількість вікон", "answer": "3"},
    {"question": "Терміновість", "answer": "Протягом місяця"},
    {"question": "Бюджет", "answer": "50 000 – 100 000 грн"}
  ],
  "result": "Стандартний пакет",
  "utm": {
    "utm_source": "yandex",
    "utm_campaign": "windows_brand"
  }
}

Обробник на стороні вашого сервера (посередника між Marquiz та Бітрікс24):

// /local/api/quiz-webhook.php
require_once($_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/main/include/prolog_before.php');

header('Content-Type: application/json');

$payload = json_decode(file_get_contents('php://input'), true);

// Верификация по секретному токену в заголовке
$token  = $_SERVER['HTTP_X_QUIZ_TOKEN'] ?? '';
$secret = \Bitrix\Main\Config\Option::get('local.quiz', 'webhook_secret_marquiz');

if (!hash_equals($secret, $token)) {
    http_response_code(403);
    exit(json_encode(['error' => 'Unauthorized']));
}

$integrator = new \Local\Quiz\Bx24Integrator();
$result     = $integrator->createLeadFromQuiz($payload);

echo json_encode(['success' => true, 'lead_id' => $result]);

Створення ліда через REST API

namespace Local\Quiz;

use Local\Bx24\RestClient;

class Bx24Integrator
{
    private RestClient $bx24;

    public function __construct()
    {
        // Входящий вебхук Битрикс24 с правами crm.lead.add
        $webhookUrl = \Bitrix\Main\Config\Option::get('local.quiz', 'bx24_webhook_url');
        $this->bx24 = new RestClient($webhookUrl);
    }

    public function createLeadFromQuiz(array $data): int
    {
        $contact = $data['contact'] ?? [];
        $answers = $data['answers'] ?? [];

        // Формируем блок комментария с ответами квиза
        $comments = $this->buildQuizComment($data['quiz_name'] ?? '', $answers, $data['result'] ?? '');

        $leadFields = [
            'TITLE'          => ($data['quiz_name'] ?? 'Квіз') . ': ' . ($contact['phone'] ?? ''),
            'NAME'           => $contact['name'] ?? '',
            'PHONE'          => [['VALUE' => $contact['phone'] ?? '', 'VALUE_TYPE' => 'WORK']],
            'EMAIL'          => [['VALUE' => $contact['email'] ?? '', 'VALUE_TYPE' => 'WORK']],
            'SOURCE_ID'      => 'WEB',
            'STATUS_ID'      => 'NEW',
            'COMMENTS'       => $comments,
            'UF_QUIZ_ID'     => $data['quiz_id'] ?? '',
            'UF_QUIZ_RESULT' => $data['result'] ?? '',
            'UF_UTM_SOURCE'  => $data['utm']['utm_source'] ?? '',
            'UF_UTM_CAMPAIGN'=> $data['utm']['utm_campaign'] ?? '',
        ];

        // Добавляем отдельные поля под конкретные вопросы квиза
        $leadFields = $this->mapAnswersToFields($leadFields, $answers);

        $result = $this->bx24->call('crm.lead.add', ['fields' => $leadFields]);

        $leadId = (int)($result['result'] ?? 0);

        if ($leadId) {
            // Добавляем задачу менеджеру
            $this->bx24->call('crm.activity.add', [
                'fields' => [
                    'TYPE_ID'       => 2, // дзвінок
                    'SUBJECT'       => 'Зателефонувати за квізом: ' . ($contact['phone'] ?? ''),
                    'OWNER_TYPE_ID' => 1, // лід
                    'OWNER_ID'      => $leadId,
                    'DEADLINE'      => date('c', strtotime('+2 hours')),
                ],
            ]);
        }

        return $leadId;
    }

    private function buildQuizComment(string $quizName, array $answers, string $result): string
    {
        $lines = ["=== Квіз: {$quizName} ==="];

        foreach ($answers as $answer) {
            $lines[] = ($answer['question'] ?? '?') . ': ' . ($answer['answer'] ?? '—');
        }

        if ($result) {
            $lines[] = '';
            $lines[] = "Результат квізу: {$result}";
        }

        return implode("\n", $lines);
    }

    private function mapAnswersToFields(array $fields, array $answers): array
    {
        // Маппинг конкретных вопросов в пользовательские поля Битрикс24
        $mapping = [
            'Кількість вікон'    => 'UF_WINDOWS_COUNT',
            'Тип приміщення'      => 'UF_ROOM_TYPE',
            'Бюджет'             => 'UF_BUDGET_RANGE',
            'Терміновість'       => 'UF_URGENCY',
        ];

        foreach ($answers as $answer) {
            $question = $answer['question'] ?? '';
            $fieldCode = $mapping[$question] ?? null;

            if ($fieldCode) {
                $fields[$fieldCode] = $answer['answer'] ?? '';
            }
        }

        return $fields;
    }
}

Налаштування користувацьких полів

Поля створюються через REST API або в інтерфейсі Бітрікс24 (CRM → Налаштування → Користувацькі поля). Документація Бітрікс24 REST API: https://dev.1c-bitrix.ru/rest_help/

// Создание пользовательского поля для лида через REST
$this->bx24->call('crm.userfield.add', [
    'fields' => [
        'ENTITY_ID'   => 'CRM_LEAD',
        'FIELD_NAME'  => 'UF_QUIZ_RESULT',
        'USER_TYPE_ID'=> 'string',
        'XML_ID'      => 'QUIZ_RESULT',
        'EDIT_FORM_LABEL' => ['ru' => 'Результат квізу'],
        'LIST_COLUMN_LABEL' => ['ru' => 'Результат квізу'],
        'MANDATORY'   => 'N',
    ],
]);
Питання квізу Поле в CRM Тип
Бюджет UF_BUDGET_RANGE string
Тип приміщення UF_ROOM_TYPE string
Терміновість UF_URGENCY string
Кількість вікон UF_WINDOWS_COUNT integer

Інтеграція через CRM-форму Бітрікс24

Якщо квіз розробляється з нуля — альтернативний підхід: CRM-форма Бітрікс24 з прихованими полями. Останній крок квізу надсилає дані безпосередньо у форму через API:

// Фінальний крок квізу: надсилаємо дані в CRM-форму Бітрікс24
async function submitQuizToBx24(answers, contact) {
    const formData = new FormData();

    // Поля CRM-форми
    formData.append('fields[NAME]', contact.name);
    formData.append('fields[PHONE][0][VALUE]', contact.phone);
    formData.append('fields[UF_QUIZ_RESULT]', getQuizResult(answers));
    formData.append('fields[COMMENTS]', formatAnswers(answers));

    // ID форми з налаштувань Бітрікс24
    const formId = document.getElementById('quiz-container').dataset.bx24FormId;

    await fetch(`https://your-domain.bitrix24.ru/crm/webform/import/form/${formId}/`, {
        method: 'POST',
        body: formData,
    });
}

Що входить в інтеграцію

  • Документація по API та мапінгу полів
  • Доступи до webhook-обробника та FTP/хостингу
  • Навчання менеджерів роботі з новими полями
  • Тестування 3-х сценаріїв (квіз → лід → активність)
  • Гарантійна підтримка 6 місяців

Процес та вартість

  1. Аналіз структури квізу та вимог до полів CRM.
  2. Створення користувацьких полів у Бітрікс24 (через REST або інтерфейс).
  3. Розробка webhook-обробника або REST-скрипта для прийому даних.
  4. Налаштування мапінгу питань → поля ліда.
  5. Створення автоматичного завдання-активності (дзвінок через 2 години).
  6. Тестування повного сценарію: заповнення квізу → поява ліда в CRM.
  7. Документація та передача доступів.

Базовий webhook (один квіз-сервіс, 3 поля відповіді, без UTM) — від 3 до 7 днів, вартість від 15 000 грн. Повне налаштування (кастомні поля, активність, UTM, кілька квізів) — 1–2 тижні, від 30 000 грн. Економія від автоматизації складає до 15 000 грн щомісяця за рахунок зниження витрат на ручну обробку. Надішліть запит на оцінку вашого проєкту — підготуємо комерційну пропозицію протягом дня.

Впровадження та налаштування CRM на базі 1С-Бітрікс і Бітрікс24

Граблі, на які наступають усі — і як ми їх обходимо

За роки впроваджень бачили одне й те саме. Компанія купує Бітрікс24 — і через три місяці CRM перетворюється на телефонний довідник. Менеджери заповнюють два поля з дванадцяти, угоди зависають на стадії «Переговори» місяцями, керівник не відкриває аналітику.

Корінь проблеми — впровадження без аудиту. Налаштували «як у підручнику», а продажі влаштовані інакше.

Опір персоналу. Менеджери звикли до Excel та блокнотів. CRM сприймають як контроль, а не інструмент. Що працює: залучаємо ключових співробітників на етапі проєктування, показуємо особисту вигоду — автоматичні нагадування, готові шаблони КП, менше рутини. Навчаємо на реальних сценаріях, а не абстрактних прикладах.

Неповне введення даних. Обов'язкові поля заповнюють, решту ігнорують. Вирішуємо: налаштовуємо обов'язкові поля за стадіями (на кожному етапі — лише актуальні), впроваджуємо автозаповнення з UTM-міток, парсинг email, дані з відкритих баз. Прибираємо надлишкові поля — менше полів, вища якість.

Криві воронки. Забагато стадій, немає критеріїв переходу, дублюючі етапи. Проєктуємо за фактом — як продажі влаштовані насправді — і переглядаємо структуру за накопиченими даними.

Ігнорування автоматизації. CRM впровадили, але ліди розподіляють вручну, листи надсилають руками. Налаштовуємо роботів та бізнес-процеси з першого дня — щоб команда одразу відчула різницю.

Що входить до арсеналу Бітрікс24

Звернення з усіх каналів (телефон, пошта, месенджери, форми) фіксуються автоматично. Ліди створюються та розподіляються без ручного втручання. Візуальний канбан з кастомними стадіями — перетягнув картку на наступний етап, автоматично пішов лист, створилося завдання.

Омніканальність: єдине вікно для телефонії, email, WhatsApp, Telegram, Viber, VK, Instagram, онлайн-чату. Клієнт написав у WhatsApp зранку, зателефонував удень — менеджер бачить всю історію.

Роботи та бізнес-процеси: розсилки, генерація документів, нагадування, ескалації — без коду. Аналітика: воронка, конверсії, джерела лідів, навантаження менеджерів, середній час обробки.

Зв'язка «сайт на 1С-Бітрікс + CRM Бітрікс24»

Тут синергія, а не просто два продукти:

  • Форми сайту → ліди в CRM миттєво, з повною UTM-розміткою. Видно, звідки прийшов кожен клієнт
  • Онлайн-чат → відкриті лінії. Відвідувач пише на сайті, менеджер відповідає з CRM
  • Замовлення в магазині → угоди в CRM. Менеджер бачить, що купив клієнт, пропонує допродаж
  • Колтрекінг — підміна номерів для прив'язки дзвінків до рекламних кампаній
  • Наскрізна аналітика — витрати на рекламу, візити, заявки, продажі в одному звіті. ROI кожного каналу

Що робимо

Аудит. Розбираємося, як продажі працюють зараз. Де губляться ліди? Які канали приводять клієнтів? Формуємо рекомендації до початку технічного впровадження.

Проєктування. Множинні воронки для різних напрямків, кастомні поля, обов'язкові етапи та умови переходу. Структура відображає реальний процес, а не ідеальну схему.

Інтеграції. Зв'язуємо з сайтом (1С-Бітрікс), телефонією, поштою, месенджерами, рекламними системами, 1С.

Кастомні модулі. Коли стандартного не вистачає — додатки для Бітрікс24: специфічні звіти, нетипова бізнес-логіка, інтеграції з галузевими системами.

Міграція. Переносимо бази з amoCRM, Мегаплан, Salesforce, HubSpot, Excel. Зв'язки, історія комунікацій, вкладення — все на місці.

Навчання. Тренінги під вашу конфігурацію, відеоінструкції, документація.

Хмарна або коробкова

Хмарна (SaaS) — швидкий старт, не потрібен сервер, автооновлення. Для команд до 100 осіб із типовими процесами.

Коробкова (On-Premise) — свій сервер, повний контроль даних, безмежні доробки. Для великих компаній із жорсткими вимогами до безпеки або нестандартною логікою.

Метрики, які відстежуємо

Конверсія за етапами воронки. Якщо 80% втрачаються на етапі КП — проблема в ціноутворенні, а не в менеджерах. Норма: 5-15% для B2B, 1-5% для B2C з високим чеком.

Час обробки ліда. Відповідь за 5 хвилин підвищує конверсію в 10 разів порівняно з відповіддю через півгодини. Налаштовуємо алерти — якщо менеджер не відповів за 15 хвилин, лід переходить до іншого.

LTV. CRM сегментує клієнтів за lifetime value — менеджери фокусуються на найцінніших.

Середній цикл угоди. Якщо зростає — щось у процесі зламалося. Причини відмов — золота жила для коригування продукту та скриптів.

Кейси

Виробнича компанія (B2B). Заявки губилися в пошті, керівник дізнавався про великі угоди постфактум. Налаштували автоматичну фіксацію звернень, воронку «кваліфікація → розрахунок → КП → узгодження → договір → оплата». Роботи формують КП за шаблоном. Конверсія зросла на 23%, час обробки — з 4 годин до 20 хвилин.

Мережа роздрібних магазинів. Офлайн + онлайн в одній системі. Каси через 1С, автоматичне створення контактів при покупці за карткою лояльності. CRM-маркетинг через Бітрікс24 дав зростання повторних покупок на 18%.

IT-сервісна компанія. Три воронки: нові клієнти, допродажі, тендери. Автогенерація договорів та рахунків, інтеграція з Jira — після підписання завдання автоматично потрапляють до відділу розробки. Керівництво отримало зважений прогноз виручки.

Терміни

Масштаб Терміни Що входить
Базове впровадження 1–2 тижні Воронка, телефонія, пошта, імпорт бази
Стандартне 1–2 місяці Кастомні воронки, автоматизація, інтеграції з сайтом та 1С
Комплексне 2–4 місяці Множинні воронки, кастомні модулі, навчання, наскрізна аналітика

Після впровадження: технічна підтримка з SLA (реакція від 1 години), регулярний аудит використання, розвиток функціоналу, навчання нових співробітників.