Sprievodcovia

Fakturačné údaje podľa IČO

Automatické dopĺňanie názvu firmy, adresy, DIČ a IČ DPH do formulára. JavaScript príklad s ošetrením chýb a chýbajúcich údajov.

Subjekt API umožňuje automaticky doplniť názov firmy, sídlo, DIČ a IČ DPH po zadaní slovenského alebo českého IČO. Nepotrebujete účet ani API kľúč. Dostupné údaje pochádzajú zo zdrojových registrov; chýbajúce hodnoty môžu byť null.

Predvyplnenie formulára v JavaScripte

Po zadaní celého IČO zavolajte detail firmy. IČO uchovávajte ako reťazec, aby sa nestratili úvodné nuly. Pri slovenskej firme pošlite country=sk, pri českej country=cz; rovnaké IČO môže existovať v oboch krajinách.

async function fakturacneUdaje(ico, country = "sk") {
  if (!/^\d{8}$/.test(ico) || !["sk", "cz"].includes(country)) {
    throw new Error("Zadajte osemmiestne IČO a krajinu sk alebo cz.");
  }
  const response = await fetch(
    `https://api.subjekt.sk/v1/entity/${ico}?country=${country}`,
    { signal: AbortSignal.timeout(10000) }
  );
  if (response.status === 404) return null;
  if (response.status === 429) {
    throw new Error(`Limit požiadaviek. Skúste znova o ${response.headers.get("Retry-After") || "60"} sekúnd.`);
  }
  if (!response.ok) throw new Error(`API nie je dostupné (${response.status}).`);
  const firma = await response.json();
  const adresa = firma.address || {};
  return {
    ico: firma.ico,
    nazov: firma.name,
    dic: firma.dic ?? "",
    icDph: firma.ic_dph ?? "",
    ulica: [adresa.street, adresa.building_no].filter(Boolean).join(" "),
    mesto: adresa.city ?? "",
    psc: adresa.zip ?? "",
  };
}

try {
  const udaje = await fakturacneUdaje("31322832", "sk");
  if (udaje) console.log(udaje); // Priraďte do .value polí formulára.
  else console.log("Záznam sa nenašiel. Údaje môžete zadať ručne.");
} catch (error) {
  console.error(error.message); // Zobrazte používateľovi a ponechajte ručné vyplnenie.
}

Čo robiť, keď údaj chýba

Predvyplnené údaje nechajte používateľa skontrolovať a upraviť. 404 znamená, že služba záznam nenašla, nie dôkaz neexistencie firmy. Nové slovenské záznamy sa objavia až po publikovaní zdrojového snapshotu a importe. Prázdne IČ DPH nevyvodzujte z DIČ ani ho nevytvárajte pridaním predpony SK.

Pri výpadku API alebo prekročení limitu ponechajte možnosť vyplniť formulár ručne. Požiadavky na SK detail majú verejný limit 100 za minútu na IP a skupinu endpointov; volania zdrojových služieb majú ďalšie obmedzenia.

Súvisiaca dokumentácia

Táto stránka vo formáte Markdown