Отримання записів дзвінків облікового запису
Читайте записи вхідних або вихідних дзвінків свого облікового запису 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-адреси. Великий звіт без розбиття на сторінки або ненадійний запит із довільними датами може завершитися помилкою; повторне опитування всієї таблиці не є стратегією інкрементального експорту.
Перевірений обробник містить запити читання й не виконує списання коштів з облікового запису або ініціювання дзвінків. Повернений запис не доводить, що відповіла людина; тлумачте збережений результат дзвінка та його тривалість відповідно до потреб своєї звітності.