Sprievodcovia
Zdroje a aktuálnosť firemných údajov
Odkiaľ pochádzajú dáta RPO, Finančnej správy a ARES, kedy sa obnovujú a ako rozlíšiť čas importu od veku zdroja.
Vyskúšaj tento endpoint
{ "stav": "pripravený" }
Slovenské dáta
SK záznamy sa skladajú z RPO, exportov DIČ a platiteľov DPH Finančnej správy a voliteľného DIČ obohatenia z RÚZ.
- GitHub Actions má naplánovanú kontrolu publikovania RPO denne o 03:17 UTC; importuje len zmenený snapshot. GitHub môže spustenie oneskoriť. Denná kontrola zachytí aj oneskorené týždenné vydanie.
- DIČ a registrácie DPH sa zosúlaďujú denne, nezávisle od zmien RPO.
- Hromadný RPO snapshot použitý pipeline je zdrojom publikovaný približne týždenne.
- Čas posledného úspešného importu preto nie je to isté ako čas publikovania zdroja.
Oba údaje vracia health endpoint:
curl "https://api.subjekt.sk/v1/health"
last_success_at/sk_last_sync— posledná úspešná fáza synchronizácie (zvyčajne dane),rpo_last_success_at— posledný úspešný import RPO,tax_last_success_at,tax_source_last_modified— úspešné zosúladenie daní a starší z dátumov publikovania jeho dvoch zdrojov,source_last_modified— čas publikovania importovaného RPO snapshotu,last_attempt_at,last_sync_status,last_attempt_error— výsledok posledného pokusu,sync_lag_seconds— vek posledného úspešného importu.
Presné podmienky pre status: "ok" a degraded sú v tabuľke na stránke GET /v1/health. Stránka Stav ukazuje, ktorá kontrola neprešla.
České dáta
CZ dáta sa získavajú z ARES. Detail je v pamäťovej cache Workera najviac šesť hodín, vyhľadávanie názvu 30 minút; navyše platí HTTP cache uvedená nižšie. Chyba ARES vracia 502 upstream_unavailable alebo 504 timeout, aj pri country=both. Výpadok sa neskrýva za neúplný zoznam.
Health nekontroluje dostupnosť ARES: uvádza cz_status: "not_checked". Pole updated_at českého detailu pochádza z ARES datumAktualizace, nie z času požiadavky.
Nová slovenská firma sa objaví po zapísaní do RPO, zahrnutí do nasledujúceho týždenného snapshotu a úspešnom importe. Zmeny teda nie sú okamžité; úplnosť závisí od zdrojových registrov. Viac registrácií pod rovnakým IČO zastupuje jeden deterministický záznam: aktívny má prednosť, potom Obchodný register, Živnostenský register a ostatné registre. Zaniknuté subjekty zostávajú vo vyhľadávaní.
Cache-Control
API momentálne vracia:
| Úspešný endpoint | Cache-Control |
|---|---|
GET /v1/entity/{ico} |
public, max-age=3600 |
GET /v1/search |
public, max-age=300 |
GET /v1/health |
public, max-age=30 |
Chybové odpovede používajú no-store, aby sa výpadky, 429 alebo dočasné upstream chyby neukladali do cache.
Príklad kontroly
const response = await fetch("https://api.subjekt.sk/v1/health");
const health = await response.json();
if (!response.ok || health.status !== "ok") {
console.warn("Subjekt API alebo synchronizácia je degradovaná", health.data);
}