Call data (call_full) in customizations

For Bitrix24, the call_full object is available starting with Itgrix_bx 3.10.0.

For Kommo, the call_full object will appear in the Itgrix_amo 2.13.0 version.

Main object (call_full)

{
  "call_full": {
    "active_conversation_id": "<uniqueid of the current call (or an empty line)>",
    "channel": {<Call channel data from Asterisk (main channel - linkedid)>},
    "conversations": {
      "1111111111.11111": {
        "channel": {<Conversation channel data from Asterisk>},
        "is_parked": <Whether the conversation is on hold (true/false)>,
        "user": {<User data found by phone number (or null)>}
      },
      ...
    },
    "deal": {<Transaction data (or null)>},
    "entity": {<Entity data (or null)>},
    "is_ivr": <Is a missed call on a IVR (true/false)>,
    "record": "<Link to call recording (or empty string)>",
    "registration": {<Call registration data (or null) - only for Bitrix24>},
    "result": <Call result (SIP-status, int)>
  }
}

Channel data (channel)

"channel": {
  "answer_time": "<Answer time (or 0001-01-01 00:00:00)>",
  "end_time": "<End time (or 0001-01-01 00:00:00)>",
  "extra": {<Extra fields from the CEL table>},
  "from": {<Details of the number from which the call was made>},
  "id": "<channel uniqueid>",
  "is_primary": <Whether the channel is “main”, i.e. uniqueid = linkedid (true/false)>,
  "name": "<Channel name from the CEL table>",
  "start_time": "<Start time (or 0001-01-01 00:00:00)>",
  "state": "The status (line) is one of:
    ringing - in the process of dialing (the subscriber's phone is ringing, there is no answer yet);
    talking - in the process of talking (already had an answer, not yet hung up);
    ended - finished;
    processed - processed by the connector",
  "to": {<Data of the number called>},
  "trunk": {<Trunk number data>},
  "type": "Type (string) - one of:
    local - local (from internal number to internal number);
    incoming - incoming (from external number to internal number);
    outgoing - outgoing (from internal number to external number);
    unknown - unknown (unable to determine type)",
  "was_answered": <Was the answer (true/false)>
}

Date-time format

The date-time is output in the format YYYYY-MM-DD HH:MM:SS.

If no value is set (no event occurred), the value is displayed 0001-01-01 00:00:00.

The time values correspond to the time zone on the Asterisk server.

Number data (from, to, trunk)

"from/to/trunk": {
  "base": "<Number without prefixes>",
  "custom": "<Customized number>",
  "is_local": <Is the number internal (true/false)>,
  "original": "<The number as it was received from Asterisk>",
  "variants": [
    <Number options corresponding to the list of prefixes from the connector settings,
    i.e. base, as well as “prefix+base” numbers for each prefix
    (list of strings)>
  ]
}

Example of prefix configuration:

Example of a number to:

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

The connector first tries to use the number in the field custom (i.e., the result of autosubstitution and/or customization); if it is not present, the original number in the field original.

User data (user)

"user": {
  "email": "<Email>",
  "id": "<User ID in CRM>",
  "name": "<User name>",
  "phones": [
    <List of user phone numbers - strings>
  ],
  "position": "<Position>",
  "raw": {<User data as in CRM>}
}

Only non-empty/non-zero fields are present in the raw object.

Bitrix24 user fields are described in the REST API documentation.

The Connector considers the following field values in Bitrix24 as user phone numbers:

  • Internal telephone (field UF_PHONE_INNER)
  • Cell phone (field PERSONAL_MOBILE )
  • Work phone (field WORK_PHONE)
  • Phone (field PERSONAL_PHONE )

User phone numbers in the phones object are represented as strings (as in Bitrix24).

Deal data (deal)

Only itgrix_kmo connector for amoCRM works with deals.

In Bitrix24, the itgrix_bx connector does NOT work with deals, so the value of the deal field will always be null.

Entity data (entity)

"entity": {
  "id": "<Entity ID>",
  "is_new": <Whether an entity was created when registering this call - true/false>,
  "name": "<Entity name>",
  "phones": [
    <List of phone numbers of the entity - objects>
  ],
  "raw": {<Entity data as in CRM>},
  "responsible": {<Responsible user data>},
  "responsible_id": "<Responsible user ID>",
  "type": "<Entity type by string>"
}

Telephone numbers in the phones array are represented as an object similar in structure to the number in the channel: Number Data.

In the type field for Bitrix24 there are possible values: company,contact,lead.

Only non-empty/non-zero fields are present in the raw object.

Call registration data in CRM (registration)

The registration object is present only for Bitrix24 (for Kommo it will always be null).

"registration": {
  "activity_id": "<Activity ID (or empty string)>",
  "created_company_id": "<ID of the company created during registration (or empty string)>",
  "created_contact_id": "<ID of the contact created during registration (or empty string)>",
  "created_deal_id": "<ID of the deal created during registration (or empty string)>",
  "created_lead_id": "<ID of the lead created during registration (or empty string)>",
  "entity_id": "<ID of the entity used>",
  "entity_type": "<Type of used entity by string (in Bitrix24 - company/contact/lead)>",
  "id": "<Call ID in Bitrix24>",
  "responsible_id": "<ID of the user responsible for the call>"
}

Call result (result)

The result of the call in the form of SIP status (integer).

Detailed description in the article Detail-call-statuses.

On this page