Firemné údaje SK/CZ pre e-shopy

Dokumentácia k API

Autoform SK/CZ poskytuje jednoduché API pre firemné údaje zo Slovenska (RPO), Česka (ARES) a overenie IČ DPH v EÚ (VIES). Nižšie nájdete prehľad endpointov a plné PHP príklady, ktoré si môžete skopírovať do vlastného projektu.

API endpointy (SK/CZ)

Všetky endpointy sú dostupné pod základnou URL: https://api-data.eu/api/
Každý dopyt musí obsahovať parameter: k=VAS_API_KLUC

  • Vyhľadávanie SK firiem podľa názvusearch_company.php
  • Detail firmy SK podľa IČOcompany.php
  • Detail firmy CZ podľa IČOcz_company.php
  • Overenie IČ DPH (EÚ VIES)check_vat.php

1. Základná PHP konfigurácia – api_config.php

Tento súbor si vložte do projektu a includujte ho vo všetkých ďalších príkladoch.

<?php
// api_config.php

// 🔑 Sem vložte svoj API kľúč z administrácie Api-data.eu
const API_KEY = 'TU_VLOŽÍTE_SVOJ_API_KĽÚČ';

const API_BASE      = 'https://api-data.eu/api/';
const SEARCH_URL_SK = API_BASE . 'search_company.php';
const DETAIL_URL_SK = API_BASE . 'company.php';
const DETAIL_URL_CZ = API_BASE . 'cz_company.php';
const VAT_URL       = API_BASE . 'check_vat.php';

/**
 * Jednoduchý helper na GET + JSON decode.
 * Vždy automaticky pridá API kľúč ako parameter "k".
 */
function api_get(string $url, array $params = []): ?array
{
    $params['k'] = API_KEY;
    $query       = http_build_query($params);
    $fullUrl     = $url . '?' . $query;

    $context = stream_context_create([
        'http' => [
            'timeout' => 5,
        ],
    ]);

    $json = @file_get_contents($fullUrl, false, $context);
    if ($json === false) {
        return null;
    }

    $data = json_decode($json, true);
    return is_array($data) ? $data : null;
}

2. Vyhľadanie firmy podľa názvu – search_company_example.php

🔍 Endpoint search_company.php vyhľadáva slovenské firmy (RPO) podľa názvu. Vráti zoznam firiem s IČO, názvom, mestom a PSČ. Tento príklad vytvorí jednoduchý formulár, ktorý po odoslaní zobrazí nájdené firmy a link na detail podľa IČO.

Ukážka JSON odpovede pre ?q=test&k=API_KEY (vymyslené údaje):

{
		  "ok": true,
		  "results": [
			{
			  "organization_id": 100001,
			  "ico": "12345678",
			  "name": "TEST FIRMA 1.",
			  "city": "Bratislava",
			  "postal_code": "811 01"
			},
			{
			  "organization_id": 100002,
			  "ico": "23456789",
			  "name": "TEST FIRMA 2.",
			  "city": "Košice",
			  "postal_code": "040 11"
			},
			{
			  "organization_id": 100003,
			  "ico": "34567890",
			  "name": "TEST FIRMA 3.",
			  "city": "Žilina",
			  "postal_code": "010 01"
			},
			{
			  "organization_id": 100004,
			  "ico": "45678901",
			  "name": "TEST FIRMA 4.",
			  "city": "Trnava",
			  "postal_code": "917 01"
			},
			{
			  "organization_id": 100005,
			  "ico": "56789012",
			  "name": "TEST FIRMA 5.",
			  "city": null,
			  "postal_code": null
			}
		  ]
		}

3. Detail firmy podľa IČO – company_detail_example.php

Endpointy company.php (SK) a cz_company.php (CZ) vracajú objekt company s detailnými údajmi o firme podľa IČO.

🧾 Typické polia objektu company:

  • organization_id – interné ID organizácie
  • ico – IČO
  • dic – DIČ (ak je dostupné)
  • ic_dph – IČ DPH (ak je dostupné)
  • name – názov firmy
  • street – ulica (bez čísla)
  • building_number / reg_number – číslo domu
  • address1 – plná adresa v jednom riadku
  • city – mesto / obec
  • postal_code – PSČ (napr. 81101 alebo 811 01)
  • country – názov krajiny (napr. „Slovenská republika“)
  • country_iso – ISO kód krajiny (napr. SK, CZ)
  • legal_form, main_activity – doplnkové údaje (ak sú k dispozícii)

Ukážka JSON odpovede pre company.php?ico=12345678&k=API_KEY:

{
  "ok": true,
  "company": {
    "organization_id": 1234567,
    "ico": "12345678",
    "name": "Príkladná firma, s.r.o.",
    "dic": "1234567890",
    "ic_dph": "SK1234567890",
    "street": "Hlavná",
    "building_number": "123",
    "reg_number": 123,
    "address1": "Hlavná 123",
    "city": "Bratislava",
    "postal_code": "811 01",
    "country": "Slovenská republika",
    "country_iso": "SK",
    "legal_form": null,
    "main_activity": null
  }
}

Nižšie je kompletný príklad, ktorý načíta detail firmy podľa IČO a zobrazí ho v jednoduchej HTML stránke:

<?php
// company_detail_example.php

require __DIR__ . '/api_config.php';

$ico     = isset($_GET['ico']) ? preg_replace('/\D+/', '', (string)$_GET['ico']) : '';
$country = strtoupper($_GET['country'] ?? 'SK');

$detailUrl = ($country === 'CZ') ? DETAIL_URL_CZ : DETAIL_URL_SK;

