Получение записей о вызовах учётной записи
Читайте записи о входящих или исходящих вызовах вашей учётной записи API. Эти записи содержат конфиденциальную информацию о вызовах и начислениях. Обрабатывайте их только в разрешённых серверных процессах и избегайте ненужного журналирования или передачи.
Этот устаревший метод сейчас использует фиксированный период по умолчанию и не поддерживает постраничную выдачу. Если нужен другой отчётный период или большой объём исторических данных, используйте историю вызовов и экспорт в портале; параметры произвольных дат в этом методе работают ненадёжно.
Запросы
Проходите аутентификацию по HTTPS с включённой учётной записью API, обращаясь с разрешённого для неё исходного IP-адреса. В примере учётные данные берутся из переменных окружения. Для поддерживаемых запросов за период по умолчанию тело запроса не требуется.
curl --silent --show-error --user "$API_USER:$API_PASSWORD" \
https://api.multitel.net/v3/cdrs| Путь | Охват |
|---|---|
| /v3/cdrs | Записи о входящих вызовах учётной записи за период по умолчанию. |
| /v3/cdrs/{number} | Записи о входящих вызовах, номер в которых точно совпадает с переданным номером. Предпочтительно указывать полную последовательность цифр из вашего списка номеров. |
| /v3/cdrs/all/outbound | Записи об исходящих вызовах учётной записи за период по умолчанию. Ветка обработки исходящих вызовов игнорирует первый аргумент пути; all здесь служит заполнителем, а не шаблоном для входящих вызовов. |
Указывайте направление inbound или outbound в точности так, как показано выше. Ветка обработки исходящих вызовов не реализует фильтрацию по отдельному номеру. Добавление номера в этот путь не сужает результаты по исходящим вызовам.
Отчётный период по умолчанию
Период запроса начинается в полночь календарной даты сервера за 30 дней до сегодняшнего дня и заканчивается в полночь в начале сегодняшнего дня. Поэтому оставшаяся часть текущего дня в него не входит. Это не скользящий период длительностью 720 часов, заканчивающийся в текущий момент.
Текущая реализация ненадёжно поддерживает поля формы date_from/date_to: при передаче произвольных дат переменные года раздела остаются не заданными. Не используйте эти поля для отчётов в рабочей среде. Даты в строке запроса и параметры постраничной выдачи в качестве альтернатив не реализованы.
Ответ
Показаны лишь отдельные поля входящих вызовов для иллюстрации; данные вымышлены и не представляют полную возвращаемую запись.
{
"status": {
"code": "200",
"msg": "",
"results": 1
},
"response": [
{
"number": "12025550123",
"callerid": "12025550124",
"disposition": "ANSWERED",
"billseconds": "60",
"billcost": "0.0100",
"callsid": "11111111111111111111111111111111",
"date_created": "2026-10-01 12:00:00 UTC"
}
]
}response — это список. Общая оболочка ответа может содержать status.results с количеством строк. Коды результатов могут быть строками. При отсутствии записей возвращается код API 404 с сообщением No entries found, а не успешный ответ с пустым списком.
Поля записей
| Поля | Значение |
|---|---|
| number, callerid | Номер входящего вызова и идентификатор вызывающего абонента в наборе полей для входящих вызовов. |
| calling, called, callerid | Идентификаторы вызывающей и вызываемой сторон в наборе полей для исходящих вызовов. Не считайте идентификатор вызывающего абонента подтверждением личности абонента. |
| disposition, billseconds, billcost | Сохранённый результат вызова, тарифицированная длительность и сохранённая сумма начисления. Значения могут использовать устаревшие строковые форматы базы данных. |
| callsid | Сохранённый UUID вызова для сопоставления связанных данных. |
| date_created | Строка даты и времени с буквальным суффиксом UTC, а не гарантированная временная метка в формате ISO8601. Явно задавайте разбор возвращаемого формата. |
| Другие поля | Записи о входящих вызовах также включают диагностические сведения о сбоях, стоимости, канале, качестве и источнике; записи об исходящих вызовах включают диагностические сведения о регионе завершения вызова. Полный ответ может содержать информацию об инфраструктуре, и с ним следует обращаться как с конфиденциальными данными. |
Метод не задаёт явного порядка сортировки и не поддерживает постраничную выдачу. Не предполагайте, что новые записи идут первыми, порядок строк остаётся стабильным или имеется курсор для инкрементальной синхронизации. Возвращаемые поля начислений относятся к сохранённым записям о вызовах и не являются расчётом стоимости будущего вызова.
Ошибки и ограничения отчётности
Проверяйте как статус HTTP, так и status.code/status.msg в JSON. При отсутствии записей для выбранной учётной записи и периода возвращается код API 404. Также действуют аутентификация и ограничения по исходному IP-адресу. Большой отчёт без постраничной выдачи или ненадёжный запрос с произвольными датами может завершиться ошибкой; повторное чтение всей таблицы не является стратегией инкрементального экспорта.
Проверенный обработчик содержит запросы на чтение и не выполняет списаний со счёта или инициирования вызовов. Наличие возвращённой записи не доказывает, что на вызов ответил человек; интерпретируйте сохранённые результат и длительность вызова с учётом задач вашей отчётности.