История вызовов (/call_history/)
- Asia Khalitova (Unlicensed)
- Vladislav Isakov
- Dmitri Savolainen
Протестировать методы API можно на странице интерактивного обозревателя API и без написания кода
Некоторые ресурсы, описанные на странице, по умолчанию могут быть не доступны из-за типа приложения (см. Создание и авторизация приложений)
Данный ресурс позволяет получить данные о вызовах клиента за определенный период времени либо по уникальному идентификатору вызова. Представляет собой объединение ресурсов “Вызовы (/calls/)“ и “Информация о составных частях вызова (/cdr/)”:
Описание структур данных
Ресурс call_history
Имя | Тип | Обяза-тельный | Описание |
---|
Имя | Тип | Обяза-тельный | Описание |
---|---|---|---|
bridged_domain | string | нет | Домен пользователя абонента, с которым произошло соединение |
bridged_duration | int | нет | Длительность соединения двух абонентов. Может иметь значение null, если соединение со вторым абонентов не произошло |
bridged_time_gmt | string | нет | Время по UTC, когда было установлено соединение двух абонентов. Может иметь значение null, если соединение со вторым абонентом не произошло |
bridged_username | string | нет | Номер абонента, с которым произошло соединение |
call_uuid | string | нет | Уникальный идентификатор вызова |
cdr | Array[cdr_response] | нет | Описание составных частей вызова. Поля ресурса cdr_response описаны ниже |
client_owner_id | int | нет | Идентификатор клиента, к которому относится вызов |
did_domain | string | нет | Домен внешнего номера (DID – Direct Inward Dialing), на который поступил вызов |
did_number | string | нет | Внешний номер (DID – Direct Inward Dialing), на который поступил вызов |
duration | int | нет | Длительность вызова |
ext_number_reg | string | нет | Внешний номер внутреннего номера, к которому относится вызов, если у внутреннего номера есть регистрация внешнего номера. В противном случае поле имеет значение null |
extension_group_owner_id | int | нет | Идентификатор группы внутреннего номера, к которому относится вызов. Может иметь значение null, если внутренний номер на момент вызова не состоял ни в одной из групп |
extension_id | int | нет | Идентификатор внутреннего номера, к которому относится вызов |
extension_name | string | нет | Имя внутреннего номера, к которому относится вызов |
extension_type | string | нет | Тип внутреннего номера, к которому относится вызов |
flow | string | нет | Направление вызова. Может принимать значение in или out |
from_domain | string | нет | Домен вызывающего абонента |
from_screen_name | string | нет | Имя вызывающего абонента |
from_username | string | нет | Номер вызывающего абонента |
hangup_cause | string | нет | Причина окончания вызова (поле можно игнорировать, присутствует для обратной совместимости) |
hangup_disposition | string | нет | Используется для определения инициатора разрыва соединения:
|
hangup_time_gmt | string | нет | Время окончания вызова по UTC |
init_time_gmt | string | нет | Время начала вызова по UTC |
result | string | нет | Результат вызова. Т.к. ресурс call_history состоит из /calls/ и /cdr/, то нужно различать соответствующие result данных ресурсов (см. изображение в самом начале статьи). |
start_time_gmt | string | нет | Время по UTC, когда вызов был отвечен. Может иметь значение null, если вызов не был отвечен |
to_domain | string | нет | Домен получателя вызова |
to_username | string | нет | Номер получателя вызова |
call_month | string | нет | Указание месяца звонка. В формате “yyyy-mm” (пример: “2022-05”) . Если указать, то ответ на запрос придет быстрее. |
callback | object | нет | Содержит информацию, если был сделан обратный вызов.
|
Пример
Получим историю вызовов за март и апрель 2020 года:
{
"page": 1,
"per_page": 100000,
"order": "desc",
"call_history": [
{
"flow": "in",
"init_time_gmt": "2020-03-17 14:46:43",
"start_time_gmt": "2020-03-17 14:46:43",
"bridged_time_gmt": null,
"hangup_time_gmt": "2020-03-17 14:46:48",
"duration": 5,
"bridged_duration": 0,
"extension_id": 372802,
"extension_name": "0005*101@sip.ringme.ru",
"extension_type": "phone",
"extension_group_owner_id": null,
"client_owner_id": 32362,
"result": "answered",
"from_username": "00010037",
"from_domain": "sip.ringme.ru",
"bridged_username": null,
"bridged_domain": null,
"did_number": null,
"did_domain": null,
"to_username": "0005*101",
"to_domain": "sip.ringme.ru",
"from_screen_name": "Иванов И.И.",
"hangup_cause": "NORMAL_CLEARING",
"ext_number_reg": null,
"call_uuid": "CAE26E8A4A7041D684F7CF5C480D1047",
"hangup_disposition": "callee_refuse",
"cdr": [
{
"flow": "in",
"init_time_gmt": "2020-03-17 14:46:43.31",
"start_time_gmt": "2020-03-17 14:46:48",
"hangup_time_gmt": "2020-03-17 14:46:48",
"duration": 0,
"extension_id": 372802,
"extension_name": "0005*101@sip.ringme.ru",
"extension_type": "phone",
"extension_group_owner_id": null,
"client_owner_id": 32362,
"result": "answered",
"from_username": "0005*101",
"from_domain": "sip.ringme.ru",
"source_number": "0005*101",
"source_domain": "sip.ringme.ru",
"to_username": "0005*101",
"to_domain": "sip.ringme.ru",
"dest_number": null,
"dest_domain": null,
"did_number": null,
"did_domain": null,
"from_screen_name": "Иванов И.И.",
"hangup_cause": "NORMAL_CLEARING",
"ext_number_reg": null,
"application": null,
"hangup_disposition": "callee_bye",
"ani_number": null,
"record_uuid": null,
"record_file_size": null,
"storage_url": null,
"bundle_info": null,
"transfer_reason": null,
},
...
]
}
]
}
GET /client/{client_id}/call_history/
Получить историю вызовов клиента
Параметры URL
Имя | Тип |
---|
Имя | Тип |
---|---|
client_id | string |
Параметры запроса
Имя | Тип |
---|
Имя | Тип |
---|---|
start_datetime | string |
from_username | array [string] |
start_bridged_duration | integer |
flow | array [string] |
bridged_username | 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] |
start_duration | integer |
page | integer |
Поля ответа
Имя | Тип |
---|
Имя | Тип |
---|---|
call_history | Array[call_history] |
order | string |
page | long |
per_page | long |
Ресурс call_history
Имя | Тип |
---|
Имя | Тип |
---|---|
bridged_domain | string |
bridged_duration | long |
bridged_time_gmt | string |
bridged_username | string |
call_uuid | string |
cdr | Array[cdr_response] |
client_owner_id | long |
did_domain | string |
did_number | string |
duration | long |
ext_number_reg | string |
extension_group_owner_id | long |
extension_id | long |
extension_name | string |
extension_type | string |
flow | string |
from_domain | string |
from_screen_name | string |
from_username | string |
hangup_cause | string |
hangup_disposition | string |
hangup_time_gmt | string |
init_time_gmt | string |
result | string |
start_time_gmt | string |
to_domain | string |
to_username | string |
Ресурс cdr_response
Имя | Тип |
---|
Имя | Тип |
---|---|
ani_number | string |
application | string |
call_uuid | string |
calls_hangup_disposition | string |
calls_result | string |
client_owner_id | long |
dest_domain | string |
dest_number | string |
did_domain | string |
did_number | string |
duration | long |
ext_number_reg | string |
extension_group_owner_id | long |
extension_id | long |
extension_name | string |
extension_type | string |
flow | string |
from_domain | string |
from_screen_name | string |
from_username | string |
hangup_cause | string |
hangup_disposition | string |
hangup_time_gmt | string |
init_time_gmt | string |
record_file_size | long |
record_uuid | string |
storage_url | string |
result | string |
source_domain | string |
source_number | string |
start_time_gmt | string |
to_domain | string |
to_username | string |
transfer_reason | string |
GET /client/{client_id}/call_history/{call_uuid}
Получить информацию о вызове по его уникальному идентификатору
Параметры URL
Имя | Тип |
---|
Имя | Тип |
---|---|
client_id | string |
call_uuid | string |
call_month | string |
Поля ответа
Имя | Тип |
---|
Имя | Тип |
---|---|
bridged_domain | string |
bridged_duration | long |
bridged_time_gmt | string |
bridged_username | string |
call_uuid | string |
cdr | Array[cdr_response] |
client_owner_id | long |
did_domain | string |
did_number | string |
duration | long |
ext_number_reg | string |
extension_group_owner_id | long |
extension_id | long |
extension_name | string |
extension_type | string |
flow | string |
from_domain | string |
from_screen_name | string |
from_username | string |
hangup_cause | string |
hangup_disposition | string |
hangup_time_gmt | string |
init_time_gmt | string |
result | string |
start_time_gmt | string |
to_domain | string |
to_username | string |
Ресурс cdr_response
Имя | Тип |
---|
Имя | Тип |
---|---|
ani_number | string |
application | string |
call_uuid | string |
calls_hangup_disposition | string |
calls_result | string |
client_owner_id | long |
dest_domain | string |
dest_number | string |
did_domain | string |
did_number | string |
duration | long |
ext_number_reg | string |
extension_group_owner_id | long |
extension_id | long |
extension_name | string |
extension_type | string |
flow | string |
from_domain | string |
from_screen_name | string |
from_username | string |
hangup_cause | string |
hangup_disposition | string |
hangup_time_gmt | string |
init_time_gmt | string |
record_file_size | long |
record_uuid | string |
storage_url | string |
result | string |
source_domain | string |
source_number | string |
start_time_gmt | string |
to_domain | string |
to_username | string |
bundle_info | string |
transfer_reason | string |