> ## Documentation Index
> Fetch the complete documentation index at: https://docs.landerlab.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Интеграция Webhook: отправка лидов на HTTPS-эндпоинт

> Настройте вебхук в LanderLab, чтобы в реальном времени отправлять данные лидов в CRM, покупателям или на свой HTTPS-эндпоинт.

> Подключите вебхук к лендингам в LanderLab, чтобы в реальном времени отправлять данные лидов на любой HTTPS-эндпоинт. С помощью вебхуков можно передавать лиды в CRM, платформы дистрибуции лидов, собственные API или любую систему, которая принимает HTTP-запросы.

## Что такое вебхук?

Вебхук — это автоматический HTTP-запрос, который передаёт данные из одной системы в другую в момент наступления события. В LanderLab вебхук срабатывает каждый раз, когда на лендинге собран лид. Он отправляет данные лида (поля формы, информацию о посетителе и любые заданные вами пользовательские поля) на указанный вами URL.

Благодаря этому лиды мгновенно попадают в вашу CRM, к покупателю лидов или в бэкенд — без ручной выгрузки и сторонних посредников.

Интеграция с вебхуками в LanderLab поддерживает методы **GET**, **POST** и **PUT**, типы тела запроса **JSON** и **Form (URL encoded)**, пользовательские заголовки и полный контроль над тем, какие поля отправляются и как они называются.

<Note>
  Интеграции с вебхуками **не** сохраняются глобально. Каждый вебхук настраивается отдельно для лендинга, поэтому для каждого лендинга, с которого нужно отправлять данные лидов, придётся создать новый вебхук.
</Note>

## Как добавить вебхук

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

### Шаг 1. Настройте запрос

<Steps>
  <Step title="Откройте свой лендинг">
    Перейдите в **Landing Pages** и нажмите на **название лендинга**, к которому хотите добавить вебхук.
  </Step>

  <Step title="Откройте вкладку Integrations">
    Нажмите **Add Integration**, чтобы открыть панель интеграций.
  </Step>

  <Step title="Выберите интеграцию Webhook">
    В списке доступных интеграций найдите **Webhook integration** (с подписью «Send lead data to any HTTPS endpoint in real time») и нажмите на неё. Откроется мастер настройки вебхука.
  </Step>

  <Step title="Заполните настройки запроса">
    Введите следующие данные:

    | Поле | Описание |
    | :- | :- |
    | **Name** | Название для этого вебхука (например, «Send leads to CRM» или «Lead Buyer - Webhook»). |
    | **URL** | HTTPS-эндпоинт, на который нужно отправлять данные лидов (например, `https://api.example.com/webhooks/leads`). Это должен быть корректный HTTPS-адрес. |
    | **Method** | HTTP-метод запроса. Доступны **GET**, **POST** и **PUT**. Большинство интеграций используют POST. |
    | **Body type** | Формат тела запроса. Выберите **JSON** (`application/json`) или **Form (URL encoded)** (`application/x-www-form-urlencoded`). Большинство API ожидают JSON. |

    <Note>
      Параметр **Body type** применяется только к запросам POST и PUT. Запросы GET передают данные в параметрах URL.
    </Note>
  </Step>

  <Step title="Добавьте заголовки (необязательно)">
    Если вашему эндпоинту нужны пользовательские HTTP-заголовки (например, API-ключ или токен авторизации), нажмите **+ Add header** и введите **Key** и **Value** для каждого заголовка. Типичные примеры:

    | Key | Value |
    | :- | :- |
    | `Authorization` | `Bearer your-api-key` |
    | `X-API-Key` | `your-api-key` |

    Чтобы добавить несколько заголовков, нажимайте **+ Add header** снова.
  </Step>

  <Step title="Нажмите Continue">
    Нажмите **Continue**, чтобы перейти к сопоставлению полей.
  </Step>
</Steps>

### Шаг 2. Сопоставьте поля

На этом шаге вы выбираете, какие поля включить в запрос вебхука и как они будут называться при отправке на ваш эндпоинт. В LanderLab есть два способа собрать payload: режим **Fields** — простой визуальный редактор соответствий, и режим **JSON** — полный контроль над телом запроса.

Вверху экрана находится переключатель **Fields** / **JSON**. Выберите тот режим, который подходит для вашей задачи.

