К основному содержимому
Все коллекцииAPI и WebhooksAPI
API Ringostat. Экспорт журнала звонков
API Ringostat. Экспорт журнала звонков
Katerina Tverdochleb avatar
Автор: Katerina Tverdochleb
Обновлено более года назад

API-запрос экспорта журнала звонков, позволяет получить свыше 30 параметров в удобном для вас формате. Используя всего 1м запросом можно получить всю необходимую историю взаимодействия пользователя с сайтом и звонками.

В сочетании с функционалом переадресации с помощью 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 – объединять за всё время;

0 – не объединять

Пример для 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 – объединять за каждые 24 часа;

2 – объединять за всё время;

Тест запроса

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

Также там можно указать нужные параметры (1) и Auth-key (2), и отправить тестовый запрос (3):


Нашли ответ на свой вопрос?