Pozostałe: Landing pages · statystyki URL-i (getUrlsStatistics)
/api/rank_tracker/reports/landing_pages/getUrlsStatisticsZwraca stronicowaną listę statystyk adresów URL (landing pages) projektu Rank Tracker w zadanym zakresie dat. Wymagane są project_id oraz zakres date_min–date_max w formacie YYYY-MM-DD (walidator UrlsStatisticsValidator).
Żądanie
POST /api/rank_tracker/reports/landing_pages/getUrlsStatistics
Nagłówki: Authorization: Bearer <token>, Content-Type: application/json.
Struktura żądania
Podstawowy
{
"project_id": null,
"date_min": "2026-06-20",
"date_max": "2026-06-29"
}Parametry
| Name | Type | Default |
|---|---|---|
project_id | numberWymagane. ID projektu Rank Tracker. Musi należeć do użytkownika,
inaczej zwracane jest | |
date_min | stringWymagane. Początek zakresu dat w formacie | |
date_max | stringWymagane. Koniec zakresu dat w formacie | |
filtering | { filters: { key: string; match?: string; value: string | number; complement?: boolean; }[]; conjunction?: "and" | "or"; }[]Filtrowanie listy adresów URL. Rejestr filtrów tego endpointu jest wąski —
dozwolone klucze: | |
limit | numberRozmiar strony paginacji. Odbija się w | 10 |
page | numberNumer strony paginacji. | 1 |
Pułapki potwierdzone na produkcji:
- Brak
date_min/date_max→418z{"date_min":{"_required":"This field is required"},"date_max":{"_required":"This field is required"}}. - Znany bug: przy
date_min > date_maxkomunikat walidacjiDateRangeRulesjest odwrócony — wskazuje niewłaściwe pole zakresu. pagination.countjest zwracane jako string, pozostałe pola paginacji są liczbami.- Ten sam wiersz podaje metryki dwoma typami: na najwyższym poziomie
visibility,top3,top10,top50,sum_searchesilast_positionto stringi, a w obiekciestatisticste same wartości są liczbami (pozasearches, które zostaje stringiem). Rzutuj typy przed obliczeniami.
Odpowiedź
Po pomyślnym żądaniu otrzymujesz data (tablicę statystyk URL-i) oraz pagination. Projekt, który w podanym zakresie dat nie ma pozycjonujących się adresów, zwraca pustą tablicę.
Skrócona
{
"success": true,
"data": [
{
"uid": "a0a93179e90261866c955748815a6b27",
"url": "https://example.com/produkt/",
"visibility": "7.52",
"top3": "1",
"top10": "1",
"top50": "1",
"sum_searches": "70",
"best_keyword": "nazwa produktu",
"last_position": "3",
"page_path": "//example.com/produkt/"
}
],
"pagination": {
"page_count": 1,
"current_page": 1,
"has_next_page": false,
"has_prev_page": false,
"count": "1",
"limit": 3
}
}Struktura odpowiedzi
| Name | Type | Default |
|---|---|---|
success | boolean
| |
data | { uid: string; url: string; page_path: string; visibility: string; top3: string; top10: string; top50: string; sum_searches: string; last_position: string; best_keyword: string; statistics: { position: { ...; }; ... 5 more ...; top50: { ...; }; }; }[]Statystyki adresów docelowych. | |
pagination | { page_count: number; current_page: number; has_next_page: boolean; has_prev_page: boolean; count: string; limit: number; }Metadane paginacji |
Błędy
| Name | Type | Default |
|---|---|---|
success | false | |
data | { error: { type: string; message: string; params?: Record<string, Record<string, string>>; }; } |
418 jest zwracane przy błędach walidacji (invalid_data) — nie tylko przy ograniczaniu liczby żądań. Brak dat → 418 z {"date_min":{"_required":"This field is required"},"date_max":{"_required":"This field is required"}}. Cudzy lub nieistniejący project_id zwraca 418 z Unauthorized access, a nie 404. Pamiętaj o odwróconym komunikacie DateRangeRules przy date_min > date_max.
Powiązane akcje
getUrlsStatistics— statystyki URL-i (landing pages) w zakresie dat (ta strona); jedyna zbadana akcja kontroleraLandingPages