Historia URL-i: przegląd (getData)
/api/visibility_analysis/reports/history/urls/getDataZwraca pełną listę adresów URL domeny wraz z porównaniem statystyk widoczności między date_min a date_max. W odróżnieniu od raportu historii fraz, ten raport agreguje dane po adresach URL — dla każdego adresu otrzymujesz liczbę fraz (keywords_count) oraz zestaw statystyk {current, previous, diff, percent}: liczbę fraz w TOP3/TOP10/TOP50, szacowany ruch (visibility), średnią pozycję (position), sumę pozycji (summary_position) oraz liczbę fraz, które zyskały (wins) i straciły (losses). Wyniki są sortowane według pojedynczej dyrektywy sortowania.
| URL | Frazy | TOP3 | TOP3 poprz. | TOP3 Δ | TOP3 % |
|---|---|---|---|---|---|
| zalando.pl/ | 3084 | 251 | 116 | 135 | 1,164 |
| zalando.pl/bershka/ | 149 | 29 | 27 | 2 | 0,074 |
zalando.pl (2026-06-20 → 2026-06-29). Wszystkie pola wiersza (poza mapami o kluczach-datach — są w JSON). Uwaga: keywords_count, wins i losses przychodzą jako stringi.
Żądanie
POST /api/visibility_analysis/reports/history/urls/getData
Nagłówki: Authorization: Bearer <token>, Content-Type: application/json.
Struktura żądania
Podstawowy
{
"domain": "zalando.pl",
"fetch_mode": "topLevelDomain",
"country_id": 1,
"date_min": "2026-06-20",
"date_max": "2026-06-29",
"order": { "prop": "statistics.visibility.current", "dir": "desc" }
}Parametry
| Name | Type | Default |
|---|---|---|
domain | stringWymagane. Domena, subdomena, katalog lub URL do analizy — interpretowane zgodnie z | |
fetch_mode | "topLevelDomain" | "subdomain" | "catalog" | "url"Wymagane. Sposób interpretacji
| |
country_id | numberWymagane. Id kraju (bazy danych). Polska = | |
date_min | stringWymagane. Początek zakresu dat, | |
date_max | stringWymagane. Koniec zakresu dat, | |
order | { prop: "statistics.visibility.current" | "statistics.visibility.previous" | "statistics.visibility.diff" | "statistics.visibility.percent"; dir: "asc" | "desc"; }Wymagane. Pojedyncza dyrektywa sortowania (jeden obiekt — nie tablica). Dozwolone wartości
Błędny | |
limit | numberLiczba wierszy na stronę. | 10 |
page | numberNumer strony. | 1 |
order to pojedynczy obiekt ({ prop, dir }) — nie tablica — i akceptuje wyłącznie 4 właściwości z gałęzi statistics.visibility.* wymienione powyżej. Kontroler przyjmuje też opcjonalny parametr filtering, jednak zestaw dozwolonych kluczy filtrów dla tego raportu nie został jeszcze zweryfikowany na żywo — nie należy zakładać, że filtry znane z innych raportów zadziałają tutaj tak samo.
Pięć parametrów jest wymaganych: domain, fetch_mode, country_id, date_min, date_max, a także pojedynczy obiekt order ({ prop, dir } — nie tablica). Wartość fetch_mode: "domain" nie istnieje — użyj topLevelDomain. Dozwolone są tylko 4 wartości order.prop (wszystkie z gałęzi statistics.visibility.*) — to mniej niż w raporcie historii fraz. Uwaga na typy: część pól liczbowych przychodzi jako stringi (keywords_count, statistics.wins.current, statistics.losses.current).
Odpowiedź
W przypadku powodzenia otrzymujesz data (tablicę wierszy z adresami URL) oraz pagination.
Skrócona
{
"success": true,
"data": [
{ "url": "zalando.pl/", "keywords_count": "3084", "statistics": { "visibility": { "current": 963643.78 }, "top3": { "current": 251 } /* … */ } }
],
"pagination": { "page_count": 36677, "current_page": 1, "has_next_page": true, "has_prev_page": false, "count": 73353, "limit": 2 }
}Struktura odpowiedzi
| Name | Type | Default |
|---|---|---|
success | boolean
| |
data | UrlRow[]Zwrócone wiersze z adresami URL | |
pagination | { page_count: number; current_page: number; has_next_page: boolean; has_prev_page: boolean; count: number; limit: number; }Metadane paginacji |
Błędy
| Name | Type | Default |
|---|---|---|
success | false | |
data | { error: { type: string; message: string; params?: Record<string, Record<string, string>>; }; } |
418 zwracany jest również dla błędów walidacji — nie tylko przy ograniczeniu liczby żądań (rate limiting). Nieznane country_id → 418 z komunikatem Unknown country_id. Niedozwolony order.prop → 418 invalid_data z komunikatem "This value is not allow. Please use correct colum name" (pisownia oryginalna).
Znany błąd — odwrócony komunikat. Przy date_min > date_max walidator DateRangeRules zwraca komunikat "date_max must be less or equal than date_min" — treść jest odwrócona (to date_min musi być nie późniejszy niż date_max). Należy go odczytywać jako niepowodzenie reguły zakresu dat, a nie jako dosłowną instrukcję.
Powiązane akcje
getData— pełna lista URL-i w zakresie dat (ta strona)getWins— URL-e, których widoczność wzrosła w danym zakresie (taka sama struktura żądania)getLosses— URL-e, których widoczność spadła w danym zakresiegetAcquired— URL-e nowo pozyskane w zakresiegetLost— URL-e całkowicie utracone w zakresie