История вызовов (/call_history/, /calls/)

Мы обновили документацию, актуальная версия страницы доступна по ссылке: История вызовов (/call_history/, /calls/)

Ресурс позволяет получить данные о вызовах клиента за определенный период либо по уникальному идентификатору вызова. Представляет собой объединение ресурсов Вызовы и CDR.

Ресурсы раздела Клиент

GET /client/{client_id}/call_history/

Получить историю вызовов клиента

Параметры URL

Имя

Тип

client_id

string

Параметры запроса

Имя

Тип

start_datetime

string

start_bridged_duration

integer

bridged_username

array [string]

flow

array [string]

end_bridged_duration

integer

order

string

end_datetime

string

did_number

array [string]

per_page

integer

end_duration

integer

extension_id

array [integer]

to_username

array [string]

from_usernamearray [string]

start_duration

integer

page

integer

Поля ответа

Имя

Тип

per_page

integer

call_history

array [call_history]

order

string

page

integer

Ресурс call_history

Имя

Тип

Обязательный

Описание

flow

string

нет

Направление вызова. Может принимать значние in или out

result

string

нет

Результат вызова. Может принимать значния busy, answered, not answered, failed, rejected, bridged

cdr

array [cdr]

нет

Описание составных частей вызова. Поля ресурса cdr описаны ниже

duration

integer

нет

Длительность вызова

hangup_time_gmt

string

нет

Время окончания вызова по UTC

dealer_owner_id

integer

нет

Идентифиратор дилера клиента, к которому относиться вызов

to_domain

string

нет

Домен получателя вызова

from_username

string

нет

Номер звонящего

start_time_gmt

string

нет

Время по UTC, когда вызов был отвечен. Может иметь значние null, если вызов не был отвечен

bridged_domain

string

нет

Домен пользователя абонента, с которым произошло соединение

to_username

string

нет

Номер получателя вызова

ext_number_reg

string

нет

Внешний номер добавочного, к которому относится вызов, если у добавочного есть регистрация внешнего номера. В противном случае поле имеет значение null

hangup_cause

string

нет

Причина окончания вызова - поле можно игнорировать (присутствует для обратной совместимости)

extension_group_owner_id

integer

нет

Идентификатор группы добавочного, к которому относится вызов. Может иметь значение null, если добавочный на момент вызова не состоял ни в одной из групп

init_time_gmt

string

нет

Время начала вызова по UTC

from_domain

string

нет

Домен звонящего

call_uuid

string

нет

Уникальный идентификатор вызова

extension_type

string

нет

Тип добавочного, к которому относится вызов

did_domain

string

нет

Домен внешнего номера (DID – Direct Inward Dialing), на который поступил вызов

from_screen_name

string

нет

Имя звонящего

bridged_duration

integer

нет

Длительность соединения двух абонентов. Может иметь значение null, если соединение со вторым абонентов не произошло

bridged_time_gmt

string

нет

Время по UTC, когда было установлено соединение двух абонентов. Может иметь значение null, если соединение со вторым абонентов не произошло

extension_name

string

нет

Имя добавочного, к которому относится вызов

bridged_username

string

нет

Номер абонента, с которым произошло соединение

extension_id

integer

нет

Идентификатор добавочного, к которому относится вызов

did_number

string

нет

Внешний номер (DID – Direct Inward Dialing), на который поступил вызов

client_owner_id

integer

нет

Идентификатор клиента, к которому относится вызов


Ресурс cdr

Имя

Тип

Обязательный

Описание

to_username

string

нет

Номер получателя вызова

source_number

string

нет

Номер источника вызова для вызовов с направлением in

result

string

нет

Результат. Может принимать значения:

  • busy - номер занят
  • answered - вызов отвечен
  • not answered - вызов не отвечен 
  • answered elsewhere - вызов не отвечен получателем, но был отвечен кем-то другим (при одновременном вызове добавочных через очередь, либо одновременным переводом("simple transfer") сразу на несколько номеров)
  • rejected - вызов отклонен принимающей стороной
  • failed - любые другие ошибки вызова
  • voicemail  - был переведен на голосовую почту

duration

integer

нет

Длительность

hangup_time_gmt

string

нет

Время окончания вызова по UTC

dealer_owner_id

integer

нет

Идентифиратор дилера клиента, к которому относиться вызов

to_domain

string

нет

Доман получателя вызова

record_file_size

integer

нет

Размер файла записи разговора в байтах. Имеет значниие null если запись не велась.

from_username

string

нет

Номер звонящего

application

string

нет

Приложение, харакетеризующее тип вызова. Может иметь значение callcenter, callback, intercept или nulll

start_time_gmt

string

нет

Время по UTC, когда вызов был отвечен. Может иметь значние null, если вызов не был отвечен

ext_number_reg

string

нет

Внешний номер добавочного, если у добавочного есть регистрация внешнего номера. В противном случае поле имеет значение null

hangup_cause

string

нет

Причина окончания вызова - поле можно игнорировать (присутствует для обратной совместимости)

extension_group_owner_id

integer

нет

Идентификатор группы добавочного. Может иметь значение null, если добавочный на момент вызова не состоял ни в одной из групп

init_time_gmt

string

нет

Время начала вызова по UTC

dest_domain

string

нет