#### Вариант A. Режим Fields (рекомендуется большинству)

Режим Fields — это визуальный интерфейс, в котором можно выбирать поля, переименовывать их ключи и добавлять собственные значения без написания кода.

<Steps>
  <Step title="Выберите и настройте поля">
    LanderLab автоматически включает набор стандартных полей LanderLab, доступных на любом лендинге. У каждого поля есть флажок для включения или исключения и столбец **Sent As**, где можно переименовать ключ, отправляемый в запросе. Стандартные поля LanderLab:

    | Поле формы | Sent As (ключ по умолчанию) | Описание |
    | :- | :- | :- |
    | **LL Lander URL** | `ll_lander_url` | Полный URL лендинга, на котором был посетитель. |
    | **LL Visitor IP** | `ll_visitor_ip` | IP-адрес посетителя. |
    | **LL Visitor User Agent** | `ll_visitor_user_agent` | Информация о браузере и устройстве посетителя. |
    | **LL Submission Time UTC** | `ll_submission_time_utc` | Дата и время отправки лида (в UTC). |
    | **LL Variant ID** | `ll_variant_id` | ID варианта A/B-теста, который увидел посетитель. |

    Включайте и отключайте любые поля флажками. Значение **Sent As** можно изменить, чтобы оно совпадало с названиями полей, которые ждёт ваш эндпоинт.

    <Tip>
      Если на лендинге есть **квиз-воронка** или **форма**, все добавленные вами поля формы (имя, email, телефон, адрес и любые пользовательские поля) автоматически появятся в этом списке рядом со стандартными полями LanderLab. Их можно включать, отключать и переименовывать так же, как стандартные.
    </Tip>
  </Step>

  <Step title="Добавьте пользовательские поля (необязательно)">
    В разделе **Additional fields** нажмите **+ Add field**, чтобы добавить в payload вебхука дополнительные пары «ключ — значение». Это удобно для статических значений, таких как ID кампании, метка источника лида или идентификатор API, которые нужны вашему эндпоинту, но не собираются из формы.
  </Step>

  <Step title="Нажмите Continue">
    Нажмите **Continue**, чтобы перейти к проверке.
  </Step>
</Steps>

#### Вариант B. Режим JSON (для продвинутых)

Режим JSON открывает редактор кода, где вы пишете точное JSON-тело, которое будет отправлено вебхуком. Это продвинутый вариант для тех, кому нужен полный контроль над структурой payload, особенно когда принимающему API требуются вложенные объекты, массивы или формат, который режим Fields создать не может.

<Steps>
  <Step title="Переключитесь в режим JSON">
    Нажмите переключатель **JSON** вверху экрана. Появится редактор кода со стандартным JSON payload, включающим все доступные поля.
  </Step>

  <Step title="Отредактируйте JSON payload">
    Пишите или изменяйте JSON-тело прямо в редакторе. Чтобы вставить динамические данные лида, используйте синтаксис шаблона `{{Field Name}}`. Введите `/`, чтобы открыть выбор полей, или впишите имя переменной вручную внутри двойных фигурных скобок. Эти переменные шаблона заменяются реальными значениями при срабатывании вебхука. Например, `{{LL Visitor IP}}` будет заменён на фактический IP-адрес посетителя, отправившего лид.

    **Простой плоский payload (такой же создаёт режим Fields):**

    ```json theme={null}
    {
      "ll_lander_url": "{{LL Lander URL}}",
      "ll_visitor_ip": "{{LL Visitor IP}}",
      "ll_visitor_user_agent": "{{LL Visitor User Agent}}",
      "ll_submission_time_utc": "{{LL Submission Time UTC}}",
      "ll_variant_id": "{{LL Variant ID}}"
    }
    ```

    **Вложенный payload со сгруппированными объектами:**

    Некоторые API ожидают данные, организованные во вложенных объектах. Режим JSON позволяет построить любую нужную структуру. Например:

    ```json theme={null}
    {
      "lead": {
        "first_name": "{{First Name}}",
        "last_name": "{{Last Name}}",
        "email": "{{Email}}",
        "phone": "{{Phone}}"
      },
      "tracking": {
        "source_url": "{{LL Lander URL}}",
        "ip_address": "{{LL Visitor IP}}",
        "user_agent": "{{LL Visitor User Agent}}",
        "submitted_at": "{{LL Submission Time UTC}}"
      },
      "campaign": {
        "variant_id": "{{LL Variant ID}}",
        "source": "landerlab"
      }
    }
    ```

    **Payload со статическими значениями и смешанными данными:**

    В одном payload можно сочетать динамические переменные шаблона и жёстко заданные статические значения:

    ```json theme={null}
    {
      "api_key": "your-api-key-here",
      "lead_source": "landing_page",
      "contact": {
        "name": "{{Full Name}}",
        "email": "{{Email}}",
        "phone": "{{Phone}}",
        "zip": "{{Zip Code}}"
      },
      "meta": {
        "page_url": "{{LL Lander URL}}",
        "ip": "{{LL Visitor IP}}",
        "variant": "{{LL Variant ID}}"
      }
    }
    ```

    <Note>
      Названия полей внутри `{{ }}` должны точно совпадать с названиями полей, доступных на вашем лендинге. Стандартные поля LanderLab называются `LL Lander URL`, `LL Visitor IP` и т. д. Поля формы и квиза называются так, как вы назвали их при создании формы (например, `First Name`, `Email`, `Phone`).
    </Note>
  </Step>

  <Step title="Нажмите Continue">
    Нажмите **Continue**, чтобы перейти к проверке.
  </Step>
