GetList
Метод GetList
Примените метод GetList для получения истории звонков за определенный период. Для этого выполните POST-запрос с входными параметрами к точке подключения, указанными ниже.
Точка подключения:
POST: https://api.exolve.ru/statistics/call-history/v2/GetList
Авторизация
Передайте следующие Заголовки HTTP для успешной авторизации.
Имя | Тип | Описание |
---|---|---|
Authorization | string | API-ключ приложения с Bearer перед ним. Пример: Bearer e***s0 , где e***s0 замените на API-ключ вашего приложения |
Входные параметры
Передайте следующие параметры в теле запроса в JSON-формате. Параметры, отмеченные жирным шрифтом, являются обязательными.
Параметр | Тип | Описание |
---|---|---|
date_from | string | дата начала выборки звонков в формате RFC-3339 / ISO-8601 |
date_to | string | дата окончания выборки звонков в формате RFC-3339 / ISO-8601 |
limit | uint32 | лимит выводимых строк |
offset | uint64 | номер строки, с которой начинать выборку (начинается с 0) |
from | string | поиск по номеру-инициатору звонка |
to | string | поиск по номеру принимающего абонента |
status | string | поиск по общему статусу звонка: UNSPECIFIED — не определён, ANSWERED — ответ, BUSY — занят, NO_ANSWER — нет ответа, CANCELED — отменен, REJECTED — вызов сброшен/отклонён, ERROR — ошибка |
direction | string | поиск по направлению звонка: UNSPECIFIED — не определён, OUTBOUND — исходящий, INBOUND — входящий |
service | string ServiceType | поиск по услуге, в рамках которой совершён звонок |
direction | string | поиск по направлению звонка: UNSPECIFIED — не определён, OUTBOUND — исходящий, INBOUND — входящий |
duration_from | uint32 | поиск по длительности вызова в секундах, min duration |
duration_to | uint32 | поиск по длительности вызова в секундах, max duration |
ServiceType
Параметр | Значение | Описание |
---|---|---|
0 | UNSPECIFIED | услуга не определена |
1 | IPCR | услуга динамической переадресации по API |
3 | VOICE_MESSAGE | услуга голосового SMS |
4 | REDIRECT | услуга переадресации на номер |
5 | SIP | услуга SIP |
6 | SIP_REDIRECT | услуга переадресации на SIP |
Выходные параметры
Параметр | Тип | Описание |
---|---|---|
calls | Calls | информация о звонках |
Calls
Параметр | Тип | Описание |
---|---|---|
call_id | uint64 | идентификатор звонка |
service | string ServiceType | услуга, в рамках которой совершён звонок |
application_uuid | string | идентификатор приложения, с/на номер которого совершён звонок |
start_time | timestamp | дата и время начала звонка UTC |
end_time | timestamp | дата и время окончания звонка UTC |
from | string | номер-инициатор звонка |
to | string | номер принимающего абонента |
status | string | общий статус звонка: UNSPECIFIED — не определён, ANSWERED — ответ, BUSY — занят, NO_ANSWER — нет ответа, CANCELED — отменен, REJECTED — вызов сброшен/отклонён, ERROR — ошибка |
direction | string | направление звонка: UNSPECIFIED — не определён, OUTBOUND — исходящий, INBOUND — входящий |
duration | uint32 | полная длительность звонка в сек от момента инициации до завершения |
redirect_type | string | тип переадресации, только для услуг REDIRECT, SIP_REDIRECT, IPCR. 1 — одиночная, 2 — последовательная, 3 — параллельная |
black_list | boolean | признак наличия номера звонящего в чёрном списке, только для услуг REDIRECT, SIP_REDIRECT, IPCR. True — номер в чёрном списке. False — номера нет в чёрном списке |
reserve | boolean | признак переадресации на резервный номер, только для услуг REDIRECT, SIP_REDIRECT, IPCR. True — звонок переадресован на резервный номер. False — звонок не переадресован на резервный номер |
legs | структура Legs | информация о ходе звонка на каждом плече |
record_call | boolean | признак, показывающий, подключена ли услуга записи разговора на номере. True — услуга подключена. False — услуга не подключена |
voice_record_exist | boolean | признак готовности записи разговора. True — запись разговора готова для прослушивания и скачивания. False — запись разговора не готова для прослушивания и скачивания |
transcribe | boolean | признак, показывающий, подключена ли услуга текстовой расшифровки аудиозаписи разговора на номере. True — услуга подключена. False — услуга не подключена |
transcribations_record_exist | boolean | признак готовности текстовой расшифровки аудиозаписи разговора. True — расшифровка готова для скачивания. False — расшифровка не готова для скачивания |
speech_analytics | boolean | признак, показывающий, подключена ли услуга речевой аналитики разговора на номере. True — услуга подключена. False — услуга не подключена |
speech_analytics_exist | boolean | признак готовности результатов речевой аналитики разговора. True — речевая аналитика готова. False — речевая не аналитика готова |
ServiceType
Параметр | Значение | Описание |
---|---|---|
0 | SERVICE_TYPE_UNSPECIFIED | услуга не определена |
1 | SERVICE_TYPE_IPCR | услуга переадресации на URL |
2 | SERVICE_TYPE_CALLBACK | услуга обратного звонка |
3 | SERVICE_TYPE_MESSAGE | услуга голосового SMS |
4 | SERVICE_TYPE_REDIRECT | услуга переадресации на номер, голосовые SMS |
5 | SERVICE_TYPE_SIP | услуга SIP |
Legs
Параметр | Тип | Описание |
---|---|---|
start_time | timestamp | дата и время начала звонка UTC |
end_time | timestamp | дата и время окончания звонка UTC |
from | string | номер-инициатор звонка |
to | string | номер принимающего абонента |
status | string | статус вызова данного плеча |
setup_time | uint32 | время установки соединения в сек |
wait_time | uint32 | время ожидания соединения в сек, совпадает с setup_time |
talk_time | uint32 | длительность разговора в сек |
duration | uint32 | общая длительность в сек по данному плечу с учётом гудков, ожидания, разговора |
cause_code | uint32 | код причины отбоя |
Коды причин отбоя
Код | Статус | Описание | |
---|---|---|---|
1 | rejected | UNALLOCATED_NUMBER | вызов отменён — номер получателя не найден, формат верный |
2 | rejected | NO_ROUTE_TRANSIT_NET | вызов отменён — нет маршрута к указанной транзитной сети |
3 | rejected | NO_ROUTE_DESTINATION | вызов отменён — нет маршрута до указанного номера |
21 | rejected | CALL_REJECTED | вызов отклонён |
17 | busy | USER_BUSY | вызываемый номер занят |
18 | no_answer | NO_USER_RESPONSE | нет ответа |
19 | no_answer | NO_ANSWER | нет сигнализации от пользователя, нет ответа |
20 | no_answer | SUBSCRIBER_ABSENT | нет ответа |
41 | no_answer | NORMAL_TEMPORARY_FAILURE | временная неработоспособность |
502 | no_answer | LOSE_RACE | нет ответа |
487 | canceled | ORIGINATOR_CANCEL | вызов отменён звонящим |
16 | completed | NORMAL_CLEARING | нормальное завершение вызова |
604 | completed | MEDIA_TIMEOUT | нормальное завершение вызова |
Возможные ошибки
Код | Статус | Пример сообщения | Описание |
---|---|---|---|
401 | Unauthorized | malformed token | не указан / не правильно указан API-ключ приложения |
400 | Bad Request | invalid uuid format | неправильный формат в параметре запроса |
400 | Bad Request | invalid value | значения параметра невалидно |
Примеры
Входные параметры:
{
"date_from": "2025-01-15T00:02:34.341Z",
"date_to": "2025-05-16T15:07:34.351Z",
"limit": 0,
"offset": 10
}
Выходные параметры:
{
"calls": [
{
"call_id": "7285581555017551200",
"service": "sip",
"application_uuid": "45b2bf47-fa06-4352-a202-b347f372ff90",
"start_time": "2025-01-16T09:00:02.997Z",
"end_time": "2025-01-16T09:01:04.089Z",
"from": "883140005577000",
"to": "7999999999",
"status": "no_answer",
"direction": "outbound",
"duration": 61.03,
"legs": [
{
"start_time": "2025-01-16T09:00:04.188Z",
"end_time": "2025-01-16T09:01:04.089Z",
"from": "79334445566",
"to": "7999999999",
"status": "no_answer",
"setup_time": 61.03,
"wait_time": 61.03,
"talk_time": 0,
"duration": 61.03,
"cause_code": 16
}
],
"record_call": true,
"voice_record_exist": false,
"transcribe": false,
"transcribations_record_exist": false,
"speech_analytics": true,
"speech_analytics_exist": false
},
{
"call_id": "7285556908054962276",
"service": "voice_message",
"application_uuid": "45b2bf47-fa06-4352-a202-b347f372ff90",
"start_time": "2025-01-16T07:22:05.987Z",
"end_time": "2025-01-16T07:22:28.660Z",
"from": "79334445566",
"to": "79001111111",
"status": "answered",
"direction": "outbound",
"duration": 22.61,
"legs": [
{
"start_time": "2025-01-16T07:22:06.192Z",
"end_time": "2025-01-16T07:22:28.660Z",
"from": "79334445566",
"to": "79001111111",
"status": "answered",
"setup_time": 17.55,
"wait_time": 17.55,
"talk_time": 5.06,
"duration": 22.61,
"cause_code": 16
}
],
"record_call": false,
"voice_record_exist": false,
"transcribe": false,
"transcribations_record_exist": false,
"speech_analytics": false,
"speech_analytics_exist": false
}
]
}