> 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/custom_common/dannye-o-zvonke-call_full-v-kastomizaciyakh.md).

# dannye o zvonke call\_full v kastomizaciyakh

{% hint style="info" %}
Для Битрикс24 объект `call_full` доступен начиная с версии [Itgrix\_bx 3.10.0](file:///1659967/changelog-bx.md#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" для каждого префикса
    (список строк)>
  ]
}
```

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

Пример номера 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`: [Данные номера](broken://pages/94a5fe72451f7f47d3d10ece767299adc84faf34#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-статуса (целое число).

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