Import van de producten
URL van de Webservice : https://sws.spartoo.nl/mp/xml_import_products.phpDeze webservice dient om producten op de site van Spartoo aan te maken en om ze te vernieuwen.
Voor elk product zal de webservice een foutcode terugsturen om aan te geven of alles goed verlopen is of niet. Bepaalde fouten leiden tot een blokkering (fataal), andere niet (warning).
Deze webservice werkt als "Update" en niet als "Verwijderend". Dit wilt zeggen dat producten die niet in het XML bestand werden verzonden, niet verwijderd worden.
Om een product van de site te verwijderen, dient u de voorraad ervan op 0 te zetten.
Lijst met parameters
De parameters van deze webservice dienen verplicht in POST te zijn| Parameter | Omschrijving |
|---|---|
| partenaire | Dit dient uw unieke ID te bevatten: |
| xml | XML karakters die de lijst van producten bevatten |
Optionele parameters die kunnen worden doorgegeven in POST
| Parameter | Beschrijving |
|---|---|
| force_description | Te zetten op 1 indien je productbeschrijvingen spoedig wenst up te daten: verwijderen van bestaande productbeschrijvingen, wijzigen van een productbeschrijving bij voorraad 0 etc. |
| force_overwrite | Te zetten op 1 indien je fouten gelinkt aan een belangrijke prijswijziging wenst te corrigeren |
Formaat van de XML parameter
De velden dienen beschermd te zijn door CDATA tags indien ze speciale karakters bevatten die de XML ongeldig zouden kunnen maken.
Formaat enkel land
<root> <products> <product> <reference_partenaire>string</reference_partenaire> <product_name>string</product_name> <manufacturers_name>string</manufacturers_name> <product_sex>char</product_sex> <product_price>float</product_price> <product_quantity>int</product_quantity> <color_id>int</color_id> <product_style>int</product_style> <product_description>string</product_description> <product_color>string</product_color> <heel_height>float</heel_height> <country_origin>int</country_origin> <code_hs>int</code_hs> <size_list> <size> <size_name>string</size_name> <size_quantity>int</size_quantity> <size_reference>string</size_reference> <ean>string</ean> <code_hs>int</code_hs> <product_price>float</product_price> <discount> <startdate>timestamp</startdate> <stopdate>timestamp</stopdate> <price_discount>float</price_discount> <rate>int</rate> <sales/> </discount> </size> <!-- ... Meerdere tags "size" mogelijk ... --> </size_list> <product_composition>int</product_composition> <voering_composition>int</voering_composition> <first_composition>int</first_composition> <zool_composition>int</zool_composition> <photos> <url1>url</url1> <url2>url</url2> <url3>url</url3> <url4>url</url4> <url5>url</url5> <url6>url</url6> <url7>url</url7> <url8>url</url8> </photos> <discount> <startdate>timestamp</startdate> <stopdate>timestamp</stopdate> <price_discount>float</price_discount> <rate>int</rate> <sales>0/1</sales> </discount> <extra_infos> <info> <id>int</id> <value>float</value> </info> <!-- ... Meerdere tags "info" mogelijk ... --> </extra_infos> <selections> <selection>int</selection> <!-- ... Meerdere tags "selection" mogelijk ... --> </selections> </product> <!-- ... Meerdere tags "product" mogelijk ... --> </products> </root>
Formaat meerdere landen
<root> <products> <product> <reference_partenaire>string</reference_partenaire> <manufacturers_name>string</manufacturers_name> <product_sex>char</product_sex> <product_quantity>int</product_quantity> <color_id>int</color_id> <product_style>int</product_style> <heel_height>float</heel_height> <country_origin>int</country_origin> <code_hs>int</code_hs> <languages> <language> <code>string</code> <product_name>string</product_name> <product_description>string</product_description> <product_color>string</product_color> <product_price>float</product_price> <discount> <startdate>timestamp</startdate> <stopdate>timestamp</stopdate> <price_discount>float</price_discount> <rate>int</rate> <sales /> </discount> </language> <!-- ... Meerdere tags "language" mogelijk ... --> </languages> <size_list> <size> <size_name>string</size_name> <size_quantity>int</size_quantity> <size_reference>string</size_reference> <ean>string</ean> <code_hs>int</code_hs> <languages> <language> <code>string</code> <product_price>float</product_price> <discount> <startdate>timestamp</startdate> <stopdate>timestamp</stopdate> <price_discount>float</price_discount> <rate>int</rate> <sales/> </discount> </language> <!-- ... Meerdere tags "language" mogelijk ... --> </languages> </size> <!-- ... Meerdere tags "size" mogelijk ... --> </size_list> <product_composition>int</product_composition> <voering_composition>int</voering_composition> <first_composition>int</first_composition> <zool_composition>int</zool_composition> <photos> <url1>url</url1> <url2>url</url2> <url3>url</url3> <url4>url</url4> <url5>url</url5> <url6>url</url6> <url7>url</url7> <url8>url</url8> </photos> <extra_infos> <info> <id>int</id> <value>float</value> </info> <!-- ... Meerdere tags "info" mogelijk ... --> </extra_infos> <selections> <selection>int</selection> <!-- ... Meerdere tags "selection" mogelijk ... --> </selections> </product> <!-- ... Meerdere tags "product" mogelijk ... --> </products> </root>
Omschrijving van de velden van het XML databestand
| Tag | Omschrijving | Verplicht |
|---|---|---|
| reference_partenaire |
Productreferentie van de partner. Dit is de sku die een product van een merk in een bepaalde kleur identificeert De product referentie mag enkel alfanumerieke karakters bevatten en de karakters - (koppelteken) _ (laag streepje) en . (punt). |
Ja |
| product_name |
Naam van het model Het veld dient niet de categorie, kleur of merk van het product te bevatten |
Nee |
| manufacturers_name | Naam van het merk van het product | Ja |
| product_sex |
Geslacht van het product > Bekijk de mogelijke waarden |
Ja |
| product_price | Prijs van het product in euro (niet vereist voor maatprijzen) | Ja | /Nee
| color_id |
Kleur bestemd voor de filters van het menu Indien de kleur niet is opgegeven, zal het product niet verschijnen wanneer een klant filtert op kleur > Bekijk de mogelijke kleuren |
Nee |
| product_style |
Categorie van het product > Bekijk de mogelijke waarden |
Ja |
| product_description |
In de productbeschrijving kunt u zoveel mogelijk informatie over de producten toevoegen, die de klant kan helpen bij het nemen van een aankoopbeslissing. Een goede productbeschrijving is gedetailleerd en specifiek voor elk product. Daarom kan deze de modelnaam, het merk, de kleur, de stijl van het product, het materiaal, enz. bevatten. Het is niet mogelijk om HTML-code in te voegen, met uitzondering van de regeleinde-tag: <br>, , evenals <b>, <i> en <u>. JavaScript is niet toegestaan. De tekst is alleen zichtbaar op de productpagina. Het toegestane aantal tekens bedraagt 65.000. |
Nee |
| product_color | Vrije tekstveld voor de kleur. Wordt weergegeven op de productpagina. | Nee |
| product_quantity |
Totale voorraad van een product Wordt genegeerd als er één of meerdere size_quantity tags voor het product worden gedetecteerd. Voor producten in één maat is een product_quantity tag verplicht als de size_quantity tag niet is ingevuld. |
Nee |
| size |
Lijst van de maten en de voorraad ervan. Optioneel voor de producten zonder maat (Tassen/Accessoires). Zo niet, dan is het verplicht. |
Ja / Nee |
| size_name |
Naam van de maat > Bekijk de mogelijke waarden |
Ja |
| size_quantity | Voor elke maat moet de voorraad worden opgegeven. Om een product uit te schakelen, moet de voorraad op 0 worden gezet. Als de voorraad 0 is, wordt het product uitgeschakeld en verschijnt het niet meer op Spartoo. |
Ja |
| size_reference |
Productreferentie per maat. Dit veld wordt uitsluitend gebruikt om mee te sturen in de exportbestanden van bestellingen of retourzendingen. Het is aanbevolen om deze referentie te genereren door de velden reference_partenaire en size_nam` aan elkaar te koppelen met een laag streepje “_”.. |
Non |
| ean | EAN van het product per maat | Verplicht voor de logistieke dienstNee / Ja |
| foto's |
Lijst van de foto's en hun url Op zijn minst één foto is verplicht We raden aan om minimaal 3 foto's te hebben. Wij kunnen maximaal 8 foto's intergreren. De foto wordt slechts één keer geüpload en wordt opgeslagen op onze servers, nadat het formaat is aangepast naar Spartoo-afmetingen. De foto's moeten in jpg-formaat zijn, vierkant en minimaal 350x350 pixels groot. Als ze 800x800 pixels of groter zijn, kan er op de website worden ingezoomd. |
Ja |
| url1, url2 ... url8 |
Link naar de foto's Graag een link naar elke foto verstrekken. De bestandsnaam mag alleen alfanumerieke tekens bevatten, evenals de tekens "-" (koppelteken), "_" (onderstrepingsteken) en "." (DOT). Spaties en letters met accenten (bijv. É, à en ñ) zijn niet toegestaan. |
Ja |
| country_origin |
Land van herkomst van het product > Bekijk de mogelijke waarden |
Nee |
| code_hs | Douanecode van het product | Nee | heel_height | Hakhoogte in centimeter (cm). Alleen voor damesscheonen. Er moet een punt worden gebruikt om de eenheid van de decimalen te scheiden (bijvoorbeeld: 1.5). | Nee |
| product_composition |
Samenstelling van de schacht van het product. Enkel voor schoenen > Bekijk de mogelijke waarden |
Nee |
| voering_composition |
Samenstelling van de binnenvoering van het product. Enkel voor schoenen > Bekijk de mogelijke waarden |
Nee |
| first_composition |
Samenstelling van de binnenzool van het product. Enkel voor schoenen > Bekijk de mogelijke waarden |
Non |
| zool_composition |
Samenstelling van de buitenzool van het product. Enkel voor schoenen > Bekijk de mogelijke waarden |
Nee |
| discount |
Laat toe een korting toe te passen op het product. Hiermee kunt u een aanbieding toepassen op het product of op een maat. Het veld rate van het veld discount heeft betrekking op de procentuele korting ten opzichte van het veld product_price. Het veld price_discount van het veld discount heeft betrekking op de kortingsprijs van het product. Het weergegeven kortingspercentage wordt berekend. Als beide velden aanwezig zijn, heeft het veld price_discount voorrang op het veld rate. Als de korting onmiddellijk van kracht is, hoeft het veld startdate niet te worden opgegeven. Als het veld stopdate niet is opgegeven, heeft de actie standaard een looptijd van één maand. Als de tag sales is opgegeven, is de actie een uitverkoopactie. Anders is het een klassieke actie. Door deze parameter op te geven, kunnen de producten tijdens uitverkoopperiodes op de uitverkooppagina worden weergegeven. (1 staat voor een uitverkoopcategorie en 0 voor een normale kortingscategorie) |
Nee |
| extra_infos |
Hiermee kunt u aanvullende informatie opgeven die afhankelijk is van het producttype. Elk gegeven bestaat uit een id ( > Zie de waarden ) en een numerieke waarde. |
Nee |
| talen |
Hiermee kunt u de distributie in meerdere landen beheren en vertaalde gegevens specificeren, evenals
verschillende prijzen per land (productnaam, beschrijving, basisprijs, kleur, IDU-code en promotie). Elk blok bevat een of meer language-tags, gekenmerkt door een verplichte code voor land/taal (bijv.: FR, IT, DE, enz.). Beheer op maat: Deze tag kan ook onder elke size-tag worden toegevoegd om specifieke prijzen en promoties per maat en per land toe te passen. Belangrijke gedragsregels: • Algemene voorraden: Het is niet mogelijk om per land verschillende hoeveelheden te beheren. De voorraad (hoeveelheid) blijft strikt algemeen op maatniveau. • Product deactiveren per land: Als een land/taal wordt verwijderd uit het blok languages op productniveau (bijv.: tag FR aanwezig maar tag IT afwezig), wordt het product automatisch gedeactiveerd (uit de verkoop gehaald) voor dat specifieke land. • Een land verwijderen voor een bepaalde maat: Als een land wordt verwijderd uit het blok languages op het niveau van een bepaalde maat (bijv. maat 42), maar dat land op het algemene productniveau actief blijft, wordt maat 42 niet gedeactiveerd voor dat land. Deze blijft beschikbaar voor verkoop, maar verliest de specifieke prijs voor die maat en wordt automatisch standaard (fallback) afgestemd op de algemene prijs van het product (product_price) die is gedefinieerd voor dat land. Om een maat volledig uit te schakelen, moet de totale voorraad op 0 worden gezet. |
Nee |
Voorbeeld van een XML parameter
<root> <products> <product> <reference_partenaire>98</reference_partenaire> <product_name><![CDATA[ALL STAR HI]]></product_name> <manufacturers_name><![CDATA[Converse]]></manufacturers_name> <product_sex>M</product_sex> <product_price>64.99</product_price> <product_quantity>5</product_quantity> <color_id>8</color_id> <product_style>10010</product_style> <product_description><![CDATA[Het meest mytische model van Converse, de Chuck Taylor All Star, is een must-have. Zie hier een hoge versie met een textielen schacht en een klassieke opdruk. Het is een tijdloos en modieus model!]]></product_description> <product_color><![CDATA[Rood]]></product_color> <country_origin>73</country_origin> <code_hs>64059090</code_hs> <size_list> <size> <size_name>38</size_name> <size_quantity>4</size_quantity> <size_reference>98_38</size_reference> <ean>123456789011></ean> </size> <size> <size_name>39</size_name> <size_quantity>1</size_quantity> <size_reference>98_39</size_reference> <ean>123456789012></ean> </size> </size_list> <product_composition>4</product_composition> <photos> <url1>https://imgext.spartoo.com/photos/98/98/98_350_A.jpg</url1> <url2>https://imgext.spartoo.com/photos/98/98/98_350_B.jpg</url2> <url3>https://imgext.spartoo.com/photos/98/98/98_350_C.jpg</url3> <url4>https://imgext.spartoo.com/photos/98/98/98_350_D.jpg</url4> <url5>https://imgext.spartoo.com/photos/98/98/98_350_E.jpg</url5> <url6>https://imgext.spartoo.com/photos/98/98/98_350_F.jpg</url6> <url7>https://imgext.spartoo.com/photos/98/98/98_350_G.jpg</url7> <url8>https://imgext.spartoo.com/photos/98/98/98_350_H.jpg</url8> </photos> <discount> <startdate>1199170800</startdate> <stopdate>1204354800</stopdate> <rate>20</rate> </discount> </product> </products> </root>
Overdracht van gegevens via bestand
Het is ook mogelijk om de feed (XML of ZIP) via een bestand over te dragen. Hiervoor mag de body van het verzoek alleen het bestand bevatten.
De verschillende parameters (zoals “partner”, ‘force_description’, “force_overwrite”, ...) moeten verplicht in GET worden verzonden.
Prijs en korting per maat
De prijs- en kortingslabels per maat zijn ingevoerd om een nauwkeurig prijsverschil binnen hetzelfde product mogelijk te maken.Ze mogen alleen worden gebruikt als een maat een andere prijs heeft dan de algemene prijs van het product.
De prijs die op productniveau is vastgesteld, vormt de belangrijkste referentie. De specifieke labels voor een maat zijn alleen bedoeld om deze prijs te verhogen wanneer een uitzondering nodig is (bijvoorbeeld: speciale maten, extra materiaalkosten, gedeeltelijke uitverkoop, enz.).
Het is ten strengste verboden om prijs- of kortingslabels per maat te gebruiken wanneer alle maten dezelfde prijs hebben als het hoofdproduct. In dat geval moet de prijs alleen op het algemene productniveau worden gedefinieerd.
Formaat van de teruggestuurde XML data
<root> <products> <product> <reference_partenaire>string</reference_partenaire> <status>string</status> <action>string</action> <errors> <error> <id>int</id> <description>string</description> <level>string</level> </error> <!-- ... Meerdere tags "error" mogelijk ... --> </errors> </product> <!-- ... Meerdere tags "product" mogelijk ... --> </products> <errors>int</errors> </root>
Lijst met de foutcodes van de webservice
| Code | Omschrijving |
|---|---|
| 1 | Geen fouten in de parameters |
| -1 | De parameter partenaire werd niet als parameter aangemaakt of is leeg |
| -2 | De partenaire parameter bestaat niet |
| -11 | De parameter xml werd niet als parameter aangemaakt of is leeg |
| -15 | Opmaakfout XML, gelieve uw bestand na te kijken |
| -428 | Uw account is gedeactiveerd. U kunt niet langer gebruik maken van de webservices |
| -429 | U heeft te veel gebruik gemaakt van deze webservice voor dit uur |
Omschrijving van de velden van het XML antwoord
| Tag | Omschrijving |
|---|---|
| reference_partenaire | Product ID van de verkoper |
| status | OK indien het product werd ingevoerd in de database KO indien het product niet kon worden ingevoerd |
| action |
Lijst met mogelijke handelingen:
|
errors |
Lijst met fouten:
|
Lijst met codes van de productfouten
| Code | Level | Description |
|---|---|---|
| 1 | Fatal | De partner referentie is niet lang genoeg |
| 2 | Fatal | De partner referentie is niet geldig, deze bestaat slechts uit alfanumerieke tekens |
| 3 | Warning | Productnaam is niet aangegeven |
| 4 | Fatal | Het merk is niet aangegeven |
| 5 | Fatal | Het type is niet geldig, u kunt alleen filteren op: H , F , M, K , G , B |
| 6 | Fatal | De prijs moet een cijfer zijn |
| 7 | Fatal | De prijs moet een positief cijfer zijn |
| 8 | Warning | De prijs lijkt ons erg hoog (> 1000 ) |
| 195 | Fatal | De nieuwe prijs mag niet meer dan xxx cijfers bevatten. |
| 81 | Fatal | De prijs kan niet hoger zijn dan 180.00 euro |
| 9 | Fatal | De hoeveelheid moet een heel getal zijn |
| 10 | Fatal | De hoeveelheid moet een positief getal zijn |
| 11 | Warning | De kleur xxx bestaat niet: u zult het product niet kunnen vinden met de filters |
| 13 | Fatal | De categorie xxx bestaat niet |
| 14 | Warning | De product omschrijving is leeg |
| 15 | Warning | De kleur omschrijving is leeg |
| 16 | Warning | Geen lijst met maten, gebruik slechts één maat |
| 17 | Warning | De samenstelling is aangegeven, maar niet geldig |
| 18 | Fatal | Foto 1 is verplicht |
| 19 | Warning | Het kortingspercentage moet tussen 0 en 100 liggen, de korting wordt niet in acht genomen |
| 20 | Warning | De maat xxx bestaat niet |
| 200 | Warning | De maat xxx bestaat niet voor het merk xxx. |
| 201 | Fatal | De code EAN is verplicht |
| 202 | Fatal | De EAN-code xxx op de referentie xxx in maat xxx wordt al gebruikt. |
| 205 | Fatal | Partnerreferentie te lang |
| 23 | Warning | Het formaat van de foto xxx is kleiner dan 350x350: dit zal een beeld van slechte kwaliteit opleveren op de website |
| 24 | Warning | Het formaat van de foto xxx is kleiner dan 350x350: deze zal niet afgebeeld worden op de website |
| 25 | Fatal | Maat xxx: Onmogelijk de voorraad te regulariseren |
| 26 | Fatal | Geen voorraad: het product zal niet worden aagemaakt |
| 27 | Fatal | Onmogelijk foto 1 (url xxx) te bekijken |
| 28 | Warning | Onmogelijk foto xxx (url xxx) te bekijken |
| 30 | Fatal | Het aantal van deze maat xxx is te groot (Quantité max : xxx) |
| 33 | Fatal | Een product van genre xxx kan niet behoren tot de categorie xxx |
| 34 | Fatal | Het woord xxx is geblokkeerd en zal niet meer in beeld komen. |
| 35 | Fatal | Productnaam te lang, mag alleen modelnaam bevatten. Fout(en) in land(en): xxx |
| 341 | Fatal | Het woord xxx is geblokkeerd en zal niet meer in beeld verschijnen bij de beschrijving van het product. |
| 36 | Fatal | Kan het product niet importeren: het product heeft een duplicatie van het maat / kleur-paar. |
| 37 | Fatal | U heeft geen geldige taalinformatie opgegeven voor dit product |
| 32 | Fatal | Er is geen Nederlandstalige informatie beschikbaar voor dit product |
| 38 | Fatal | De maat xxx kan slechts eenmaal worden gedefinieerd met referentie xxx |
| 39 | Warning | The partner reference is present several times in the flow, duplicates have been ignored |
| 451 | Fatal | Geen prijs voor de maat xxx van land xxx. (nodig voor een korting) |
| 452 | Warning | De einddatum van de korting is overschreden voor maat xxx van land xxx. |
| 453 | Fatal | "tarief" (xxx) ongeldig voor maat xxx van land xxx. |
| 454 | Fatal | "tarief" (xxx) > 85% voor maat xxx van land xxx. |
| 455 | Warning | De maat xxx heeft een prijs in een land (xxx) dat niet is gedefinieerd voor het product. |
| 456 | Warning | De maat xxx heeft een prijs xxx identiek aan de totale prijs in dit land. |
| 194 | Fatal | De prijsverlaging van de nieuwe prijs mag niet groter zijn dan xxx% |
Voorbeelden van XML retour
Voorbeeld KO :
<root> <products></products> <errors>-1</errors> </root>
Voorbeeld OK :
<root> <products> <product> <reference_partenaire>EEAJBCC</reference_partenaire> <status>KO</status> <action>not created</action> <errors> <error> <id>14</id> <description>De product omschrijving is leeg</description> <level>warning</level> </error> <error> <id>4</id> <description>Het merk is niet aangegeven</description> <level>fatal</level> </error> </errors> </product> <product> <reference_partenaire>KJHGFDS</reference_partenaire> <status>OK</status> <action>created</action> </product> </products> <errors>1</errors> </root>
XSD-bestanden
XSD-bestanden Meerdere landen
Saitoo - Assistant
www.spartoo.nl
























