Asynkron produktimport
URL til Webservices : https://sws.spartoo.dk/mp/xml_import_products_async.phpDenne webservice skal bruges på samme måde som xml_import_products
Den eneste forskel ved denne webservice er, at den integrerer produkterne asynkront
Sådan fungerer det
Den asynkrone import fungerer i to trin:
- Afsendelse af feed: kald webservicen med parameteren xml. Feedet placeres i en kø, og webservicen svarer straks med en URL (tag url), der indeholder identifikationen af din import (parameter export).
- Opfølgning og hentning af resultatet: kald webservicen med parameteren export, indtil du får behandlingsresultatet (se listen over statusser herunder).
Feedet kan sendes i rå XML eller komprimeret i ZIP-format: ZIP-formatet detekteres automatisk.
Liste over parametre
parametrene for denne webservice skal sendes i POSTValgfrie Parametre der kan sendes i POST
| Parameter | Trin | Beskrivelse |
|---|---|---|
| xml | 1 | Indhold af produkt-feed (rå XML eller ZIP). Se formaterne herunder. |
| export | 2 | Import-id, returneres i trin 1 i svar-URL'en. |
Format på XML-parametren
Felterne skal beskyttes af CDATA-koder, hvis de indeholder specielle tegn, der gør XML-filen ugyldig.
Format til et 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> <!-- ... Flere muligheder for "size"-kode ... --> </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> <!-- ... Flere muligheder for "info"-kode ... --> </extra_infos> <selections> <selection>int</selection> <!-- ... Flere muligheder for "selection"-kode ... --> </selections> </product> <!-- ... Flere muligheder for "product"-kode ... --> </products> </root>
Format til flere lande
<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> <!-- ... Flere muligheder for "language"-kode ... --> </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> <!-- ... Flere muligheder for "language"-kode ... --> </languages> </size> <!-- ... Flere muligheder for "size"-kode ... --> </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> <!-- ... Flere muligheder for "info"-kode ... --> </extra_infos> <selections> <selection>int</selection> <!-- ... Flere muligheder for "selection"-kode ... --> </selections> </product> <!-- ... Flere muligheder for "product"-kode ... --> </products> </root>
Beskrivelse af felterne i XML
| Kode | Beskrivelse | Obligatorisk |
|---|---|---|
| reference_partner |
Forhandlerens produkt-id Det er den sku, der identificerer et produkt af et mærke i en bestemt farve Produkt-id'et kan kun indeholde alfanumeriske tegn såvel som - (bindestreg) _ (underscore) og . (punktum). |
Ja |
| product_name |
Modelnavn Må ikke indeholde kategorien, farven eller mærkets navn Må heller ikke indeholde html koder eller tegn |
Nej |
| manufacturers_name | Navn på mærket produktet kommer fra | Ja |
| product_sex |
Produktets køn > Se valgmulighederne |
Ja |
| product_price | Produktets pris i euro (ikke obligatorisk for priser i størrelse) | Ja / Nej |
| color_id |
Farve til søgning i menuen Hvis den ikke er angivet, bliver produktet ikke vist, hvis en kunde filtrerer på farven > Se valgmulighederne |
Nej |
| product_style |
Produktets kategori > Se valgmulighederne |
Ja |
| product_description | Produktbeskrivelse. Vises på produktsiden. | Nej |
| product_color | Fritekst-felt til farve. Vises på produktsiden. | Produktbeskrivelsen gør det muligt at tilføje et maksimum af oplysninger om produkterne, som kan hjælpe kunden med at træffe sin købsbeslutning.Nej |
| size |
Liste over størrelser og deres lagerbeholdningen Valgfri for produkter i onesize (Tasker / Accessories). Ellers obligatorisk. |
Ja / Nej |
| size_name lang="en" |
Navn på engelsk størrelse Kun obligatorisk for blive registreret på den engelske hjemmeside spartoo.co.uk Mulige værdier<> | Nej / Ja
|
| size_name |
Navn på størrelsen > Se valgmulighederne |
Ja |
| size_quantity | Lagerbeholdningen for denne størrelse | Ja |
| size_reference |
Produktets størrelsesreference. Dette felt bruges kun til at returnere eksport af bestillinger og returanmodninger. Det er god praksis at generere denne reference ved at kombinere reference_partenaire og size_name ved at bruge underscore "_". |
Nej | billeder |
Liste over billeder og deres url. Mindst et billede er påkrævet. Vi anbefaler at have mindst 3 billeder. Vi kan højst integrere 8 billeder. Billedet vil kun blive downloadet en gang, hvorefter det blive opbevaret på vores servere, efter at være blevet redigeret til de dimensioner der bruges i Spartoo. Billederne skal være i jpg format, firkantede og i en opløsning på mindst 500x500 pixels. Hvis de har en opløsning på mindst 800x800 pixels, så vil der være en zoom-funktion på web-siden. |
Ja |
| url1, url2 ... url8 |
Links til billederne Vi skal have et link til hvert billede. Filnavnet må kun indeholde alfanumeriske tegn samt tegn såsom "-" (bindestreg), "_" (underscore) og "." (punktum). Mellemrum samt bogstaver med accent (ex. é, à et ñ) er ikke tilladte. |
Ja |
| heel_height | Hælhøjde i centimeter (cm). Kun til damesko. Skal være i hele eller halve centimeter (f. eks. 6 eller 6,5). | |
| ean | Produktets EAN i forhold til størrelse | Nej |
| product_composition |
Materialesammensætningen af produktets overdel. Gælder kun for sko > Se valgmulighederne |
Nej |
| voering_composition |
Materialesammensætningen af produktets for. Gælder kun for sko > Se valgmulighederne |
Nej |
| first_composition |
Materialesammensætningen af produktets indersål. Gælder kun for sko > Se valgmulighederne /td> | Nej |
| zool_composition |
Materialesammensætningen af produktets ydersål. Gælder kun for sko > Se valgmulighederne |
Nej |
| discount |
Gør det muligt at tilføje en rabat på produktet eller en størrelse. Feltet rate fra feltet discount angiver den procentvise rabat i forhold til feltet product_price. Feltet price_discount fra feltet discount angiver den nedsatte pris på produktet. Rabatprocenten bliver regnet ud. Hvis du kan se begge felter, har price_discount feltet prioritet over rate feltet. Hvis rabatten skal være med øjeblikkelig virkning, behøves startdate feltet ikke udfyldes. Hvis feltet stopdate ikke udfyldes, vil kampagnens standardvarighed være en måned. Hvis du inkluderer sales-variablen, bliver rabatten betragtet som et udsalgsrabat. Ellers er det en normal rabat. Denne parameter gør det muligt at inkluderer en varer på siden med udsalgsvarer. |
Nej |
Eksempel på xml-parametre
<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[Chuck Taylor All Star fra Converse er en legendarisk model, der ikke er til at komme uden om. Her er den i høj version med overdel i ensfarvet tekstil, der både gør den tidløs og klassisk! ]]></product_description> <product_color><![CDATA[Rød]]></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>
Overførsel af data via fil
Det er også muligt at overføre datastrømmen (XML eller ZIP) via en fil. For at gøre dette skal anmodningens brødtekst kun indeholde filen.
De forskellige parametre (som »partner«, ›force_description‹, »force_overwrite« osv.) skal overføres med GET.
Priser og rabatter efter størrelse
Pris- og rabatmærker efter størrelse er blevet indført for at muliggøre en præcis prisdifferentiering inden for samme produkt.De må kun bruges, hvis en størrelse har en anden pris end produktets generelle pris..
Den pris, der er fastsat på produktniveau, udgør den primære reference. Størrelsesspecifikke mærker skal kun pålægges denne pris, når der er behov for en undtagelse (f.eks. specialstørrelser, ekstra materialomkostninger, delvis udgåede varer osv.).
Det er strengt forbudt at bruge pris- eller rabatmærker efter størrelse, når alle størrelser har samme pris som hovedproduktet. I dette tilfælde skal prisen kun angives på det overordnede produktniveau.
Format for flere lande
I formatet for flere lande er taggetDet er tagget, der fastlægger, i hvilke lande produktet skal sælges, samt dets navn, beskrivelse og dets referencepris (product_price) for hvert land. Dette tal skal være udelukkende positivt
Tagget
Hvis tagget
Svar på trin 1: feed-indsendelse
Det returnerede XML-format
<root> <url>string</url> <errors>int</errors> </root>
Eksempel:
<root> <url><![CDATA[https://sws.spartoo.com/mp/xml_import_products_async.php?partenaire=XXXX&export=123456]]></url> <errors>1</errors> </root>
Liste over fejlkoder hos webservices
| Kode (kategori, materiale) | Beskrivelse |
|---|---|
| 1 | Ingen fejlparametrer |
| -1 | Parameteren partenaire er ikke blevet registreret eller er tom |
| -2 | Forhandlerens parametre eksisterer ikke |
| -11 | Parameteren xml er ikke blevet registreret eller er tom |
| -15 | XML-syntaksfejl, tjek din XML-fil |
| -428 | Din konto er deaktiveret. Du kan ikke længere benytte webservices |
| -429 | Du har overskredet brugen af denne webservice inden for den seneste time |
Beskrivelse af svarfelterne i XML
Denne webservice returnerer den URL, der skal kaldes for at hente resultatet af feed-integrationen. Hvis der opstod en fejl, vil det blive vist i et STATUS-tag. Ellers vil webservicen returnere et xml-feed, der indeholder integrationsresultatet.
Dette xml-flow vil have samme format som webservicen xml_import_products. Nedenfor er listen over statusser, der returneres af webservicen:
| Status id | Status | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 1 | Filen er endnu ikke behandlet | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 2 | 2 | Ingen forskel fundet i den overførte fil | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 3 | 3 | Resultat ikke længere tilgængeligt | Resultat ikke længere tilgængeligt | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Resultat ikke længere tilgængeligt | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 4 | 4 | Fejl ved overførsel af fil | Fejl under overførsel af fil | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Fejl under overførsel af fil
Svar fra trin 2: opfølgning på behandlingSå længe behandlingen ikke er afsluttet, returnerer webservicen en status: <root> <status_id>int</status_id> <status>string</status> <errors>int</errors> </root>
Når behandlingen er færdig, returnerer webservicen direkte resultatfilen: den har samme format som outputtet fra den klassiske import (se nedenfor). Resultatformat<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> <!-- ... Flere muligheder for "error"-kode ... --> </errors> </product> <!-- ... Flere muligheder for "product"-kode ... --> </products> <errors>int</errors> </root>
Liste over fejlkoder ifm. produkt
Eksempel på retur-XMLPrøvesvar på et opkald til webservicen KO : <root> <products></products> <errors>-1</errors> </root> Prøvesvar på et opkald til webservicen OK : <root> <products> <product> <reference_partenaire>EEAJBCC</reference_partenaire> <status>KO</status> <action>not created</action> <errors> <error> <id>14</id> <description>Produktbeskrivelsen er tom </description> <level>warning</level> </error> <error> <id>4</id> <description>Der er ikke oplyst mærke</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> Filer XSDFiler XSD Multi lande
Saitoo Marketplace
|