Implementácia

GARAN API – napojenie e-shopu alebo služby

Cez GARAN API vytvoríte označenie jedným volaním z vlastného e-shopu, ERP, PIM alebo inej služby – bez ručného generovania. API je súčasťou balíkov Business a Scale, na jeden účet môžete mať až 10 API kľúčov (pre každý e-shop alebo službu vlastný). Plugin GARAN pre WooCommerce používa to isté API a funguje vo všetkých balíkoch.

Ako začať

  1. 1
    Balík Business alebo Scale

    Vlastné API napojenie je v balíkoch Business (1 000 označení mesačne) a Scale (5 000). Označenia z API sa počítajú do toho istého limitu ako v generátore.

  2. 2
    Vygenerujte API kľúč

    V účte otvorte Prepojenie e-shopu, pomenujte kľúč (napr. podľa domény) a uložte si ho – zobrazí sa len raz. Na účet je možných až 10 kľúčov, každý sa dá samostatne zrušiť.

  3. 3
    Posielajte kľúč v hlavičke

    Každé volanie obsahuje hlavičku Authorization: Bearer garan_…. Kľúč používajte len na serveri, nikdy v prehliadači ani v mobilnej aplikácii.

  4. 4
    Vytvorte prvé označenie

    Jedno volanie POST /api/labels so značkou, modelom a rokmi vráti hotové SVG farebného aj vnoreného označenia.

Základné údaje

HodnotaPoznámka
Základná adresahttps://garangenerator.sk/wp-json/garan/v1/api/len HTTPS
AutentifikáciaAuthorization: Bearer garan_…kľúč z účtu; pri zlom kľúči odpoveď 401
FormátJSON (UTF-8)telo požiadavky Content-Type: application/json
Limit volaní120 volaní za minútu na účetpri prekročení odpoveď 429, skúste o minútu
Počet kľúčovnajviac 10 na účetpre každý e-shop alebo službu vlastný
Dostupnosťbalíky Business a Scalev nižších balíkoch odpoveď 403 s odkazom na cenník; /api/me funguje vždy

GET /api/me – stav účtu

Vráti balík, využitie a to, či má účet vlastné API napojenie. Vhodné na overenie kľúča a zobrazenie zostávajúceho limitu vo vašom systéme.

curl -H "Authorization: Bearer garan_VÁŠ_KĽÚČ" \
  "https://garangenerator.sk/wp-json/garan/v1/api/me?shop=mojeshop.sk"
{
  "account": { "email": "firma@example.sk", "name": "Firma" },
  "plan": { "slug": "business", "name": "Business", "limit": 1000,
            "formats": ["png","jpg","svg","pdf","webp"],
            "period_end": "2026-10-27 09:00:00", "api": true },
  "usage": { "used": 124, "limit": 1000, "remaining": 876 }
}

Parameter shop je nepovinný – doména sa zobrazí v účte pri kľúči, aby ste vedeli, ktorý systém ho používa.

POST /api/labels – vytvorenie označenia

TypPopis
brandtext, povinnéznačka alebo ochranná známka výrobcu
modeltext, povinnéidentifikátor modelu – do označenia sa zmestí približne 14 znakov
yearstext, povinnécelé roky 3–99 alebo polročné 2,5–9,5 (desatinná čiarka aj bodka)
variantspole, nepovinnécolour, nested, bw; predvolene farebné a vnorené
embed_fontstrue/false, nepovinnépri true je písmo Inter vložené do SVG (samostatný súbor); predvolene nie – menšia odpoveď pre vloženie do HTML
curl -X POST "https://garangenerator.sk/wp-json/garan/v1/api/labels" \
  -H "Authorization: Bearer garan_VÁŠ_KĽÚČ" \
  -H "Content-Type: application/json" \
  -d '{"brand":"Kärcher","model":"WD 3 P","years":"5","embed_fonts":true}'
{
  "id": 1284,
  "brand": "Kärcher", "model": "WD 3 P", "years": "5",
  "years_label": "5 rokov",
  "duplicate": false,
  "svg": { "colour": "<svg …>", "nested": "<svg …>" },
  "link_url": "https://europa.eu/youreurope/commercial-guarantee-durability/index.htm",
  "usage": { "used": 125, "limit": 1000, "remaining": 875 }
}

GET /api/notice – oznámenie o zákonnej záruke

