XML ismertető
Jelen ismertető az alábbiakat tartalmazza:
Termékek átadása a Pepita.hu rendszerébe
Az átadott terméklistának az alábbi szabályoknak kell megfelelnie:
- Az XML terméklista kódolása kizárólag
UTF-8lehet - Az árakat minden esetben kötelező megadni, 0-s árat rendszerünk nem fogad el
- A speciális karakterek XML szabványnak megfelelő kódolása kötelező. ("&, <, >" karakterek helyett &, >, < használata)
- URL-ek esetében kérjük ügyeljen arra, hogy az url csak szabványos karaktereket tartalmazzon (például szóköz helyett +, vagy %20 karakter)
Az XML fájl szerkezetét és a feltüntetendő mezőket az alábbi táblázat tartalmazza:
| Elem | Kötelező? | Leírás | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
<Id> |
Kötelező |
A termék egyedi azonosítója. Ez egy szöveges érték, ami:
|
||||||||||||
<LastMod> |
Opcionális | A termék utolsó módosítási időpontja, időbélyege. Formátuma egy számérték (timestamp), pl.: 1583996473 (Ez 2020-03-12 07:01:13 időpontnak felel meg). | ||||||||||||
<StructuredId> |
Ajánlott | Termék UPC/EAN/ISBN kódja, melyet a gyártó adott meg a termékhez. Amennyiben van, erősen ajánlott megadni a gyorsabb és hatékonyabb feldolgozás érdekében. | ||||||||||||
<ProductNumber> |
Ajánlott | A gyártó által megadott termékkód (MPN - gyártói cikkszám) | ||||||||||||
<Descriptions> |
Kötelező | |||||||||||||
├── <Name> |
Kötelező | A termék neve. | ||||||||||||
├── <Description> |
Kötelező | A termék (hosszú) leírása. A leírás részeként megküldött képek, videók és egyéb médiatartalmak nem kerülnek átvételre, így azok nem jelennek meg a termékleírásban. | ||||||||||||
├── <Brand> |
Opcionális | A termék brandje. | ||||||||||||
├── <Manufacturer> |
Opcionális | A termék gyártójának neve. | ||||||||||||
├── <Author> |
Opcionális | Könyv típusú termék esetén a könyv szerzőjének neve. | ||||||||||||
├── <Publisher> |
Opcionális | Könyv típusú termék esetén a könyv kiadójának neve. | ||||||||||||
<Prices> |
Kötelező | |||||||||||||
├── <Currency> |
Kötelező |
A termék ár pénznemének ISO 4217 kódja. (pl. Ft esetén HUF)
|
||||||||||||
├── <Price> |
Kötelező |
A termék ára (a <Currency> tag-ben megadott pénznemben).
|
||||||||||||
├── <VatPercent> |
Kötelező | A termék áfa tartalma. | ||||||||||||
├── <DiscountedPrice> |
Opcionális |
Kedvezményes/leárazott termék esetén a termék kedvezményes/leárazott ára (a <Currency> tag-ben megadott pénznemben).
|
||||||||||||
├── <PurchaseNetPrice> |
Opcionális |
A termék nettó átadási ára (a <Currency> tag-ben megadott pénznemben).
|
||||||||||||
├── <ShippingPrice> |
Opcionális |
A termék szállítási költsége, amennyiben az eltér az alapértelmezetten beállított szállítási költségetől. Termék darabonként értendő, tehát pl.: nagy csomagok, súly határon, vagy méret határon kívüli termékek (a <Currency> tag-ben megadott pénznemben).
|
||||||||||||
<Warranty> |
Opcionális | Garanciainformációkat tartalmaz a termékről | ||||||||||||
├── <Type> |
Opcionális |
Amennyiben a termékre vállalnak garanciát, a garanciális időszak típusát tartalmazza. Lehetséges értékek:
|
||||||||||||
├── <Duration> |
Opcionális | A garanciális időszak hossza | ||||||||||||
<Categories> |
Kötelező | Milyen kategóriákhoz tartozik a termék, a legfelsőbb kategóriától a legalsóbbig. (pl. Könyvek > Babanapló). Egy vagy több <Category> elemet tartalmaz. |
||||||||||||
├── <Category> |
Kötelező | A termék egyik kategóriáját írja le | ||||||||||||
├── <Id> |
Opcionális | Kategória egyedi azonosítója saját áruházának nyilvántartásában | ||||||||||||
├── <Name> |
Kötelező | Kategória neve | ||||||||||||
<Photos> |
Kötelező | Milyen képek tartoznak a termékhez; egy vagy több <Photo> elemet tartalmaz. |
||||||||||||
├── <Photo> |
Kötelező | A termék egyik képét írja le | ||||||||||||
├── <Url> |
Kötelező | Kép teljes URL-je | ||||||||||||
├── <IsPrimary> |
Kötelező | Ez a kép a termék elsődleges/alapértelmezett képe? (true vagy false értéket vehet fel) |
||||||||||||
├── <Title> |
Opcionális | Kép aláírása | ||||||||||||
├── <PrimaryVariation> |
Opcionális | Ha a kép a termék egy változatához tartozik, az elsődleges tulajdonság értéke (a PrimaryAttribute mezőben megadott tulajdonsághoz tartozó érték) |
||||||||||||
├── <SecondaryVariation> |
Opcionális | Ha a kép a termék egy változatához tartozik, a másodlagos tulajdonság értéke (a SecondaryAttribute mezőben megadott tulajdonsághoz tartozó érték) |
||||||||||||
├── <TertiaryVariation> |
Opcionális | Ha a kép a termék egy változatához tartozik, a harmadlagos tulajdonság értéke (a TertiaryAttribute mezőben megadott tulajdonsághoz tartozó érték) |
||||||||||||
<VideoLinks> |
Opcionális | Milyen videók tartoznak a termékhez. Egy vagy több videó teljes URL-je, vesszővel elválasztva | ||||||||||||
<ProductUrl> |
Opcionális | A termék teljes URL-je | ||||||||||||
<Availability> |
Kötelező | Készletinformációkat tartalmaz a termékről | ||||||||||||
├── <Available> |
Kötelező | Készleten van a termék? (true vagy false értéket vehet fel) |
||||||||||||
├── <Quantity> |
Opcionális | Hány termék van készleten jelenleg | ||||||||||||
├── <RestockDate> |
Opcionális | Mikorra várható a következő készletfeltöltés? (YYYY-MM-DD formátumú dátum) |
||||||||||||
├── <ShippingDelay> |
Opcionális | Várható összekészítési idő, munkanapokban | ||||||||||||
<Attributes> |
Opcionális | Termékjellemzők megadására szolgáló mező. Érdemes minél több termékjellemzőt átadni, ugyanis a termék ezek alapján válik kereshetővé a rendszerben a vásárlók számára. | ||||||||||||
├── <Attribute> |
Kötelező | Egy konkrét termékjellemző megadását teszi lehetővé és tetszőleges számú attribútum küldhető a feed-ben | ||||||||||||
├── <AttributeName> |
Kötelező | A termékjellemző konkrét megnevezése, pl.: Memória (GB) | ||||||||||||
├── <AttributeValue> |
Kötelező | A termékjellemző konkrét értéke, pl.: az előző, memória példánál maradva - 16 | ||||||||||||
<VolumeDimensions> |
Opcionális | Termék térfogat adatainak és súlyának (Szélesség,Hosszúság,Magasság,Súly) megadására szolgáló mező. | ||||||||||||
├── <Width> |
Opcionális | A termék szélessége cm mértékegységben. Helyes formátumok: "15"; "0.5"; "0,68"; | ||||||||||||
├── <Height> |
Opcionális | A termék magassága cm mértékegységben. Helyes formátumok: "15"; "0.5"; "0,68"; | ||||||||||||
├── <Length> |
Opcionális | A termék hosszúsága cm mértékegységben. Helyes formátumok: "15"; "0.5"; "0,68"; | ||||||||||||
├── <Weight> |
Opcionális | A termék súlya kg mértékegységben. Helyes formátumok: "15"; "0.5"; "0,68"; "0.0001"; |
Az XML fájl szerkezete variációs termékek esetén a következőképpen egészül ki:
| Elem | Kötelező? | Leírás |
|---|---|---|
<Variations> |
Opcionális | Milyen variációk tartoznak a termékhez. (Ha egy termék egyszer variációsként lett átadva, azon változtatni nem szabad) |
├── <PrimaryAttribute> |
Kötelező | Megadja, hogy milyen tulajdonság alapján vannak megkülönböztetve a variációk. (pl. ha egy babakocsi 3 színben elérhető, akkor az elsődleges tulajdonság a szín lesz) |
├── <SecondaryAttribute> |
Opcionális | Ha két tulajdonság alapján is megkülönbözhethetjük a termék variációkat, megadja a második tulajdonságot. (pl. ha egy póló több színben és méretben is elérhető) |
├── <TertiaryAttribute> |
Opcionális | Ha három tulajdonság alapján is megkülönbözhethetjük a termék variációkat, megadja a harmadik tulajdonságot. |
├── <Variation> |
Kötelező | A termék egy változatát írja le. |
├── <PrimaryVariation> |
Kötelező | Elsődleges tulajdonság értéke (a PrimaryAttribute mezőben megadott tulajdonsághoz tartozó érték) |
├── <SecondaryVariation> |
Opcionális | Másodlagos tulajdonság értéke (a SecondaryAttribute mezőben megadott tulajdonsághoz tartozó érték) |
├── <TertiaryVariation> |
Opcionális | Harmadlagos tulajdonság értéke (a TertiaryAttribute mezőben megadott tulajdonsághoz tartozó érték) |
├── <Prices> |
Opcionális | Amennyiben a termék különböző változatai más árakkal rendelkeznek, itt lehet azokat megadni. |
├── <Currency> |
Kötelező |
A termékvariáció ár pénznemének ISO 4217 kódja. (pl. Ft esetén HUF)
|
├── <Price> |
Kötelező |
A termékvariáció ára (a <Currency> tag-ben megadott pénznemben).
|
├── <DiscountedPrice> |
Opcionális |
Kedvezményes/leárazott termék esetén a termékvariáció kedvezményes/leárazott ára (a <Currency> tag-ben megadott pénznemben).
|
├── <PurchaseNetPrice> |
Opcionális |
A termék nettó átadási ára (a <Currency> tag-ben megadott pénznemben).
|
├── <ShippingPrice> |
Opcionális |
A termékvariáció szállítási költsége, amennyiben az eltér az alapértelmezetten beállított szállítási költségetől (a <Currency> tag-ben megadott pénznemben).
|
├──<Availability> |
Kötelező | Készletinformációkat tartalmaz a termékváltozatról |
├── <Available> |
Kötelező | Készleten van ez a termékváltozat? (true vagy false értéket vehet fel) |
├── <Quantity> |
Opcionális | Hány termék van készleten jelenleg |
├── <RestockDate> |
Opcionális | Mikorra várható a következő készletfeltöltés? (YYYY-MM-DD formátumú dátum) |
├── <ShippingDelay> |
Opcionális | Várható összekészítési idő, munkanapokban |
Példa XML
Példa XML letöltéseKészlet átadása a Pepita.hu rendszerébe
A készlet XML-t a rendszer a teljes termék feedtől külön, a feedhez beállított saját időzítés szerint (jellemzően gyakrabban) dolgozza fel, ezért ebben a futásban kizárólag a készlet és az ár adatok frissülnek. Minden más terméktulajdonság (név, leírás, kategória, képek, attribútumok, garancia, méretek, stb.) azon az értéken marad, amit a teljes feed legutóbbi feldolgozása beállított.
Fontos tudnivalók:
-
A készlet XML csak a teljes feed-ből már ismert termékeket frissíti. Olyan
<Id>, ami a teljes feed-ben nem szerepelt, nem hoz létre új terméket, a rendszer az ilyen sorokat kihagyja. - A készlet XML-nek a teljes aktuális termékkínálatot tartalmaznia kell, nem csak a megváltozott termékeket: a fájlból hiányzó termékeket a rendszer töröltnek tekinti.
-
A termékváltozatok azonosítása a variáció értékei (
<PrimaryVariation>,<SecondaryVariation>,<TertiaryVariation>) alapján történik, ezért ezeknek karakterre pontosan meg kell egyezniük a teljes feed-ben átadott értékekkel. - A fájl felépítése és névtere megegyezik a teljes termék feed-ével, így az alább felsoroltakon kívüli elemek is szerepelhetnek benne, viszont azok nem kerülnek feldolgozásra.
A készlet XML fájl szerkezetét és a feltüntetendő mezőket az alábbi táblázat tartalmazza:
| Elem | Kötelező? | Leírás |
|---|---|---|
<Id> |
Kötelező |
A termék egyedi azonosítója. Ez egy szöveges érték, ami:
|
<Availability> |
Kötelező | Készletinformációkat tartalmaz a termékről |
├── <Available> |
Kötelező |
Készleten van a termék? (true vagy false értéket vehet fel)
Ha az érték nem értelmezhető, vagy ellentmond a <Quantity> értékének
(pl. false mellett 5 darab), a terméket készlethiányosra állítjuk.
|
├── <Quantity> |
Opcionális |
Hány termék van készleten jelenleg. Egész szám, 0 és 1 000 000 közötti értéket vehet fel.
Ha nem adjátok meg, a termék készletét nem követjük (korlátlan készlet), ilyenkor a készlet meglétét
az <Available> érték határozza meg.
|
<Prices> |
Opcionális | A termék ár adatai. Ha a blokk nincs megadva, a termék ára változatlan marad. |
├── <Currency> |
Opcionális |
A termék ár pénznemének ISO 4217 kódja. (pl. Ft esetén HUF)
|
├── <Price> |
Opcionális | A termék ára, ha nincs megadva, üres vagy 0, a korábbi ár marad érvényben. |
├── <DiscountedPrice> |
Opcionális |
A termék kedvezményes ára.
Ha meg van adva, a rendszer ezt az árat érvényesíti a <Price> helyett.
Nem lehet nagyobb, mint a <Price>.
|
A <Prices> blokkban a teljes feed többi ár eleme (<VatPercent>,
<PurchaseNetPrice>, <ShippingPrice>) is szerepelhet, de a futás nem
frissíti őket: ezek az értékek a teljes feed feldolgozásakor kerülnek átvezetésre.
A készlet XML fájl szerkezete variációs termékek esetén a következőképpen egészül ki:
| Elem | Kötelező? | Leírás |
|---|---|---|
<Variations> |
Opcionális | Milyen variációk tartoznak a termékhez. |
├── <PrimaryAttribute> |
Kötelező | Megadja, hogy milyen tulajdonság alapján vannak megkülönböztetve a variációk. (pl. ha egy babakocsi 3 színben elérhető, akkor az elsődleges tulajdonság a szín lesz) |
├── <SecondaryAttribute> |
Opcionális | Ha két tulajdonság alapján is megkülönbözhethetjük a termék variációkat, megadja a második tulajdonságot. (pl. ha egy póló több színben és méretben is elérhető) |
├── <TertiaryAttribute> |
Opcionális | Ha három tulajdonság alapján is megkülönbözhethetjük a termék variációkat, megadja a harmadik tulajdonságot. |
├── <Variation> |
Kötelező | A termék egy változatát írja le. |
├── <PrimaryVariation> |
Kötelező | Elsődleges tulajdonság értéke (a PrimaryAttribute mezőben megadott tulajdonsághoz tartozó érték) |
├── <SecondaryVariation> |
Opcionális | Másodlagos tulajdonság értéke (a SecondaryAttribute mezőben megadott tulajdonsághoz tartozó érték) |
├── <TertiaryVariation> |
Opcionális | Harmadlagos tulajdonság értéke (a TertiaryAttribute mezőben megadott tulajdonsághoz tartozó érték) |
├── <Prices> |
Opcionális | Amennyiben a termék különböző változatai más árakkal rendelkeznek, itt lehet azokat megadni. |
├── <Currency> |
Opcionális |
A termékvariáció ár pénznemének ISO 4217 kódja. (pl. Ft esetén HUF)
|
├── <Price> |
Opcionális | A termékvariáció ára. |
├── <DiscountedPrice> |
Opcionális |
A termékvariáció kedvezményes ára.
Ha meg van adva, a rendszer ezt az árat érvényesíti a <Price> helyett.
|
├──<Availability> |
Kötelező | Készletinformációkat tartalmaz a termékváltozatról |
├── <Available> |
Kötelező |
Készleten van ez a termékváltozat? (true vagy false értéket vehet fel)
A változat saját készlete csak akkor érvényesül, ha a <Quantity> értéket is
megadjátok; e nélkül a változat a termék szintjén megadott készletet örökli.
|
├── <Quantity> |
Opcionális |
Hány termék van készleten jelenleg. Ha a változatoknak eltérő a készletük, változatonként adjátok
meg; ha a változat nincs készleten, 0 értéket küldjetek. Ha nem adjátok meg, a változat
a termék szintjén megadott készletet örökli.
Ügyeljetek arra, hogy ne mondjon ellent az <Available> értéknek: a változat
szintjén az ellentmondást a rendszer nem szűri ki.
|
Jó tudni az árakról:
-
Ha a
<Prices>blokkban csak<DiscountedPrice>szerepel,<Price>nélkül, akkor a kedvezményes ár lesz a termék érvényes ára. -
Ha egy variációnál megadtok bármilyen árat, a termék szintű ár nem öröklődik arra a változatra,
ezért a
<Price>értéket is adjátok meg a variációnál. -
A
<Currency>értékét a feldolgozás nem veszi figyelembe: az árakat minden esetben a feedhez beállított célország pénznemében értelmezzük. - Az ár csak azoknál a termékeknél frissül, amelyeknél az árszinkron engedélyezett. Egyedileg fixált árú termékeknél a feedben küldött ár nem érvényesül, a készlet frissítését viszont ez nem érinti.