# Создавать лид для каждого входящего звонка

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

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

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

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

Подробности в статье [Запросы в Битрикс из кастомизации](https://docs.itgrix.ru/zaprosy-v-bitriks-iz-kastomizacii#sozdanie-lida).
{% endhint %}

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

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

![](https://349598197-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M-rywOcELBwBcmtSBHS%2Fuploads%2Fgit-blob-60fe88a34832485765e94c7b9c4e189980ce0c29%2Fcustom_reg_params_ru.png?alt=media)

{% 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;
}
```