$company = null;
$error   = null;

if ($ico !== '') {
    $response = api_get($detailUrl, [
        'ico' => $ico,
    ]);

    if (!$response || empty($response['ok']) || empty($response['company'])) {
        $error = 'Nepodarilo sa načítať detail firmy.';
    } else {
        $company = $response['company'];
    }
} else {
    $error = 'Chýba IČO v URL parametri (&ico=).';
}
?>
<!DOCTYPE html>
<html lang="sk">
<head>
  <meta charset="UTF-8">
  <title>Detail firmy – Autoform SK/CZ API</title>
</head>
<body>
  <h1>Detail firmy (<?php echo htmlspecialchars($country); ?>)</h1>

  <?php if ($error): ?>
    <p style="color:red;"><?php echo htmlspecialchars($error); ?></p>
  <?php else: ?>
    <p><strong>Názov:</strong> <?php echo htmlspecialchars($company['name'] ?? ''); ?></p>
    <p><strong>IČO:</strong> <?php echo htmlspecialchars($company['ico'] ?? ''); ?></p>
    <p><strong>DIČ:</strong> <?php echo htmlspecialchars($company['dic'] ?? ''); ?></p>
    <p><strong>IČ DPH:</strong> <?php echo htmlspecialchars($company['ic_dph'] ?? ''); ?></p>
    <p><strong>Adresa:</strong> <?php echo htmlspecialchars($company['address1'] ?? ''); ?></p>
    <p><strong>Mesto:</strong> <?php echo htmlspecialchars($company['city'] ?? ''); ?></p>
    <p><strong>PSČ:</strong> <?php echo htmlspecialchars($company['postal_code'] ?? ''); ?></p>
    <p><strong>Krajina:</strong> <?php echo htmlspecialchars($company['country_iso'] ?? ''); ?></p>

    <hr>

    <h2>Typické použitie v e-shope</h2>
    <p>
      V praxi tieto údaje nepoužijete len na zobrazenie, ale predvyplníte nimi váš
      fakturačný formulár (napr. billing údaje v košíku) alebo ich uložíte k objednávke.
    </p>
  <?php endif; ?>
</body>
</html>

4. Jednoduchý PHP formulár na kontrolu IČ DPH – vat_check_example.php

✅ Endpoint check_vat.php overuje platnosť IČ DPH cez systém VIES. Vhodné na kontrolu pri ukladaní objednávky alebo fakturácie.

<?php
// vat_check_example.php

require __DIR__ . '/api_config.php';

$country = strtoupper($_GET['country'] ?? 'SK');
$vatRaw  = isset($_GET['vat']) ? trim((string)$_GET['vat']) : '';

$resultText = null;
$error      = null;

if ($vatRaw !== '') {
    $response = api_get(VAT_URL, [
        'country' => $country,
        'vat'     => $vatRaw,
    ]);

    if (!$response || empty($response['ok'])) {
        $error = 'Nepodarilo sa overiť IČ DPH.';
    } else {
        if (!empty($response['valid'])) {
            $formatted = ($response['countryCode'] ?? '') . ($response['vatNumber'] ?? '');
            $resultText = 'IČ DPH je platné: ' . $formatted;
        } else {
            $resultText = 'IČ DPH nie je platné podľa VIES.';
        }
    }
}
?>
<!DOCTYPE html>
<html lang="sk">
<head>
  <meta charset="UTF-8">
  <title>Overenie IČ DPH – Autoform SK/CZ API</title>
</head>
<body>
  <h1>Overenie IČ DPH (VIES)</h1>

  <form method="get">
    <label>
      Krajina:
      <select name="country">
        <option value="SK" <?php echo $country === 'SK' ? 'selected' : ''; ?>>SK</option>
        <option value="CZ" <?php echo $country === 'CZ' ? 'selected' : ''; ?>>CZ</option>
        <!-- prípadne ďalšie krajiny -->
      </select>
    </label>
    <br><br>
    <label>
      IČ DPH:
      <input type="text" name="vat" value="<?php echo htmlspecialchars($vatRaw); ?>" placeholder="SK2020...">
    </label>
    <br><br>
    <button type="submit">Overiť</button>
  </form>

  <hr>

  <?php if ($error): ?>
    <p style="color:red;"><?php echo htmlspecialchars($error); ?></p>
  <?php elseif ($resultText): ?>
    <p><?php echo htmlspecialchars($resultText); ?></p>
  <?php else: ?>
    <p>Zadajte IČ DPH a odošlite formulár.</p>
  <?php endif; ?>
</body>
</html>

5. Typický flow vo vlastnom riešení

🔗 Takto si môžete jednoducho poskladať celý proces:

  1. 📝 Používateľ vyplní názov firmy vo vašom formulári (napr. krok košíka). Na pozadí zavoláte search_company.php a zobrazíte zoznam nájdených firiem.
  2. 🏢 Používateľ klikne na jednu firmu – odošlete jej IČO do scriptu company_detail_example.php (alebo vlastnej varianty) a načítate detail.
  3. 📥 Z detailu vyplníte fakturačné polia vo vašom košíku (názov firmy, IČO, DIČ, IČ DPH, adresa, mesto, PSČ).
  4. ✅ Pri uložení objednávky môžete voliteľne overiť IČ DPH cez check_vat.php a upozorniť používateľa, ak nie je platné.

Ak používate vlastný framework (Laravel, Nette, Symfony, vlastné MVC), stačí si z týchto súborov zobrať funkciu api_get() a logiku práce s JSON a napojiť ju na vaše kontroléry a šablóny.

Api-data.eu Nastavenie cookies