# Данные о звонке (call\_full) в кастомизациях

{% hint style="info" %}
Для Битрикс24 объект `call_full` доступен начиная с версии [Itgrix\_bx 3.10.0](https://docs.itgrix.ru/custom_common/pages/-M0SZwZn5pERjpAzqeP-#3.10.0).

*Для amoCRM объект `call_full` появится в версии Itgrix\_amo 2.13.0.*
{% endhint %}

## Главный объект (call\_full)

```json
{
  "call_full": {
    "active_conversation_id": "<uniqueid текущего разговора (или пустая строка)>",
    "channel": {<Данные канала звонка из Asterisk (главный канал - linkedid)>},
    "conversations": {
      "1111111111.11111": {
        "channel": {<Данные канала разговора из Asterisk>},
        "is_parked": <Находится ли разговор на удержании (true/false)>,
        "user": {<Данные пользователя, найденного по номеру телефона (или null)>}
      },
      ...
    },
    "deal": {<Данные сделки (или null)>},
    "entity": {<Данные сущности (или null)>},
    "is_ivr": <Является ли звонок пропущенным на IVR (true/false)>,
    "record": "<Ссылка на запись звонка (или пустая строка)>",
    "registration": {<Данные регистрации звонка (или null) - только для Битрикс24>},
    "result": <Результат звонка (SIP-статус, int)>
  }
}
```

## Данные канала (channel)

```json
"channel": {
  "answer_time": "<Время ответа (или 0001-01-01 00:00:00)>",
  "end_time": "<Время окончания (или 0001-01-01 00:00:00)>",
  "extra": {<Данные поля extra из таблицы CEL>},
  "from": {<Данные номера, с которого звонили>},
  "id": "<uniqueid канала>",
  "is_primary": <Является ли канал "главным", т.е. uniqueid = linkedid (true/false)>,
  "name": "<Имя канала из таблицы CEL>",
  "start_time": "<Время начала (или 0001-01-01 00:00:00)>",
  "state": "Состояние (строка) - одно из:
    ringing - в процессе дозвона (звонит телефон у абонента, ответа ещё не было);
    talking - в процессе разговора (уже был ответ, ещё не положили трубку);
    ended - окончен;
    processed - обработан коннектором",
  "to": {<Данные номера, на который звонили>},
  "trunk": {<Данные номера транка>},
  "type": "Тип (строка) - одно из:
    local - локальный (с внутреннего номера на внутренний);
    incoming - входящий (с внешнего номера на внутренний);
    outgoing - исходящий (с внутреннего номера на внешний);
    unknown - неизвестный (не удалось определить тип)",
  "was_answered": <Был ли ответ (true/false)>
}
```

### Формат даты-времени

Дата-время выводится в формате `ГГГГ-ММ-ДД ЧЧ:ММ:СС` .

Если значение не задано (события не было), выводится значение `0001-01-01 00:00:00`.

{% hint style="info" %}
Значения времени соответствуют временной зоне на сервере Asterisk.
{% endhint %}

### Данные номера (from, to, trunk)

```json
"from/to/trunk": {
  "base": "<Номер без префиксов>",
  "custom": "<Кастомизированный номер>",
  "is_local": <Является ли номер внутренним (true/false)>,
  "original": "<Номер в том виде, как пришел из Asterisk>",
  "variants": [
    <Варианты номера, соответствующие списку префиксов из настроек коннектора,
    т.е. base, а также номера "префикс+base" для каждого префикса
    (список строк)>
  ]
}
```

Пример настройки префиксов:

<figure><img src="/files/Xuo55Qtz7I5uavSZpcjk" alt=""><figcaption></figcaption></figure>

Пример номера to:

```json
"to": {
  "base": "9001234567",
  "custom": "89001234567",
  "is_local": false,
  "original": "+79001234567",
  "variants": [
    "9001234567",
    "+74959001234567",
    "84959001234567",
    "+79001234567",
    "79001234567",
    "89001234567"
  ]
}
```

{% hint style="info" %}
Коннектор сначала пытается использовать номер в поле `custom`(т.е. результат применения автозамены и/или кастомизации); если его нет, то исходный номер в поле `original`.
{% endhint %}

## Данные пользователя (user)

<pre class="language-json"><code class="lang-json"><strong>"user": {
</strong>  "email": "&#x3C;Электронная почта>",
  "id": "&#x3C;ID пользователя в CRM>",
  "name": "&#x3C;Имя пользователя>",
  "phones": [
    &#x3C;Список телефонных номеров пользователя - строки>
  ],
  "position": "&#x3C;Должность>",
  "raw": {&#x3C;Данные пользователя как в CRM>}
}
</code></pre>

{% hint style="warning" %}
В объекте `raw` присутствуют только поля с непустым/ненулевым значением.
{% endhint %}

{% hint style="info" %}
Поля пользователя Битрикс24 описаны в [документации REST API](https://dev.1c-bitrix.ru/rest_help/users/user_fields.php).

Коннектор считает телефонными номерами пользователя значения следующих полей в Битрикс24:

* Внутренний телефон (поле `UF_PHONE_INNER`)
* Мобильный телефон (поле `PERSONAL_MOBILE`)
* Рабочий телефон (поле `WORK_PHONE`)
* Телефон (поле `PERSONAL_PHONE`)

Телефонные номера пользователя в объекте `phones` представленны в виде строк (как в Битрикс24).
{% endhint %}

## Данные сделки (deal)

{% hint style="warning" %}
Со сделками работает только коннектор itgrix\_amo для amoCRM.

В Битрикс24 коннектор itgrix\_bx НЕ работает со сделками, поэтому значение поля `deal` всегда будет `null`.
{% endhint %}

## Данные сущности (entity)

```json
"entity": {
  "id": "<ID сущности>",
  "is_new": <Создана ли сущность при регистрации данного звонка - true/false>,
  "name": "<Название сущности>",
  "phones": [
    <Список телефонных номеров сущности - объекты>
  ],
  "raw": {<Данные сущности как в CRM>},
  "responsible": {<Данные ответственного пользователя>},
  "responsible_id": "<ID ответственного пользователя>",
  "type": "<Тип сущности строкой>"
}
```

{% hint style="info" %}
Телефонные номера в массиве `phones` представленны в виде объекта, аналогичного по структуре номеру в `channel`: [Данные номера](#dannye-nomera-from-to-trunk).
{% endhint %}

{% hint style="info" %}
В поле type для Битрикс24 возможны значения: `company`,`contact`,`lead`.
{% endhint %}

{% hint style="warning" %}
В объекте `raw` присутствуют только поля с непустым/ненулевым значением.
{% endhint %}

## Данные регистрации звонка в CRM (registration)

Объект `registration` присутствует только для Битрикс24 (для amoCRM всегда будет значение `null`).

```json
"registration": {
  "activity_id": "<ID дела (или пустая строка)>",
  "created_company_id": "<ID компании, созданной при регистрации (или пустая строка)>",
  "created_contact_id": "<ID контакта, созданного при регистрации (или пустая строка)>",
  "created_deal_id": "<ID сделки, созданной при регистрации (или пустая строка)>",
  "created_lead_id": "<ID лида, созданного при регистрации (или пустая строка)>",
  "entity_id": "<ID используемой сущности>",
  "entity_type": "<Тип используемой сущности строкой (в Битрикс24 - company/contact/lead)>",
  "id": "<ID звонка в Битрикс24>",
  "responsible_id": "<ID ответственного за звонок пользователя>"
}
```

## Результат звонка (result)

Результат звонка в виде SIP-статуса (целое число).

Подробное описание в статье [Детальные статусы звонка](/faq/detalnye-statusy-zvonka.md).


---

# 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_common/dannye-o-zvonke-call_full-v-kastomizaciyakh.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.