Vráti adresy oficiálnych slovenských súborov harmonizovaného oznámenia (PDF, PNG, SVG), adresu obrázka a cieľ odkazu. Oznámenie sa neupravuje – stačí ho zobraziť a prelinkovať.

curl -H "Authorization: Bearer garan_VÁŠ_KĽÚČ" "https://garangenerator.sk/wp-json/garan/v1/api/notice"

Príklady

PHP

$response = wp_remote_post( 'https://garangenerator.sk/wp-json/garan/v1/api/labels', array(
    'headers' => array(
        'Authorization' => 'Bearer ' . GARAN_API_KEY,
        'Content-Type'  => 'application/json',
    ),
    'body'    => wp_json_encode( array(
        'brand' => 'Kärcher',
        'model' => 'WD 3 P',
        'years' => '5',
    ) ),
    'timeout' => 20,
) );

$data = json_decode( wp_remote_retrieve_body( $response ), true );
$svg  = $data['svg']['colour'] ?? '';

JavaScript (Node.js, na serveri)

const res = await fetch('https://garangenerator.sk/wp-json/garan/v1/api/labels', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.GARAN_API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({ brand: 'Kärcher', model: 'WD 3 P', years: '5', embed_fonts: true }),
});

const { svg, link_url } = await res.json();

Zobrazenie v e-shope

SVG vložte do stránky produktu a pri označení zobrazte klikateľný odkaz z poľa link_url. Ak používate SVG bez vloženého písma, načítajte na stránke písmo Inter (rezy Regular a ExtraBold). Pravidlá online zobrazenia sú v návode Ako zobrazovať GARAN označenie v e-shope.

Chybové odpovede

KódČo urobiť
400garan_invalidneplatné údaje (pridlhý model, nepovolené roky) – pole errors obsahuje dôvody v slovenčine
401garan_api_authneplatný alebo zrušený kľúč – vygenerujte nový v účte
403garan_api_planvlastné API nie je v balíku – prejdite na Business alebo Scale
403garan_limitmesačný limit označení je vyčerpaný – vyšší balík alebo počkajte na obnovu
429garan_api_rateviac ako 120 volaní za minútu – spomaľte a skúste znova
500garan_dbdočasná chyba – zopakujte volanie

Každá chyba má tvar {"code": "…", "message": "…", "data": {"status": 403}}. Text v message je po slovensky a dá sa zobraziť správcovi e-shopu.

Bezpečnosť a odporúčania

  • kľúč ukladajte len na serveri (premenná prostredia, šifrované nastavenia), nie v kóde stránky,
  • pre každý e-shop alebo službu použite vlastný kľúč – pri úniku zrušíte len ten jeden,
  • výsledné SVG si uložte a API volajte len pri zmene značky, modelu alebo rokov,
  • na verejných stránkach e-shopu API nevolajte – zobrazujte uložené označenie,
  • pri chybe 429 alebo 5xx volanie zopakujte s odstupom.

Časté otázky

Môžem API používať v balíku Starter alebo zadarmo?

Vlastné API napojenie je súčasťou balíkov Business a Scale. V nižších balíkoch môžete použiť plugin GARAN pre WooCommerce (funguje vo všetkých balíkoch) alebo generátor a hromadný import z CSV.

Koľko e-shopov môžem napojiť?

Na jeden účet až 10 API kľúčov – teda 10 e-shopov alebo služieb. Všetky čerpajú označenia zo spoločného mesačného limitu balíka.

Vracia API aj PNG alebo PDF?

API vracia SVG (vektor, vždy ostrý), ktoré je pre web najvhodnejšie. PNG, JPG, WebP a tlačové PDF každého označenia stiahnete v účte v sekcii GARAN označenia – označenia vytvorené cez API sa tam objavia automaticky.

Čo ak sa mi balík zníži alebo skončí?

Už vytvorené označenia zostávajú vaše a uložené SVG vo vašom systéme fungujú ďalej. Nové volania POST /api/labels vrátia chybu 403, kým balík neobnovíte.

Pripravení napojiť svoj systém?

Vygenerujte si API kľúč v účte alebo si vyberte balík s API napojením.

Nezávislá služba. Nie sme oficiálna stránka Európskej komisie ani orgán verejnej správy. Označenia vychádzajú z oficiálnych podkladov EK.