Dashboard: dane domeny (getDomainData)
/api/visibility_analysis/reports/dashboard/getDomainDataZwraca dashboardową „kartę domeny” dla danej domeny: najważniejsze kategorie, w których domena jest widoczna (każda z porównaniami rank, visibility i top10), technologie wykryte na stronie oraz informację, czy domena jest oznaczona jako ulubiona.
Żądanie
GET /api/visibility_analysis/reports/dashboard/getDomainData
Parametry odczytywane są z query stringa (getQuery). Nagłówki: Authorization: Bearer <token>. Nie wysyłaj treści JSON — jest ignorowana, a żądanie nie przechodzi walidacji i zwraca 418.
Struktura żądania
Podstawowy
// Query string parameters
{
"domain": "zalando.pl",
"fetch_mode": "topLevelDomain"
}
// GET /api/visibility_analysis/reports/dashboard/getDomainData?domain=zalando.pl&fetch_mode=topLevelDomainParametry
| Name | Type | Default |
|---|---|---|
domain | stringWymagane. Domena lub subdomena do analizy, walidowana po stronie API.
Bez schematu/protokołu — np. | |
fetch_mode | "topLevelDomain" | "subdomain" | "catalog" | "url"Wymagane. Tryb agregacji danych o widoczności.
Uwaga:
| |
country_id | numberIdentyfikator kraju (baza Google). Opcjonalne — gdy brak, | 1 |
Dozwolone wartości fetch_mode to dokładnie ['topLevelDomain', 'subdomain', 'catalog', 'url'] (DataFetchMode::AVAILABLE_MODES). Przekazanie domain to częsty błąd — nie mapuje się na nic i nie przechodzi walidacji. Pamiętaj, że te parametry trafiają do query stringa, a nie do treści żądania.
To jest endpoint GET. Parametry odczytywane są z query stringa (kontroler używa getQuery) — wysyłaj je w URL-u, a nie w treści JSON. Wysłanie treści JSON zwraca 418 (invalid_data — wymagane domain/fetch_mode), ponieważ getQuery jest puste. Zarówno domain, jak i fetch_mode są wymagane. Wartość fetch_mode domain nie istnieje — użyj topLevelDomain dla całej domeny. country_id jest opcjonalne i domyślnie przyjmuje PL (1), gdy nie zostanie podane.
Odpowiedź
W przypadku powodzenia otrzymujesz pojedynczy obiekt data (a nie listę — nie ma pagination). Zawiera on analizowaną domain, datę updated, tablicę categories, w których domena jest widoczna (każda z porównaniem rank / visibility / top10), tablicę wykrytych technologies oraz flagę is_favourite. Każda metryka to porównanie recent_value z older_value wraz z bezwzględną różnicą diff i ułamkowym percent (np. 0.0364 = +3.64%).
Skrócona
{
"success": true,
"data": {
"domain": "zalando.pl",
"updated": "2026-06-30",
"categories": [
{ "id": 290, "name": "Styl i moda", "statistics": { "rank": { "recent_value": 3, "older_value": 3, "diff": 0, "percent": 0 } /* … visibility, top10 */ } }
/* … more categories */
],
"technologies": [ { "name": "ActiveCampaign", "icon": "activecampaign.png" } /* … */ ],
"is_favourite": false
}
}Struktura odpowiedzi
| Name | Type | Default |
|---|---|---|
success | boolean
| |
data | { domain: string; updated: string; categories: { id: number; name: string; statistics: { rank: Metric; visibility: Metric; top10: Metric; }; }[]; technologies: { name: string; icon: string; }[]; is_favourite: boolean; }Pojedynczy obiekt — tutaj NIE ma paginacji. |
Błędy
| Name | Type | Default |
|---|---|---|
success | false | |
data | { error: { type: string; message: string; params?: Record<string, Record<string, string>>; }; } |
418 zwracane jest również dla błędów walidacji — nie tylko dla limitowania zapytań. Najczęstsze przyczyny to wysłanie parametrów w treści JSON zamiast w query stringu (przez co getQuery jest puste → wymagane domain/fetch_mode) oraz pominięcie fetch_mode. Brak fetch_mode →
{"success":false,"data":{"error":{"type":"invalid_data","params":{"fetch_mode":{"_required":"This field is required"}}}}}. Nieprawidłowy lub brakujący token zwraca Unauthorized.
Powiązane akcje
getDomainData— karta domeny: kategorie, technologie, flaga ulubionej (ta strona)getDomainStatistics— kluczowe metryki domeny (TOP3 / TOP10, widoczność, pozycja, AIO) dla tej samej parydomain+fetch_modegetData(Positions) — pozycje na poziomie słów kluczowych stojące za tymi agregatami (ten sam kształtdomain+fetch_mode)