> For the complete documentation index, see [llms.txt](https://itgro-aly.gitbook.io/test-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://itgro-aly.gitbook.io/test-docs/always-create-lead-on-incoming.md).

# always create lead on incoming

По умолчанию модуль только регистрирует звонок, а Битрикс24 сам по номеру телефона ищет лид/контакт, в который нужно записать этот звонок. Новый лид/контакт по умолчанию создается только в случае, если номер телефона не известен.

Чтобы **создавать новый лид при каждом входящем звонке,** нужно сделать запрос на создание лида через кастомизацию.

{% hint style="info" %}
Запросы REST API Битрикс24 из кастомизации поддерживаются начиная с версии 3.4.0.

Функция для создания лида (`Bitrix::createLead`) поддерживается начиная с версии 3.4.2.

Подробности в статье [Запросы в Битрикс из кастомизации](broken://pages/e4ae38ea2c1e64e6733569e835e0be2b6434e175#sozdanie-lida).
{% endhint %}

### 1. Включить **кастомизацию параметров регистрации разговора**

В веб-интерфейсе настройки модуля в разделе **Настройки -> Модуль** нужно поставить галочки **"Включить кастомизацию:"** и **"параметров регистрации разговора":**

{% hint style="warning" %}
При использовании запросов в Битрикс24 из кастомизаций нужно устанавливать достаточный **Таймаут скрипта кастомизации** (в случае одного запроса нужно установить хотя бы 2 секунды).

Значение зависит от количества запросов и особенностей сети и портала Битрикс24: в случае использования нескольких запросов в одной кастомизации, и/или большой загруженности портала имеет смысл значительно увеличить таймаут.
{% endhint %}

### 2. Добавить код в файл кастомизации

{% hint style="info" %}
Кастомизация параметров регистрации разговора настраивается в файле **/opt/itgrix\_bx/customizer/actions/process\_registration\_params.php.**
{% endhint %}

Пример:

```php
$phone = $params['PHONE_NUMBER'];

if ($params['TYPE'] === 2) { // входящий
    $this->logInfo("Create lead for incoming call");

    // Поля в документации:
    // https://dev.1c-bitrix.ru/rest_help/crm/leads/crm_lead_add.php
    $leadResult = Bitrix::createLead(
        array(
            'TITLE' => sprintf("%s - Входящий звонок", $phone),
            'PHONE' => array(array('VALUE' => $phone, 'VALUE_TYPE' => 'WORK')),
            'ASSIGNED_BY_ID' => $params['USER_ID'],
            'STATUS_ID' => 'NEW',
            'OPENED' => 'Y',
        ),
        array(
            // Произвести регистрацию события добавления лида в живой ленте.
            // Дополнительно будет отправлено уведомление ответственному за лид.
            'REGISTER_SONET_EVENT' => 'Y',
        ));

    if ($leadResult === false) {
        return array(
            'state' => 'error',
            'data'  => 'failed to create lead',
        );
    }

    $leadId = $leadResult['result'];

    $this->logInfo("Register call for lead ID $leadId");

    $params['CRM_CREATE'] = 0;
    $params['CRM_ENTITY_TYPE'] = 'LEAD';
    $params['CRM_ENTITY_ID'] = $leadId;
}
```
