Séria · Omnibus a cenová evidencia · 11/12

XML feed e-shopu: aké údaje potrebujete na automatickú evidenciu cien

Produktový XML feed je jeden z najjednoduchších spôsobov, ako dostať ceny z e-shopu do externého systému bez priameho prístupu do databázy. Pre kvalitnú históriu však nestačí, že súbor „obsahuje produkty“.

Aktualizované: 21. 9. 2026 · Čítanie: ~8 minút

Treba vedieť ktorý produkt je ktorý, aká je jeho skutočná predajná cena, v akej mene, na akej URL a prípadne či je dostupný.

Minimálny feed

Na úplnom minime stačí:

<SHOPITEM>
    <ITEM_ID>ABC123</ITEM_ID>
    <PRICE_VAT>99.00</PRICE_VAT>
</SHOPITEM>

Tento feed umožňuje identifikovať produkt, zaznamenať cenu a porovnať ju s predchádzajúcou hodnotou. V praxi je však vhodné mať viac polí.

1. Jednoznačný identifikátor

Najdôležitejšie pole. Môže to byť ITEM_ID, SKU, interný kód alebo iný stabilný product key. Nemal by sa meniť pri zmene názvu, URL, popisu alebo kategórie. Ak sa identifikátor mení, história sa môže rozbiť na viac produktov.

2. Cena s DPH

Pre B2C cenovú evidenciu je kľúčová cena, ktorú platí spotrebiteľ. Vo feede môže byť napríklad PRICE_VAT, PRICE, SALE_PRICE alebo vlastné pole. Názov poľa však nestačí — treba si overiť jeho význam: Je v cene DPH? Je to konečná cena? Je už po zľave? Je to cena základného variantu? Obsahuje feed starú aj novú cenu?

3. Cena bez DPH

Nie je nevyhnutná na základnú spotrebiteľskú evidenciu, ale je užitočná pre kontrolu. Ak máte cenu s DPH, cenu bez DPH aj sadzbu DPH, systém môže odhaliť nezrovnalosti.

4. Mena

Ak systém spracúva viac webov alebo trhov, mena musí byť jednoznačná, napríklad <CURRENCY>EUR</CURRENCY>. Zmena meny pri rovnakom produkte by mala byť považovaná za významnú udalosť, nie za obyčajnú zmenu ceny.

5. URL produktu

Príklad: <URL>https://www.example.sk/produkt-a/</URL>. URL pomáha administrátorovi, podpore, pri widgete, v reportoch a pri manuálnej kontrole. Nemala by však byť hlavným identifikátorom, pretože sa môže meniť.

6. Názov produktu

Názov je vhodný pre UI a exporty, napríklad <PRODUCTNAME>Produkt A</PRODUCTNAME>. Aj tu platí: názov je popis, nie kľúč.

7. Dostupnosť

Feed môže používať napríklad AVAILABILITY, DELIVERY_DATE, STOCK_AMOUNT alebo textový stav. Dôležité je, aby systém vedel rozlíšiť aspoň základné situácie: skladom, na objednávku, vypredané, vyradené, neznáme. Skladové množstvo a dostupnosť nie sú vždy to isté — STOCK_AMOUNT = 0 môže znamenať aj produkt, ktorý sa dá objednať od dodávateľa.

8. EAN

EAN nie je povinný pre samotnú cenovú históriu, ale výrazne pomáha pri deduplikácii, kontrole produktov, integráciách a párovaní variantov.

9. Výrobca a kategória

Tieto údaje nie sú potrebné pre výpočet ceny, ale sú užitočné pre analytiku a administráciu, napríklad:

<MANUFACTURER>Brand</MANUFACTURER>
<CATEGORYTEXT>Elektronika | Príslušenstvo</CATEGORYTEXT>

Varianty

Varianty sú kritické, ak majú rozdielne ceny. Príklad: topánka veľkosť 42 – 90 €, veľkosť 43 – 90 €, veľkosť 46 – 110 €. Ak feed všetky varianty zlúči pod jeden identifikátor, systém nevie vytvoriť samostatnú históriu pre každú cenu. Preto treba vopred rozhodnúť, čo je cenová jednotka — produkt alebo variant?

