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ázvu –
search_company.php - Detail firmy SK podľa IČO –
company.php - Detail firmy CZ podľa IČO –
cz_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
}
]
}
<?php
// search_company_example.php
require __DIR__ . '/api_config.php';
$companyQuery = isset($_GET['company']) ? trim((string)$_GET['company']) : '';
$results = [];
$error = null;
if ($companyQuery !== '') {
$response = api_get(SEARCH_URL_SK, [
'q' => $companyQuery,
]);
if (!$response || empty($response['ok'])) {
$error = 'Nepodarilo sa načítať údaje z API.';
} else {
$results = $response['results'] ?? [];
}
}
?>
<!DOCTYPE html>
<html lang="sk">
<head>
<meta charset="UTF-8">
<title>Vyhľadanie firmy – Autoform SK/CZ API</title>
</head>
<body>
<h1>Vyhľadanie firmy podľa názvu (SK)</h1>
<form method="get">
<label>
Názov firmy:
<input type="text" name="company" value="<?php echo htmlspecialchars($companyQuery); ?>">
</label>
<button type="submit">Hľadať</button>
</form>
<hr>
<?php if ($companyQuery === ''): ?>
<p>Zadajte časť názvu firmy a odošlite formulár.</p>
<?php elseif ($error): ?>
<p style="color:red;"><?php echo htmlspecialchars($error); ?></p>
<?php elseif (empty($results)): ?>
<p>Pre výraz <strong><?php echo htmlspecialchars($companyQuery); ?></strong> sa nenašli žiadne firmy.</p>
<?php else: ?>
<p>Nájdených firiem: <?php echo count($results); ?></p>
<ul>
<?php foreach ($results as $item): ?>
<li>
<strong><?php echo htmlspecialchars($item['name']); ?></strong>
(IČO: <?php echo htmlspecialchars($item['ico']); ?>)
<?php if (!empty($item['city'])): ?>
– <?php echo htmlspecialchars($item['city']); ?>
<?php endif; ?>
–
<a href="company_detail_example.php?country=SK&ico=<?php echo urlencode($item['ico']); ?>">
zobraziť detail
</a>
</li>
<?php endforeach; ?>
</ul>
<?php endif; ?>
</body>
</html>
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ácieico– IČOdic– DIČ (ak je dostupné)ic_dph– IČ DPH (ak je dostupné)name– názov firmystreet– ulica (bez čísla)building_number/reg_number– číslo domuaddress1– plná adresa v jednom riadkucity– mesto / obecpostal_code– PSČ (napr.81101alebo811 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:
-
📝 Používateľ vyplní názov firmy vo vašom formulári (napr. krok košíka).
Na pozadí zavoláte
search_company.phpa zobrazíte zoznam nájdených firiem. -
🏢 Používateľ klikne na jednu firmu – odošlete jej IČO do scriptu
company_detail_example.php(alebo vlastnej varianty) a načítate detail. - 📥 Z detailu vyplníte fakturačné polia vo vašom košíku (názov firmy, IČO, DIČ, IČ DPH, adresa, mesto, PSČ).
-
✅ Pri uložení objednávky môžete voliteľne overiť IČ DPH cez
check_vat.phpa 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.