Как подключить свой вебхук для приёма заявок

Обновлено

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

Как подключить вебхук

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

1
Откройте настройки сайта
В конструкторе выберите сайт и перейдите в «Настройки» → «Приём заявок».
2
Добавьте ссылку
В разделе «Доступные для подключения» нажмите «Подключить вебхук» и вставьте ссылку, начиная с https://.
3
Нажмите «Тест»
Мы отправим тестовую заявку. Если она дошла — всё работает, настоящие заявки будут приходить так же.
Раздел «Приём заявок» в настройках сайта: подключение вебхука
Совет. Проверить вебхук без своего сервера можно на бесплатном сайте webhook.site: он выдаёт временную ссылку и показывает всё, что на неё приходит.

В каком виде приходят данные

На вашу ссылку отправляется POST-запрос с телом в формате JSON (кодировка UTF-8, заголовок Content-Type: application/json). Поля запроса:

ПолеЧто содержит
eventТип события: lead.created — настоящая заявка, lead.test — тест кнопкой «Тест».
testtrue у тестовой заявки, false у настоящей.
lead_idНомер заявки в KotPlatform. У повторной отправки той же заявки номер не меняется.
site_nameНазвание сайта.
site_slugАдрес сайта (часть до .kotplatform.site).
page_pathСтраница, с которой отправлена форма (например, «/» — главная).
block_idНомер блока с формой или квизом на странице.
leadКонтакты посетителя со стабильными ключами: name, phone, email. Поле всегда на месте; чего нет в форме — придёт пустой строкой. Привязывайтесь к этому блоку.
answersОтветы квиза и остальные поля формы — списком пар { "question": …, "answer": … }. Структура списка не меняется, даже если вы переименуете или переставите вопросы.
fieldsТе же данные одним списком «название поля: значение» — как поля называются в форме. Удобно для быстрого просмотра, но для интеграций надёжнее lead и answers.
submitted_atДата и время отправки заявки.
Пример заявки
{
  "event": "lead.created",
  "test": false,
  "lead_id": 1024,
  "site_name": "Ремонт квартир в Казани",
  "site_slug": "remont-kazan",
  "page_path": "/",
  "block_id": "form_main",
  "lead": {
    "name": "Иван",
    "phone": "+7 900 123-45-67",
    "email": "ivan@example.com"
  },
  "answers": [
    { "question": "Какой у вас бюджет?", "answer": "до 100 тыс." },
    { "question": "Когда планируете начать?", "answer": "в этом месяце" }
  ],
  "utm": {
    "utm_source": "yandex",
    "utm_medium": "cpc",
    "utm_campaign": "114696138"
  },
  "fields": {
    "name": "Иван",
    "phone": "+7 900 123-45-67",
    "email": "ivan@example.com",
    "Какой у вас бюджет?": "до 100 тыс.",
    "Когда планируете начать?": "в этом месяце"
  },
  "submitted_at": "2026-07-18T14:32:05+03:00"
}
Совет. В интеграциях и сервисах-посредниках привязывайтесь к блоку lead и списку answers — они не зависят от текстов вопросов. Если настроить связку на названия полей из fields, она сломается при переименовании вопроса в квизе.

Как принять заявку на своём сервере

Ваша ссылка должна работать по https и отвечать кодом 200 (или любым кодом 2xx) — это сигнал «заявку получил». Содержимое ответа мы не читаем, можно отвечать пустой страницей. Отвечайте быстро: на ответ отводится 10 секунд, тяжёлую обработку лучше делать после ответа.

Если ссылка не ответила или ответила ошибкой, мы повторим отправку — до трёх раз с паузой около минуты. Поэтому один и тот же lead_id может прийти повторно: если ведёте свою базу, проверяйте номер заявки, чтобы не создать дубль.

Минимальный пример приёмника (PHP)
<?php
// Простейший приёмник на PHP: сохраняет заявки в файл.
$raw = file_get_contents('php://input');
$data = json_decode($raw, true);

if ($data && ($data['event'] ?? '') === 'lead.created') {
    $line = date('c')
        . ' | ' . ($data['lead']['name'] ?? '')
        . ' | ' . ($data['lead']['phone'] ?? '');
    foreach ($data['answers'] ?? [] as $a) {
        $line .= ' | ' . $a['question'] . ': ' . $a['answer'];
    }
    file_put_contents(__DIR__ . '/leads.log', $line . PHP_EOL, FILE_APPEND);
}

http_response_code(200); // главное — ответить кодом 200
Важно. Перенаправления (редиректы) по вашей ссылке не выполняются — указывайте конечный адрес сразу. Заявки, отсеянные защитой от спама, на вебхук не отправляются.

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

Можно ли передавать заявки в CRM?
Да. Если ваша CRM умеет принимать данные по ссылке — вставьте её ссылку в поле вебхука. Для Envybox есть готовое подключение в этом же разделе — вебхук не нужен. Также подойдут сервисы-посредники (Albato, ApiX-Drive): они принимают наш вебхук и сами передают заявку в сотни систем.
Сколько вебхуков можно подключить к одному сайту?
До двух. Каждая заявка отправляется на все подключённые адреса одновременно, вместе с письмами на почту — одно другому не мешает.
Заявка не пришла на вебхук. Что проверить?
Сначала нажмите «Тест» — если тест не проходит, ссылка недоступна или отвечает ошибкой. Заявки, отсеянные защитой от спама, на вебхук не отправляются. Все заявки в любом случае сохраняются в разделе «Заявки» — сверьтесь с ним.
Почему телефон и почта в заявке пришли со звёздочками?
На балансе не хватило кредитов на оплату заявки. Пополните баланс — контакты откроются в кабинете, а следующие заявки будут приходить полностью.