# Добавление кода города в зависимости от города оператора

Сценарий: филиалы в разных городах. Сотрудник из города А с номером 102 на стационарном телефоне набирает номер клиента без кода города (шестизначный 224466). Номер короткий, но в CRM хочется видеть с кодом города (1234 для А и 4321 для Б).

1\. Включить кастомизатор.

![](/files/-MLbmhVPDI9KyMRuHfMq)

2\. Добавляем код в файл кастомизации.

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

Для версий от 2.15.0 и ДО 3.4.0 этот файл находится в каталоге **/opt/itgrix\_bx/custom/**
{% endhint %}

```php
$cityCodeToUserList = array(
    '1234' => array('102', '103'), // Код города => список сотрудников для города A
    '4321' => array('788', '789'), // Код города => список сотрудников для города B
);

// Считаем, что короткий номер - 6 цифр
if (strlen($params['PHONE_NUMBER']) == 6) {
    // Получаем внутренний номер, исходя из направления звонка (входящий/исходящий)
    $userNumber = $params['conversation'][ $params['TYPE'] == 2 ? 'from' : 'to' ];

    // Перебираем города для поиска сотрудника, чтобы получить код
    // Если сотрудник не будет найден, номер не изменится
    foreach ($cityCodeToUserList as $code => $users) {
        if (in_array($userNumber, $users)) {
            $params['PHONE_NUMBER'] = $code . $params['PHONE_NUMBER'];
        }
    }
}

return array(
    'state' => 'success',
    'data'  => $params,
);
```

Параметры [описаны в статье](/custom_bx.md#8-process_registration_params).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.itgrix.ru/custom_bx/dobavlenie-koda-goroda-v-zavisimosti-ot-goroda-operatora.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
