Import produktů do PrestaShopu přes XML feed: nejčastější problémy a jak je řešit

Import produktů do PrestaShopu přes XML feed: nejčastější problémy a jak je řešit

Pokud prodáváte produkty od více dodavatelů, dřív nebo později narazíte na potřebu automatizovat import jejich XML feedů do PrestaShopu — ručně aktualizovat stovky nebo tisíce produktů prostě není udržitelné. Automatizovaný import ale skrývá řadu úskalí, která se neprojeví hned při prvním spuštění, ale až při dlouhodobém provozu. Tady je přehled nejčastějších problémů a jak jim předejít.


Proč je XML import těžší, než vypadá

Na první pohled je import produktů z XML feedu jednoduchý úkol: přečíst soubor, projít produkty, uložit je do databáze. V praxi ale narazíte na řadu detailů, které rozhodují o tom, jestli import funguje spolehlivě, nebo jestli po pár měsících začne dělat duplicity, chybné ceny nebo padat kvůli velkému objemu dat.

Problém č. 1: Párování produktů mezi feedem a e-shopem

Každý dodavatel má svůj vlastní systém označování produktů (SKU, kód dodavatele), který se často neshoduje s tím, co používá váš e-shop. Nejspolehlivější způsob párování je přes EAN kód — je to standardizovaný, globálně jedinečný identifikátor produktu, který by měl zůstat stejný napříč všemi systémy.

I tady ale existují úskalí: ne všichni dodavatelé mají EAN kódy vyplněné konzistentně, občas se objeví překlepy nebo zastaralé kódy. Řešením je mít připravenou logiku, co dělat, když se EAN nenajde — ne produkt tiše přeskočit nebo vytvořit duplicitu, ale zalogovat ho k ruční kontrole.

Problém č. 2: Více feedů od různých dodavatelů

Pokud odebíráte produkty od více dodavatelů, každý feed může mít jinou strukturu XML, jiné názvy polí, jiný formát cen (s DPH/bez DPH) nebo jednotek. Univerzální řešení "jeden parser pro všechny feedy" obvykle nefunguje dobře — praktičtější je mít pro každého dodavatele samostatný, na míru napsaný parser, který převádí data do jednotného vnitřního formátu, se kterým už pak pracuje zbytek importního systému stejně.

Problém č. 3: Produkty, které mizí z feedu

Když dodavatel přestane nabízet produkt, potřebujete vědět, co se s ním má stát v e-shopu — skrýt ho, označit jako nedostupný, nebo úplně smazat? Klíčové je mít jednotnou funkci, která spolehlivě určuje, které produkty už ve feedu nejsou, a rozhodně to neřešit ad-hoc při každém importu zvlášť — nekonzistentní logika vede k tomu, že se v e-shopu časem hromadí duplicity a "duchové" produktů.

Problém č. 4: Historie cen a její růst v databázi

Pokud si ukládáte historii změn cen (užitečné pro sledování vývoje a případné reklamace cenových chyb), tabulka historie postupně roste — u feedů s tisíci produkty a denní frekvencí importu to může narůst na statisíce záznamů ročně. Řešením je deduplikace — ukládat nový záznam jen tehdy, když se cena skutečně změnila oproti poslední uložené hodnotě, ne při každém běhu importu bez ohledu na to, jestli se něco změnilo.

Problém č. 5: Produkty bez přiřazeného dodavatele

V průběhu času se v e-shopu nahromadí produkty, u kterých se ztratí vazba na dodavatele — třeba po ruční úpravě, nebo po změně struktury feedu. Užitečné je mít v administraci samostatný přehled právě těchto produktů, aby šly dohledat a opravit hromadně, místo hledání jehly v kupce sena mezi tisíci položkami.

Shrnutí: na čem stojí spolehlivý import

  • Párování přes EAN s jasnou logikou pro chybějící/nejednoznačné kódy
  • Samostatný parser pro každý zdroj dat namísto jednoho univerzálního řešení
  • Jednotná funkce pro rozhodování o produktech, které z feedu zmizely
  • Deduplikace při ukládání historie cen
  • Přehled produktů bez přiřazeného dodavatele pro snadnou hromadnou opravu

Řešíte import produktů od více dodavatelů a chcete ho mít pod kontrolou dlouhodobě, ne jen "aby to teď fungovalo"? Napište mi, podíváme se na strukturu vašich feedů a navrhnu řešení na míru.

Sdílet