Ukážka kvalitnejšieho feedu

<SHOPITEM>
    <ITEM_ID>ABC123-XL</ITEM_ID>
    <PRODUCTNAME>Tričko Alpine XL</PRODUCTNAME>
    <URL>https://www.example.sk/tricko-alpine/</URL>
    <IMGURL>https://www.example.sk/img/alpine.jpg</IMGURL>
    <PRICE_VAT>29.90</PRICE_VAT>
    <PRICE>24.31</PRICE>
    <VAT>23</VAT>
    <CURRENCY>EUR</CURRENCY>
    <AVAILABILITY>in_stock</AVAILABILITY>
    <STOCK_AMOUNT>8</STOCK_AMOUNT>
    <EAN>8580000000000</EAN>
    <PRODUCTNO>ABC123-XL</PRODUCTNO>
    <MANUFACTURER>Alpine</MANUFACTURER>
</SHOPITEM>

Ako často feed sťahovať

Záleží od frekvencie cenových zmien. Pri cenách raz denne môže postačovať denný import. Pri cenách meniacich sa niekoľkokrát denne je vhodný častejší interval. Pri dynamickom pricingu treba zosúladiť frekvenciu zberu s frekvenciou zmien a s tým, ako rýchlo samotná platforma feed aktualizuje.

Feed nie je databáza

Feed je snapshot aktuálneho stavu. Ak dnes obsahuje 99 €, zajtra 89 € a pozajtra 95 €, samotný feed tretí deň už spravidla nevie, že prvý deň bola cena 99 €. Históriu preto musí vytvoriť systém, ktorý feed pravidelne číta a zmeny ukladá.

Ako OmnibusPrice.eu pracuje s feedom

Systém načíta XML, získa ProductKey, normalizuje cenu, porovná ju s posledným stavom, a ak sa niečo zmenilo, uloží nový interval a zaznamená import. Feed je teda zdroj pravdy pre aktuálny import, ale dlhodobú históriu vytvára až archív.

Validácia feedu

Pred produkčným nasadením skontrolujte HTTP status, SSL/TLS, veľkosť súboru, validitu XML, počet položiek, duplicity ID, nulové ceny, chýbajúcu menu, neplatné URL, zvláštne DPH a neočakávanú zmenu počtu produktov.

Bezpečnosť feedu

Ak feed obsahuje iba verejné produktové dáta, riziko je menšie. Ak obsahuje interné údaje, zvážte token v URL, IP whitelist, Basic Auth alebo samostatný export iba potrebných polí. Do externého systému neposielajte citlivé údaje, ktoré na cenovú evidenciu nepotrebuje.

Shoptet

Shoptet poskytuje XML feedy v administrácii pod Prepojenie → XML feedy. Podľa oficiálnej dokumentácie môžu zmeny trvať určitý čas, kým sa do feedu prepíšu. Zdroj: podpora.shoptet.sk/xml-feedy

FAQ

Nie pre samotný výpočet, ale pre administráciu je veľmi užitočný.

Nie, ak máte iný stabilný unikátny identifikátor.

Neodporúča sa. URL sa môže zmeniť.

Systém ju môže teoreticky dopočítať, ak má spoľahlivú cenu bez DPH a sadzbu DPH. Pri integrácii však treba presne definovať pravidlá.

Nemal by sa okamžite zmazať. Je vhodné zaznamenať LastSeen a stav vyhodnotiť.

Záver

Pre kvalitnú automatickú evidenciu nepotrebujete obrovský feed. Potrebujete predovšetkým dve správne veci: stabilnú identitu produktu a správnu predajnú cenu. Všetky ďalšie polia zvyšujú kvalitu auditu, správy a automatizácie.

Zdroje

Poznámka: Článok má informačný a technický charakter a nepredstavuje individuálne právne poradenstvo. Pri neštandardnom obchodnom modeli alebo spornom spôsobe komunikácie zľavy je vhodné konkrétny prípad konzultovať s právnikom alebo príslušným orgánom dohľadu.