Домен получателя вызова для вызовов с направлением out или transfer

record_uuid

string

нет

Идентификатор записи разговора. Имеет значниие null если запись не велась.

from_domain

string

нет

Домен звонящего

source_domain

string

нет

Домен источника вызова для вызовов с направлением in

extension_type

string

нет

Тип добавочного

did_domain

string

нет

Домен внешнего номера (DID – Direct Inward Dialing), на который поступил вызов

from_screen_name

string

нет

Имя звонящего

extension_name

string

нет

Имя добавочного

flow

string

нет

Направление. Может принимать значние inout или transfer

dest_number

string

нет

Номер получателя вызова для вызовов с направлением out или transfer

extension_id

integer

нет

Идентификатор добавочного

did_number

string

нет

Внешний номер (DID – Direct Inward Dialing), на который поступил вызов

client_owner_id

integer

нет

Идентификатор клиента

hangup_disposition

stringнет

Используется для определения инициатора разрыва соединение

callee_bye: трубку положила принимающая сторона
caller_bye: трубку положила вызывающая сторона
caller_cancel: вызывающая сторона отказалась ждать ответа
callee_refuse: принимающая сторона отказалась отвечать (была занята, отсутствовала регистрация и т.п.)
internal_cancel: вызов завершен сервером (обычно таймаут вызова или при одновременном вызове кто-то один снял трубку)
'' - (пустой вариант) не удалось определить.


GET /client/{client_id}/call_history/{call_uuid}

Получить информацию о вызове по его уникальному идентификатору

Параметры URL

Имя

Тип

client_id

string

call_uuid

string

Поля ответа

Имя

Тип

flow

string

result

string

cdr

array [cdr_response]

duration

integer

hangup_time_gmt

string

dealer_owner_id

integer

to_domain

string

from_username

string

start_time_gmt

string

bridged_domain

string

to_username

string

ext_number_reg

string

hangup_cause

string

extension_group_owner_id

integer

init_time_gmt

string

from_domain

string

call_uuid

string

extension_type

string

did_domain

string

from_screen_name

string

bridged_duration

integer

bridged_time_gmt

string

extension_name

string

bridged_username

string

extension_id

integer

did_number

string

client_owner_id

integer

Ресурс cdr_response

Имя

Тип

to_username

string

source_number

string

result

string

duration

integer

hangup_time_gmt

string

dealer_owner_id

integer

to_domain

string

record_file_size

integer

from_username

string

application

string

start_time_gmt

string

ext_number_reg

string

hangup_cause

string

extension_group_owner_id

integer

init_time_gmt

string

dest_domain

string

record_uuid

string

from_domain

string

source_domain

string

extension_type

string

did_domain

string

from_screen_name

string

extension_name

string

flow

string

dest_number

string

extension_id

integer

did_number

string

client_owner_id

integer

GET /client/{client_id}/calls/

Ресурс аналогичен ресурсу call_history, за исключением отсутствия массива составных частей вызова (cdr).  Выполняется быстрее, чем call_history, поэтому его предпочтительно использовать, когда составные части вызова не важны.

Параметры URL

Имя

Тип

client_id

string

GET /client/{client_id}/calls/stats/

Позволяет за указанный период получить суммарные данные о звонках (общее количество, количество пропущенных и т.п.)


Параметры URL

Имя

Тип

client_id

string


Параметры запроса

Name

Type

Description

start_datetime

string

Начальная дата

end_datetime

string

Конечная дата


Поля ответа

Имя

Тип

Обязательный

Описание

in

Object CallsStat

да

Суммарные данные по входящим вызовам

out

Object CallsStatдаСуммарные данные по исходящим вызовам

Object CallsStat

Имя

Тип

Обязательный

Описание

busy

integer

да

Кол-во звонков, отбитых сигналом "занято"

bridged_duration

integerдаСуммарная длительность в секундах вызовов со статусом "bridged"
answeredintegerдаКол-во отвеченных вызовов
not answeredintegerдаКол-во не отвеченных вызовов
rejectedintegerдаКол-во вызовов,  отклоненных принимающей стороной
failedintegerдаВызовы, отклоненные по другим причинам (не "busy", "rejected" или "not answered")
bridgedintegerдаВызовы, соединенные с конечным абонентом. Отличие от "answered":  Вызов может быть отвечен, но без соединения с конечным абонентом. Например, вызов был принят очередью, но никто его не смог принять, тогда вызов будет "answered", но не "bridged"
durationintegerдаСуммарная длительность в секундах вызовов со статусом "answered"
totalintegerдаВсего вызовов

Пример использования

Получить суммарные данные за первые 10 дней ноября 2019 года

метод
ресурс
данные
ответ
GET
client/@me/calls/stats/?start_datetime=2019-11-01%2000%3A00%3A00&end_datetime=2019-11-10%2000%3A00%3A00


{
"in": {
"busy": 0,
"bridged_duration": 6142,
"answered": 15,
"not answered": 5,
"rejected": 0,
"failed": 8,
"bridged": 59,
"duration": 6386,
"total": 87
},
"out": {
"busy": 0,
"bridged_duration": 958,
"answered": 0,
"not answered": 37,
"rejected": 0,
"failed": 22,
"bridged": 87,
"duration": 958,
"total": 146
}
}