</Steps>

### Шаг 3. Проверьте и подключите

<Steps>
  <Step title="Проверьте вебхук">
    Последний шаг показывает полный предпросмотр запроса, который будет отправляться при каждом сборе лида. Вы увидите:

    * **HTTP-метод** и **URL** (например, `POST https://api.example.com/webhooks/leads`)
    * **Тело запроса** со всеми сопоставленными полями в виде переменных шаблона (например, `{{LL Lander URL}}`, `{{LL Visitor IP}}`)

    Внимательно проверьте запрос: метод, URL и названия полей должны совпадать с тем, что ожидает ваш эндпоинт.

    <Tip>
      Нажмите кнопку **cURL** в правом верхнем углу предпросмотра, чтобы скопировать запрос в виде команды cURL. С её помощью можно вручную протестировать вебхук в терминале до подключения.
    </Tip>
  </Step>

  <Step title="Нажмите Connect webhook">
    Если всё выглядит верно, нажмите **Connect webhook**, чтобы сохранить и активировать интеграцию. Если нужно что-то изменить, нажмите **Back** и вернитесь к предыдущим шагам.
  </Step>
</Steps>

## Типичные сценарии использования

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

* **CRM-системы** — отправляйте лиды напрямую в Salesforce, HubSpot, GoHighLevel или любую CRM, которая принимает входящие вебхуки или имеет API-эндпоинт.
* **Платформы дистрибуции лидов** — передавайте лиды покупателям или в ping tree в реальном времени для торгов и распределения лидов.
* **Инструменты email-маркетинга** — добавляйте новые лиды в списки рассылки в Mailchimp, ActiveCampaign или Klaviyo.
* **Собственные бэкенды** — отправляйте данные в свой API или бэкенд для обработки, скоринга или маршрутизации.
* **Zapier или Make** — используйте URL вебхука из Zapier или Make, чтобы запускать автоматизации на основе лидов с вашего лендинга.

## Советы по настройке вебхуков

* **Всегда используйте HTTPS** — LanderLab требует HTTPS-адрес для эндпоинтов вебхуков. HTTP-адреса не поддерживаются.
* **Согласуйте названия полей** — используйте столбец **Sent As** на шаге 2, чтобы переименовать поля под ожидания принимающей системы. Например, если ваша CRM ждёт `email_address` вместо `email`, переименуйте поле в редакторе соответствий.
* **Тестируйте до запуска** — используйте кнопку **cURL** на шаге проверки, чтобы скопировать и вручную протестировать запрос. Также можно использовать сервисы вроде [webhook.site](https://webhook.site), чтобы просматривать входящие запросы и проверять формат payload.
* **Добавляйте заголовки аутентификации** — если эндпоинту нужен API-ключ или токен, добавьте его в раздел Headers на шаге 1. Не указывайте учётные данные в URL.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.