Převeďshop.cz
Dodavatelé a feedy

XML feedy: jak fungují a jak je spolehlivě zpracovat

22. 9. 2026 5 min čteníTým Převeďshop.cz

XML feed je nejrozšířenější způsob, jak si e-shop vyměňuje produktová data s dodavateli a srovnávači. Vysvětlíme, jak funguje, čím se liší hlavní formáty a jak ho zpracovat tak, aby jedna chyba v souboru nerozbila katalog.

Když se e-shop domlouvá s dodavatelem, srovnávačem nebo reklamním systémem, skoro vždy to jde přes XML feed. Dodavatel v něm posílá katalog a sklad. E-shop jím posílá nabídku Heurece, Zboží.cz a Googlu. Formát je starý, jednoduchý a pořád nejrozšířenější.

Jednoduchost je ale ošidná. Feed se dá stáhnout za minutu, zpracovat správně je víc práce. V článku vysvětlujeme, jak feed funguje, čím se liší hlavní formáty a jak postavit zpracování, které přežije i špatný den u dodavatele.

Jak XML feed funguje

Feed je obyčejný textový soubor. Obsahuje seznam položek a u každé stejnou sadu značek: kód, název, cenu, sklad, obrázky, parametry. Zdroj ho vygeneruje ze svého systému a vystaví na URL adrese nebo nahraje na FTP. Příjemce si ho v nastavených intervalech stáhne.

Důležité jsou tři vlastnosti:

  • Je to snímek. Feed říká, jak data vypadala v okamžiku generování. Co se změní potom, se dozvíte až z dalšího souboru.
  • Je kompletní. Obvykle obsahuje celý katalog, i když se změnily tři ceny. U velkých katalogů to znamená desítky až stovky megabajtů.
  • Je pull. Příjemce si pro data chodí sám. Zdroj neví, jestli jste si feed stáhli ani jestli jste ho zpracovali.

Z toho plynou limity. Sklad ve feedu je vždy trochu starý, a pokud chcete čerstvější data nebo posílat objednávky zpět, potřebujete API. Srovnání najdete v článku API napojení dodavatelů.

Hlavní formáty, se kterými se potkáte

XML je jen syntaxe. Co v souboru je a jak se značky jmenují, určuje konkrétní specifikace. V Česku se nejčastěji setkáte s těmito (k 9/2026):

FormátKořen a položkaVariantyTypické použití
Shoptet XMLSHOP a SHOPITEMVnořené VARIANTS a VARIANT v produktuImport a export v Shoptetu, validace podle schématu RELAX NG
HeurekaSHOP a SHOPITEMKaždá varianta vlastní SHOPITEM, spojené přes ITEMGROUP_IDSrovnávač, často i jako formát feedu dodavatele
Zboží.czSHOP a SHOPITEMKaždá varianta vlastní SHOPITEM, spojené přes ITEMGROUP_IDSrovnávač Zboží.cz
Google Merchant CenterRSS 2.0 nebo Atom, item s prefixem g:Samostatné položky se společným item_group_idGoogle Nákupy, jeden soubor až 4 GB
Vlastní formát dodavateleLibovolnýLibovolně, často nekonzistentněVelkoobchody, výrobci, ERP exporty

Heureka vyžaduje kódování UTF-8 a má povinné prvky jako PRODUCTNAME, URL, PRICE_VAT, DELIVERY_DATE nebo CATEGORYTEXT. Detailně je rozebíráme v článku Feed pro Heureku a Zboží.cz. Shoptet při importu přijímá XML validní podle svého schématu nebo podle specifikace Heureky, což se hodí, když dodavatel posílá feed v heurekovském formátu.

U Googlu pozor na jednu změnu z letošního léta. Content API for Shopping skončilo 18. 8. 2026 a integrace přes API musí přejít na Merchant API. Feedy nahrávané souborem nebo stahované z URL se to netýká.

Zpracování feedu krok za krokem

