Разработчикам

GET/v3/cdrs

Просмотр записей о вызовах учётной записи

Получите записи о входящих и исходящих вызовах за поддерживаемый период по умолчанию и ознакомьтесь с ограничениями отчётности.

На этой странице
  1. Получение записей о вызовах учётной записи
  2. Запросы
  3. Отчётный период по умолчанию
  4. Ответ
  5. Поля записей
  6. Ошибки и ограничения отчётности

Получение записей о вызовах учётной записи

Читайте записи о входящих или исходящих вызовах вашей учётной записи 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-адресу. Большой отчёт без постраничной выдачи или ненадёжный запрос с произвольными датами может завершиться ошибкой; повторное чтение всей таблицы не является стратегией инкрементального экспорта.

Проверенный обработчик содержит запросы на чтение и не выполняет списаний со счёта или инициирования вызовов. Наличие возвращённой записи не доказывает, что на вызов ответил человек; интерпретируйте сохранённые результат и длительность вызова с учётом задач вашей отчётности.