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):