Skip to Content

Historia URL-i: spadki (getLosses)

POST/api/visibility_analysis/reports/history/urls/getLosses

Zwraca adresy URL domeny, których widoczność spadła między date_min a date_max (tryb MODE_DECREASE). W odróżnieniu od raportu historii fraz, ten raport agreguje dane po adresach URL, a nie po pojedynczych frazach — każdy wiersz opisuje jeden URL wraz ze statystykami: liczbą fraz, przedziałami pozycji (top3/top10/top50), widocznością (szacowany ruch), średnią i sumaryczną pozycją oraz liczbą fraz, które zyskały (wins) i straciły (losses).

Podgląd · 6 z 27 kolumn
URLFrazyTOP3TOP3 poprz.TOP3 ΔTOP3 %
zalando.pl/bershka/149292720,074
zalando.pl/stradivarius/90383800

zalando.pl (2026-06-20 → 2026-06-29) — URL-e ze spadkiem widoczności. 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/getLosses

Nagłówki: Authorization: Bearer <token>, Content-Type: application/json.

Struktura żądania

żądanie-podstawowe.jsonc
{ "domain": "zalando.pl", "fetch_mode": "topLevelDomain", "date_min": "2026-06-20", "date_max": "2026-06-29", "country_id": 1, "order": { "prop": "statistics.visibility.current", "dir": "desc" } }

Parametry

NameTypeDefault
domainstring

Wymagane. Domena, subdomena, katalog lub URL do analizy — interpretowane zgodnie z fetch_mode.

fetch_mode"topLevelDomain" | "subdomain" | "catalog" | "url"

Wymagane. Sposób interpretacji domain.

  • topLevelDomain — cała domena (najczęstszy przypadek; wartość “domain” nie istnieje)
  • subdomain — pojedyncza subdomena
  • catalog — ścieżka/katalog
  • url — dokładny URL
country_idnumber

Wymagane. Id kraju (bazy danych). Polska = 1. Nieznana wartość → 418 z komunikatem “Unknown country_id”.

date_minstring

Wymagane. Początek zakresu dat, YYYY-MM-DD. Musi być nie późniejszy niż date_max.

date_maxstring

Wymagane. Koniec zakresu dat, YYYY-MM-DD. Musi być nie wcześniejszy niż date_min.

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 prop (tylko 4 — inaczej niż w raporcie fraz):

  • statistics.visibility.current
  • statistics.visibility.previous
  • statistics.visibility.diff
  • statistics.visibility.percent

Inna wartość → 418 invalid_data z komunikatem “This value is not allow. Please use correct colum name” (pisownia oryginalna).

limitnumber

Liczba wierszy na stronę.

10
pagenumber

Numer strony.

1
filteringunknown

Opcjonalne filtrowanie wyników. Kontroler przyjmuje ten parametr (wg źródła), ale zestaw dozwolonych kluczy filtrów dla raportu URL-i nie został jeszcze zweryfikowany na żywo — używaj ostrożnie.

order to pojedynczy obiekt ({ prop, dir }) — nie tablica. Ten raport dopuszcza wyłącznie 4 właściwości sortowania (statistics.visibility.*) — próba sortowania np. po keyword lub statistics.position.current zakończy się błędem 418.

Wymagane są: domain, fetch_mode, country_id, date_min, date_max oraz pojedynczy obiekt order ({ prop, dir } — nie tablica). Dozwolone są tylko 4 wartości order.prop (właściwości statistics.visibility.*) — mniej niż w raporcie fraz, który ma ich 11. Wartość fetch_mode: "domain" nie istnieje — użyj topLevelDomain. 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 URL-ami) oraz pagination. Dla zapytania (zalando.pl, 2026-06-20 → 2026-06-29) raport zwrócił count = 2 962 URL-i ze spadkami.

przykładowa-odpowiedź (skrócona)
{ "success": true, "data": [ { "url": "zalando.pl/bershka/", "keywords_count": "149", "statistics": { "visibility": { "current": 311727.2, "previous": 311733.03, "diff": -5.83 } /* … */ } } ], "pagination": { "page_count": 1481, "current_page": 1, "has_next_page": true, "has_prev_page": false, "count": 2962, "limit": 2 } }

Struktura odpowiedzi

NameTypeDefault
successboolean

true przy powodzeniu; przy błędzie false i koperta z error

dataUrlRow[]

Zwrócone wiersze z URL-ami

pagination{ page_count: number; current_page: number; has_next_page: boolean; has_prev_page: boolean; count: number; limit: number; }

Metadane paginacji

Błędy

NameTypeDefault
successfalse
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_id418 z komunikatem “Unknown country_id”. Niedozwolony order.prop418 invalid_data z komunikatem “This value is not allow. Please use correct colum name” (pisownia oryginalna).

Znany błąd — odwrócony komunikat. Gdy date_min jest późniejszy niż date_max, reguła DateRangeRules zwraca komunikat "date_max must be less or equal than date_min" — treść jest odwrócona; należy go odczytywać jako naruszenie reguły zakresu dat, a nie jako dosłowną instrukcję.

Powiązane akcje

  • getData — pełna lista URL-i w zakresie dat (taka sama struktura żądania)
  • getWins — URL-e, których widoczność wzrosła w zakresie dat
  • getLosses — URL-e, których widoczność spadła (MODE_DECREASE, ta strona)
  • getAcquired — URL-e nowo pozyskane (zaczęły rankować w badanym okresie)
  • getLost — URL-e utracone (przestały rankować w badanym okresie)
Ostatnia aktualizacja: