Данные о звонке (call_full) в кастомизациях

Для Битрикс24 объект call_full доступен начиная с версии Itgrix_bx 3.10.0.

Для amoCRM объект call_full появится в версии Itgrix_amo 2.13.0.

Главный объект (call_full)

{
  "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)

"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.

Значения времени соответствуют временной зоне на сервере Asterisk.

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

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

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

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

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

Коннектор сначала пытается использовать номер в поле custom(т.е. результат применения автозамены и/или кастомизации); если его нет, то исходный номер в поле original.

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

"user": {
  "email": "<Электронная почта>",
  "id": "<ID пользователя в CRM>",
  "name": "<Имя пользователя>",
  "phones": [
    <Список телефонных номеров пользователя - строки>
  ],
  "position": "<Должность>",
  "raw": {<Данные пользователя как в CRM>}
}

В объекте raw присутствуют только поля с непустым/ненулевым значением.

Поля пользователя Битрикс24 описаны в документации REST API.

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

  • Внутренний телефон (поле UF_PHONE_INNER)

  • Мобильный телефон (поле PERSONAL_MOBILE)

  • Рабочий телефон (поле WORK_PHONE)

  • Телефон (поле PERSONAL_PHONE)

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

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

Со сделками работает только коннектор itgrix_amo для amoCRM.

В Битрикс24 коннектор itgrix_bx НЕ работает со сделками, поэтому значение поля deal всегда будет null.

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

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

Телефонные номера в массиве phones представленны в виде объекта, аналогичного по структуре номеру в channel: Данные номера.

В поле type для Битрикс24 возможны значения: company,contact,lead.

В объекте raw присутствуют только поля с непустым/ненулевым значением.

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

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

"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-статуса (целое число).

Подробное описание в статье Детальные статусы звонка.

Last updated