Zapytanie API do eksportu dziennika połączeń umożliwia pobranie ponad 30 parametrów w wygodnym dla Państwa formacie.
Za pomocą jednego zapytania można uzyskać pełną historię interakcji użytkownika z witryną oraz połączeniami.
W połączeniu z funkcjonalnością przekierowania za pomocą Webhook przed połączeniem klienta, mogą Państwo sprawdzić jego numer — czy połączenie było powtórne oraz/lub czy istnieje połączenie wychodzące, aby przekierować je do menedżera, z którym abonent wcześniej rozmawiał.
Proszę zwrócić uwagę, że podczas eksportu danych z dziennika połączeń obowiązuje ograniczenie — nie ma możliwości pobrania więcej niż 6500 połączeń jednym zapytaniem. Aby wyeksportować wymagane dane, należy podzielić okres w taki sposób, aby jedno zapytanie obejmowało mniej niż 6500 połączeń.
Główne parametry zapytania:
Adres API: https://api.ringostat.net/calls/list ;
Format zapytań — json lub csv;
Metoda — GET;
Klucz Auth.
Nazwa parametru | Opis | Wartość domyślna |
export_type | Format eksportu danych: json lub csv | json |
from | Data i godzina rozpoczęcia eksportu w formacie YYYY-MM-DD HH:MM:SS | wartość to minus 24 godziny |
to | Data i godzina zakończenia eksportu w formacie YYYY-MM-DD HH:MM:SS (dane zostaną pobrane do wskazanej daty, bez jej uwzględnienia) | bieżąca data i godzina |
fields | Lista pól do pobrania z dziennika połączeń, oddzielonych przecinkami | calldate, caller, dst |
filters | Filtry do wyboru danych spełniających określone warunki | brak |
order | Sortowanie wyników | bieżąca data i godzina |
merge | Grupowanie danych według numeru: 0 – nie grupować; 1 – grupować co 24 godziny; 2 – grupować za cały okres | nie grupować |
Przykład dla 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();
Przykład dla 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
})
Przykład dla 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"
Wynik:
Pola do wyboru
Po podstawowych parametrach następują pola do wyboru. Do ich dodania używany jest parametr fields, który pozwala wskazać jedno lub kilka pól oddzielonych przecinkami.
Filtry wyboru
Filtry są potrzebne do wybrania połączeń według określonych parametrów.
Filtr składa się z nazwy pola, operatora porównania oraz wartości w odpowiedniej kolejności.
Do dodania filtra używany jest parametr filters, który umożliwia dodanie jednego lub kilku filtrów oddzielonych przecinkami.
Filtr | Opis |
> | większe niż |
< | mniejsze niż |
>= | większe lub równe |
<= | mniejsze lub równe |
= | równe |
<> | różne |
~ | wyrażenie regularne Literał musi być zakodowany w base64. |
Grupowanie i sortowanie
Grupowanie połączeń według numeru służy do agregacji danych i ułatwia ich analizę wizualną po eksporcie.
Do grupowania używany jest parametr merge, który domyślnie ma wartość 0.
Sortowanie jest jednym z narzędzi porządkowania pobranych danych.
Do sortowania używany jest parametr order, który domyślnie ma wartość calldate%20asc.
Nazwa parametru | Wartość |
order | asc – rosnąco; desc – malejąco |
merge | 0 – nie grupować; 1 – grupować dziennie; 2 – grupować za cały okres |
Test zapytania
Mogą Państwo sprawdzić, jak wygląda zapytanie w różnych językach programowania na stronie:
https://ringostat.readme.io/reference/get_calls-list
Na tej stronie można również wskazać wymagane parametry (1) oraz Auth-key (2), a następnie wysłać zapytanie testowe (3):



