# Sadykov Form Submissions for Bitrix24

Плагин **Sadykov Form Submissions for Bitrix24** отправляет заявки с форм сайта в Bitrix24 как **лиды** или **сделки** по входящему вебхуку. Неофициальная интеграция; не аффилирован с Bitrix24.

Бесплатная версия — в каталоге [WordPress.org](https://wordpress.org/plugins/) (после модерации). Расширенная версия (Pro) и поддержка — на сайте автора.

## Требования

- WordPress 5.0+, PHP 7.4+
- Портал Битрикс24 с доступом к CRM и входящим вебхукам (Настройки → Инструменты → Разработчикам)

## Установка

1. Установите плагин через **Плагины → Добавить новый** (поиск по имени плагина) или загрузите ZIP.
2. Активируйте плагин.
3. Перейдите в **Настройки → Sadykov — Bitrix24** и укажите URL входящего вебхука Bitrix24.

## Настройка вебхука в Битрикс24

1. В Битрикс24: **Настройки → Инструменты → Разработчикам** → Входящий вебхук.
2. Создайте вебхук с правами **CRM**, скопируйте **URL** (без суффикса метода, без `crm.lead.add` и `.json`).
3. Вставьте URL в поле **«URL входящего вебхука B24»** на странице настроек плагина и нажмите **Сохранить изменения**.

## Настройки плагина

- **Куда отправлять** — Лиды (`crm.lead.add`) или Сделки (`crm.deal.add`).
- **Для сделок — ID воронки (CATEGORY_ID)** — число: `0` это воронка по умолчанию, `1`, `2`, `3`… — свои воронки. ID смотрите в Битрикс24: CRM → Сделки → настройки воронки или в URL при открытии нужной воронки (параметр `category_id` и т.п.).
- **Этап сделки (STAGE_ID)** — код этапа: для общей воронки часто `NEW`, `PREPARATION`; для своей воронки с ID `1` — `C1:NEW`, `C1:PREPARATION` (префикс `C` + ID воронки + `:` + код этапа). Пустое поле — этап по умолчанию в B24.
- **Создавать контакт в B24** — перед лидом/сделкой создаётся контакт и привязывается к заявке.
- **Маппинг полей** — соответствие полей формы полям CRM (NAME, PHONE, EMAIL, COMMENTS, TITLE). В блоке **Дополнительные поля** можно добавить свои пары (ключ в форме → поле B24). Ключ поддерживает кириллицу и пробелы (например «Новая строка» → UF_CRM_*). Поля с именами `UF_CRM_*` уходят в B24 автоматически. Кнопка **«Сбросить маппинг»** сбрасывает настройки к значениям по умолчанию.

## Форма заявки (Contact Form 7)

1. Установите **Contact Form 7** (Плагины → Добавить новый).
2. **Контакты → Контактные формы** → откройте форму или создайте новую.
3. В блоке **Форма** вставьте разметку:

```
<label> Ваше имя
    [text* your-name autocomplete:name] </label>

<label> Ваш e-mail
    [email* your-email autocomplete:email] </label>

<label> Тема
    [text* your-subject] </label>

<label> Ваше сообщение (не обязательно)
    [textarea your-message] </label>

<label> Новая строка
    [text UF_CRM_1772535878378] </label>

[submit "Отправить"]
```

Поле «Новая строка» (код в B24: `UF_CRM_1772535878378`) уйдёт в CRM автоматически. Стандартный маппинг: your-name → NAME, your-email → EMAIL, your-subject → TITLE, your-message → COMMENTS. Для телефона добавьте `[tel* your-phone]` (your-phone → PHONE).

4. Сохраните форму и вставьте её шорткод на страницу (Страницы → Добавить/Редактировать).

## Поддерживаемые формы

- **Contact Form 7** — заявки отправляются в B24 автоматически после отправки формы.
- **Elementor Forms (Elementor Pro)** — автоотправка; маппинг по типу поля и подписи.
- **WPForms** — автоотправка; маппинг по типу поля (Name, Email, Phone, Paragraph).
- **Gravity Forms** — автоотправка; маппинг по типу поля.
- **Любая форма или свой код:** вызовите `b24_leads_wp_send_lead( $data );` или `do_action( 'b24_leads_wp_send_lead', $data );`, где `$data` — массив с ключами `name`, `phone`, `email`, `message`, `title` (и при необходимости `utm_source` и т.д.).

## Дополнительные поля и пользовательские поля B24 (UF_CRM_*)

- **Ключ в форме = код поля B24** (например `UF_CRM_1772535878378`): значение уходит в B24 автоматически, добавлять в маппинг не нужно.
- **Свой ключ** (например «Компания» или `company`): в **Настройки → Sadykov — Bitrix24** нажмите **Добавить поле**, укажите ключ в форме и поле в B24 (например `COMPANY_TITLE`). Ключ может быть на кириллице с пробелами.
- Коды полей B24 смотрите в **CRM → Настройки → Настройка полей** / Поля лидов (сделок).

## Журнал отправок и диагностика

На странице **Настройки → Sadykov — Bitrix24** внизу отображается **Журнал отправок** (последние 50 записей): тип Успех/Ошибка/Пропуск, время, сообщение, ID лида/сделки. Кнопка **Очистить журнал**. Блок **Последний ответ Битрикс24** показывает код ответа и тело ответа сервера — по нему можно понять причину ошибки (неверный вебхук, права, данные).

**Если заявка не попала в B24:** проверьте журнал (тип Ошибка/Пропуск и текст сообщения), блок «Последний ответ Битрикс24», корректность URL вебхука и наличие полей по маппингу в форме.

## Лицензия

Код распространяется под лицензией GPL v2 or later. В каталоге WordPress.org плагин доступен бесплатно. Расширенные возможности (Pro) — на сайте автора.
