Усі колекції
API та Webhooks
API
Ringostat API. Експорт статистики з Журнала дзвінків
Ringostat API. Експорт статистики з Журнала дзвінків
Eugene Zastup avatar
Автор: Eugene Zastup
Оновлено протягом останнього тижня

API-запит експорту журналу дзвінків дозволяє отримати понад 30 параметрів у зручному для вас форматі.

За допомогою лише одного запиту, можна отримати всю необхідну історію взаємодії користувача з сайтом та дзвінками.

У поєднанні з функціоналом переадресації за допомогою Webhook перед дзвінком клієнта, ви можете перевірити його номер - чи був дзвінок повторний та/або наявність вихідного дзвінка для переадресації на менеджера, з яким раніше спілкувався абонент.

Зверніть увагу, що під час експорту даних із журналу дзвінків встановлено обмеження — немає можливості завантажувати більше 6500 дзвінків одним запитом. Щоб експортувати необхідні дзвінки, необхідно розбити період так, щоб при одному запиті експортувалося менше 6500 дзвінків.

Основні параметри запиту:

Ім'я параметра

Опис

Значення за замовчуванням

export_type

Формат завантаження даних: json або csv

json

from

Початкова дата та час експорту у форматі YYYY-MM-DD HH:MM:SS

значення to мінус 24 години

to

Кінцеві дата та час експорту у форматі YYYY-MM-DD HH:MM:SS

(дані будуть отримані за період до зазначеної дати, не включаючи її)

поточні дата та час

fields

Список полів для вибірки з журналу дзвінків, розділених комою;

calldate, caller, dst

filters

Фільтри, для вибірки даних, що підпадають під умову за значенням полів

немає

order

Сортування вибірки

поточні дата та час

merge

Об'єднання вибірки за номером:

0 – не об'єднувати;

1 – об'єднувати за кожні 24 години;

2 - об'єднувати за весь час

не об'єднувати

Приклад для Node.js:

const https = require('https');
const config = {
host: 'api.ringostat.net',
path: '/calls/list?export_type=json&from=2019-06-01%2000:00:00&to=2019-06-18%2023:59:59­&fields=calldate,caller,dst,disposition,billsec,utm_source,utm_medium,recording',
method: 'GET',
headers: {
'Content-Type': 'application/json',
'Auth-key': 'unique_auth_key_value'
}
};
const callback = response => {
let result = Buffer.alloc(0);
response.on('data', chunk => {
result = Buffer.concat([ result, chunk ]);
});
response.on('end', () => {
//handle response
})
};
const request = https.request(config, callback);
request.end();


Приклад для Axios.js

const axios = require('axios');
axios({
url: 'https://api.ringostat.net/calls/list',
method: 'GET',
headers: {
'Content-Type': 'application/json; charset=utf-8',
'Auth-key': 'unique_auth_key_value'
},
params: JSON.stringify({
'export_type': 'json',
'from': '2019-06-01 00:00:00',
'to': '2019-06-18 23:59:59',
'fields': 'calldate,caller,dst,disposition,billsec,utm_source,utm_medium,recording'
})
}).then(response => {
//handle response
}).catch(error => {
//handle error
})


Приклад для cURL

curl "https://api.ringostat.net/calls/list?export_type=json&from=2019-06-01 00:00:00&to=2019-06-18 23:59:59&fields=calldate,caller,dst,disposition,billsec,utm_source,utm_medium,recording" \
-H "Content-Type: application/json" \
-H "Auth-key: unique_auth_key_value"


Результат:

Поля для вибірки

За основними параметрами слідують поля для вибірки. Для додавання полів використовується ключ fields. Він дозволяє додати одне або кілька значень, які розділені комами.

Фільтри вибірки

Фільтри необхідні для вибірки дзвінків за заданими параметрами.

Фільтр складається з імені поля, символу порівняння та значенням у відповідній послідовності.

Для додавання фільтра використовується ключ filters, який дозволяє додавати один або кілька фільтрів, розділених комами.

Фільтр

Опис фільтра

>

більше

<

менше

>=

більше, чи дорівнює

<=

менше, чи дорівнює

=

дорівнює

<>

не дорівнює

~

регулярний вираз

Літерал має бути закодований у base64

Об'єднання та сортування

Об'єднання дзвінків за номером використовується для групування даних за дзвінками та полегшення візуального сприйняття даних, що отримуєте при завантаженні.

Для об'єднання дзвінків використовується ключ merge і за замовчуванням дорівнює 0.

Сортування - один із інструментів групування завантажених даних.

Для сортування даних використовується ключ order і за замовчуванням дорівнює calldate%20asc

Ім’я параметра

значення параметра

order

asc - за зростанням;

desc - за спаданням;

merge

0 – не об'єднувати;

1 – об'єднувати за кожну добу;

2 – об'єднувати за весь час

Тест запиту

Ви можете побачити як виглядає запит на різних мовах програмування на сторінці https://ringostat.readme.io/reference/get_calls-list

Також там можна вказати потрібні параметри (1) та Auth-key (2), і надіслати тестовий запит (3):


Ви отримали відповідь на своє запитання?