Naivní import vypadá takto: stáhni soubor, projdi položky, přepiš data v e-shopu. Funguje, dokud se něco nepokazí. Spolehlivé zpracování má víc kroků, v praxi jde o klasický ETL proces:

  1. Stažení. Stáhněte soubor do vlastního úložiště, ne rovnou do importu. Hlídejte HTTP stav, velikost a dobu stahování. Plánování obstará cron nebo plánovač integrační platformy.
  2. Kontrola celistvosti. Je soubor validní XML? Končí uzavíracím kořenovým prvkem? Není výrazně menší než minule? Useknutý soubor je nejčastější příčina „zmizelých" produktů.
  3. Parsování. Velké feedy nečtěte celé do paměti. Použijte proudové (streamové) čtení, které zpracovává položku po položce.
  4. Normalizace. Převeďte data do vašeho interního modelu: jednotné názvy polí, ceny jako čísla, dostupnost do vašich stavů, kategorie a parametry přes mapovací tabulky.
  5. Validace položek. Chybí kód, cena je nula, EAN má špatnou délku? Takovou položku odložte a zalogujte, zbytek feedu zpracujte.
  6. Porovnání s minulým stavem. Zjistěte, co je nové, co se změnilo a co zmizelo. Do e-shopu posílejte jen změny.
  7. Zápis. Přes import platformy nebo API, v dávkách a s ohledem na limity.
  8. Report. Kolik položek přišlo, kolik se změnilo, kolik bylo odmítnuto a proč.

Kroky 2 a 6 jsou ty, které nejčastěji chybí. A právě ony rozhodují, jestli chyba dodavatele skončí jako řádek v logu, nebo jako vyprázdněný e-shop.

Na co si dát pozor

Z feedů, které zpracováváme, se opakují stejné pasti:

  • Kódování a speciální znaky. Feed v jiném kódování než UTF-8, neescapovaný znak & v názvu nebo HTML v popisu bez CDATA. Parser pak skončí chybou někde uprostřed souboru a zbytek katalogu se nenačte.
  • Desetinná čárka. Cena „1 299,90" jako text místo čísla. Bez normalizace z ní import udělá 1 nebo 1299.
  • Nestabilní identifikátory. Dodavatel změní kódy produktů a vy máte najednou celý katalog nový. Párujte podle stabilního klíče, ideálně kódu dodavatele, a EAN používejte jako kontrolu.
  • Zmizelé produkty. Položka ve feedu chybí. Je vyprodaná, vyřazená, nebo jen feed nebyl kompletní? Rozhodnutí patří do pravidel, ne do náhody.
  • Varianty. Každý dodavatel je zapisuje jinak. Rozebíráme je samostatně v článku Varianty produktů ve feedech.

Když dodavatel posílá feed na FTP místo URL, přidává se ještě otázka přístupů a neúplně nahraného souboru. Tu řešíme v článku FTP/SFTP feedy.

Vestavěný import, nebo vlastní zpracování

Platformy mají vlastní importy a pro jednoduché případy stačí. Shoptet například podle své nápovědy dělá úplný import jednou denně mezi 0. a 7. hodinou a aktualizační importy lze plánovat přes den. Jejich počet závisí na tarifu, v nejvyšším až 16 denně. Od 10. 2. 2025 se automatický import spustí jen tehdy, když se feed od minula změnil.

Vestavěný import ale obvykle předpokládá, že feed už je ve formátu platformy. Když dodavatel posílá vlastní strukturu, potřebujete mezikrok, který feed převede. A jakmile máte víc dodavatelů, přirážky podle marže nebo mapování kategorií, vyplatí se zpracování vytáhnout mimo e-shop do samostatné vrstvy. Tam můžete držet pravidla, historii a kontroly pro všechny zdroje najednou.

Jak na to prakticky

Checklist pro nový feed dodavatele:

  1. Vyžádejte si URL, přístupy, specifikaci a informaci, jak často se feed generuje.
  2. Ověřte kódování, velikost, počet položek a validitu XML.
  3. Zjistěte, co je stabilní identifikátor produktu a jak se zapisují varianty.
  4. Připravte mapování kategorií, parametrů a dostupnosti.
  5. Nastavte pravidla pro chybějící produkty a pro výrazný pokles počtu položek.
  6. Zapisujte do e-shopu jen změny a uchovávejte předchozí verze feedu.
  7. Nastavte upozornění, když feed nepřijde nebo neprojde kontrolou.

Napojení dodavatelů přes XML feedy je naše denní práce v rámci služby napojení dodavatelů a feedů. Jednorázová implementace začíná od 3 000 Kč za dodavatele, správa běží měsíčním paušálem. Když potřebujete převést feed do formátu platformy nebo postavit vlastní import, podívejte se na importy a exporty. Pošlete nám URL feedu a řekneme vám, co v něm je a co s ním půjde.

Zpět na blog

Často kladené dotazy

XML feed je soubor ve formátu XML, který obsahuje seznam produktů a jejich údaje, typicky název, cenu, sklad, obrázky a parametry. Zdroj ho publikuje na URL nebo FTP a příjemce, třeba e-shop nebo srovnávač, si ho pravidelně stahuje.

Mohlo by vás zajímat

Máte e-shop a nevíte, kde s růstem začít?

Nezávazná konzultace vám ukáže konkrétní příležitosti — technické, marketingové i obchodní.