API-запрос экспорта журнала звонков, позволяет получить свыше 30 параметров в удобном для вас формате. Используя всего 1м запросом можно получить всю необходимую историю взаимодействия пользователя с сайтом и звонками.
В сочетании с функционалом переадресации с помощью Webhook перед звонком клиента, вы можете проверить его номер на предмет повторности его звонка и/или наличие исходящего звонка для переадресации на менеджера, с которым ранее общался звонящий.
Обратите внимание, что при экспорте данных из журнала звонок установлено ограничение — нет возможности выгружать более 6500 звонков одним запросом. Чтобы экспортировать необходимые вам звонки, необходимо разбить период так, чтобы при одном запросе экспортировалось менее 6500 звонков.
Основные параметры запроса:
Адрес API-запроса: https://api.ringostat.net/calls/list ;
Формат запросов — json или csv;
Метод — GET;
Auth-ключ.
Имя параметра | Описание | Значение по умолчанию |
| Формат выгрузки данных: |
|
| Начальные дата и время экспорта в формате | значение |
| Конечные дата и время экспорта в формате | текущие дата и время |
| Список полей для выборки из журнала звонков, разделённых запятой; |
|
| Фильтры, для выборки данных подпадающих под условие по значением полей |
|
| Сортировка выборки |
|
| Объединение выборки по номеру звонящего:
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, который позволяет добавлять один или несколько фильтров разделённых запятыми.
Фильтр | Описание фильтра |
| больше |
| меньше |
| больше, либо равно |
| меньше, либо равно |
| равно |
| не равно |
| регулярное выражение |
Объединение и сортировка
Объединение звонков по номеру звонящего используется для группировки данных по звонкам и облегчения визуального восприятия выгруженных данных.
Для объединения звонков используется ключ merge и по умолчанию равен 0
Сортировка, это один из инструментов группировки выгруженных данных.
Для сортировки данных используется ключ order и по умолчанию равен calldate%20asc
Имя параметра | значение параметра |
|
|
| Объединение выборки по номеру звонящего: 0 – не объединять; 1 – объединять за каждые 24 часа; 2 – объединять за всё время; |
Тест запроса
Вы можете увидеть, как выглядит запрос на разных языках программирования на странице https://ringostat.readme.io/reference/get_calls-list
Также там можно указать нужные параметры (1) и Auth-key (2), и отправить тестовый запрос (3):



