Importul de produse
Adresa URL a serviciului Webservice : https://sws.spartoo.ro/mp/xml_import_products.phpAcest webservice este utilizat pentru a crea și actualiza produsele pe site-ul Spartoo.
Pentru fiecare produs trimis, serviciul web va retrimite un cod de eroare care să indice dacă totul a funcționat corect sau nu. Unele erori sunt blocate (fatal), altele nu sunt blocate (warning).
Acest serviciu web este folosit pentru a crea produse și pentru a actualiza catalogul . Poate fi folosit pentru a trimite întregul catalog sau doar câteva produse.
Frecvența apelurilor:
- Când acest serviciu web este utilizat pentru a face o actualizare completă a catalogului, vă recomandăm să îl utilizați o dată la 6 ore.
- Când acest serviciu web este folosit pentru a face o actualizare parțială (doar pentru câteva produse), acceptăm o frecvență maximă a unui apel la fiecare 10 minute.
Acest serviciu web funcționează în modul „Actualizare” și nu în modul „Suprascriere”. Adică produsele care nu sunt trimise în XML nu vor fi șterse.
Pentru a elimina un produs de pe site, trebuie să vă puneți stocul la 0.
Lista de parametri
Parametrii de la acest serviciu web trebuie obligatoriu să fie transmis în POSTParamètre | Descriere |
---|---|
partener | Trebuie să conțină identificatorul vostru unic : |
xml | Șir de caracter XML care conține lista elementelor care trebuie create sau actualizate |
Parametrii opționali care pot fi transmiși în POST
Paramètre | Descriere |
---|---|
force_description | Setați 1 dacă doriți să forțați actualizarea des descrierilor produse: ștergeți descrierile existente, editați descrierea unui produs din stoc zero, etc. |
force_overwrite | Setați1 dacă doriți să corectați erorile de integrare legate de o scădere semnificativă a prețurilor |
async | Setați la 1 dacă doriți să utilizați metoda asincron |
Format parametru xml
Câmpurile de text trebuie să fie protejate de balize CDATA dacă conține caractere speciale care ar putea face XML invalid.
Format mono country
<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> <!-- ... Mai multe balize "size" posibile ... --> </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> <!-- ... Mai multe balize "info" posibile ... --> </extra_infos> <selections> <selection>int</selection> <!-- ... Mai multe balize "selection" posibile ... --> </selections> </product> <!-- ... Mai multe balize "product" posibile ... --> </products> </root>
Format multi-țară
<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> <!-- ... Mai multe balize "language" posibile ... --> </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> <!-- ... Mai multe balize "language" posibile ... --> </languages> </size> <!-- ... Mai multe balize "size" posibile ... --> </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> <!-- ... Mai multe balize "info" posibile ... --> </extra_infos> <selections> <selection>int</selection> <!-- ... Mai multe balize "selection" posibile ... --> </selections> </product> <!-- ... Mai multe balize "product" posibile ... --> </products> </root>
Descrierea câmpurilor XML de intrare
Balise | Descriere | Obligatoriu |
---|---|---|
reference_partenaire |
Identificator produs vânzător. Este sku-ul care identifică un produs al unui brand într-o culoare precisă Identificatorul produsului trebuie să conțină numai caractere alfanumerice precum și caractere - (cratimă) _ (cratimă jos) și . (punct). |
Da |
product_name |
Numele modelului Nu trebuie să conțină categoria, culoarea sau brandul produsului Nu trebuie să conțină nici caractere sau nici balize html |
Nu |
manufacturers_name | Numele de brand al produsului | Da |
cod_idu | Codul IDU al produsului (a se vedea Actul AGEC) | Nu |
product_sex |
Sex produs > Vizualizați valorile posibile |
Da |
product_price | Prețul produsului în euro | Da |
color_id |
Culoare destinată filtrelor din meniu Dacă ea nu este specificată, produsul nu va apărea dacă un client utilizează un filtru de culoare > Vedeți valorile posibile |
Nu |
product_style |
Categoria produsului > Vedeți valorile posibile |
Da |
product_description | Descriptiv produs. Apare în fișa produsului. | Nu |
product_color | Câmp text liber pentru culoare. Apare în fișa produsului. | Nu |
product_quantity |
Stocul total al produsului Ignorat dacă una sau mai multe balize size_quantity sunt detectate pentru produs. Pentru produsele cu mărime unică este nevoie obligatoriu de o baliză product_quantity dacă baliza size_quantity nu a fost furnizată. |
Nu |
size |
Lista de mărimi și stocurile acestora. Facultativ pentru produsele fără mărimi (Genți / Accesorii). Obligatoriu În caz contrar. |
Da / Non |
size_name |
Nume mărime > Vedeți valorile posibile |
Da |
size_quantity | Stoc produs pentru această mărime | Da |
size_reference |
Referință produs la mărime. Acest câmp este utilizat numai pentru a returna în exporturi comenzile sau returnările. Este o bună practică de a genera această referință prin concatenarea câmpurilor reference_partenaire și size_name cu ajutorul unei liniuțe jos "_". |
Nu |
ean | EAN de la produs la mărime Obligatoriu pentru serviciul de logistică | Nu |
photos |
Lista fotografiilor și adresa URL a acestora. Cel puțin o fotografie este obligatorie. Vă recomandăm să aveți cel puțin 3 fotografii. Putem integra maxim 8 fotografii. Fotografia va fi incărcată o singură dată, apoi stocată pe serverele noastre după redimensionarea după dimensiunile Spartoo. Fotografiile trebuie să fie în format jpg, pătrat și de minim 350x350 pixeli. Dacă acestea sunt mai mari sau egale cu 800x800 pixeli, va exista un posibil zoom pe site. |
Da |
url1, url2 ... url8 |
Linkuri către fotografii Trebuie să ne furnizați un link către fiecare fotografie. Numele fișierului trebuie să conțină numai caractere alfanumerice, precum și caracterele "-" (cratime), "_" (subliniere) și „.” (Dot). Spațiile precum și literele accentuate (de exemplu é, à și ñ) nu sunt permise |
Da |
heel_height | Înălțimea tocului în centimetri (cm). Numai pentru încălțămintea pentru femei. Trebuie să fie un multiplu de 0,5. | No |
product_composition |
Compoziția părții exterioare a produsului, doar pentru încălțăminte și genți > Vedeți valorile posibile |
Non |
voering_composition |
Compoziția căptușelii produsului. Doar pentru încălțăminte și genți > Vedeți valorile posibile |
No |
first_composition |
Compoziția tălpii interioare a produsului. Doar pentru încălțăminte > Vedeți valorile posibile |
Nu |
zool_composition |
Compoziția tălpii exterioare a produsului. Doar pentru încălțăminte > Vedeți valorile posibile |
Nu |
discount |
Permite aplicarea unei promoții la produs sau la o talie. Câmpul rate din câmp discount se referă la reducerea prețului procentual în raport cu câmpul product_price. Câmpulprice_discount din câmp discount se referă la prețul redus al produsului. Procetajul de reducere afișat va fi calculat. Dacă ambele câmpuri sunt prezente, câmpul price_discount are prioritate pe câmpul rate. Dacă discount-ul este imediat, nu este nevoie să specificați câmpul startdate. Daca campulstopdate nu este specificat, durata predefinită a promoției va fi de o lună. Dacă baliza sales este precizată, promoția va fi o promoție de solduri. În caz contrar, va fi o promoție clasică. Specificând acest parametru va permite produselor să fie prezente pe pagina de solduri pe durata perioadelor de solduri. |
Nu |
extra_infos |
Permite specificarea informațiile suplimentare în funcție de tipul de produs. Fiecare informație este constituită dintr-un id ( > Vedeți valorile ) și de o valoare sub formă digitală. |
Nu |
selecții | Permite specificarea contextelor de utilizares a produsului prin intermediul unei liste de id. Ansamblul contextului disponibil este furnizat aici. |
Nu |
Exemplu de parametru xml
<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[Mitic printre mitici, Chuck Taylor All Star de Converse un must have indispensabil. În versiunea tip gheată și cu partea exterioară confecționată din pânză și imprimeuri clasice, el va rămâne întodeaune un must have atemporal și trendy ! ]]></product_description> <product_color><![CDATA[Roșu]]></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>
Formatul XML returnat
<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> <!-- ... Mai multe balize "error" posibile ... --> </errors> </product> <!-- ... Mai multe balize "product" posibile ... --> </products> <errors>int</errors> </root>
Lista codurilor de eroare ale serviciului web
Cod | Descriere |
---|---|
1 | Nici o eroare de parametru |
-1 | Parametrul partenaire nu este trecut în parametru sau este gol |
-2 | Parametrul partenerului nu există |
-11 | Parametrul xml nu este trecut în parametru sau este gol |
-15 | Eroare de sintaxă XML, verificați fișierul dvs XML |
-428 | Contul dvs a fost dezactivat. Nu mai puteți efectua solicitări către serviciile web |
-429 | Ați efectuat prea multe solicitări către serviciile web peste limita la oră |
Descrierea câmpurilor răspunsului XML
Balise | Descriere |
---|---|
reference_partenaire | Identificator produs vânzător |
status | OK dacă produsul a fost inserat în baza de date KO dacă produsul nu a fost inserat |
acțiune |
Lista acțiunilor posibile :
|
errors |
Lista erorilor de prelucrare :
|
Lista codurilor de eroare a produsului
Cod | Level | Descriere |
---|---|---|
1 | Fatal | Referința partenerului nu este suficient de lungă |
2 | Fatal | Referința vânzător nu este validă, aceasta poate conține numai caractere alfanumerice |
3 | Warning | Numele produsului nu este specificat |
4 | Fatal | Brandul nu este specificat |
5 | Fatal | Stilul nu este valid, singurele valori posibile sunt: : H, F, M, K, G, B |
6 | Fatal | Prețul trebuie să fie un număr |
7 | Fatal | Prețul este negativ sau nu este indicat |
8 | Warning | Prețul pare foarte mare ( > 5000 Lei ) |
81 | Fatal | Prețul nu poate fi mai mare de 800 de lei |
9 | Fatal | Cantitatea trebuie să fie un număr întreg |
10 | Fatal | Cantitatea trebuie să fie pozitivă |
11 | Warning | Culoarea xxx nu există :produsul nu va fi disponibil utilizânf filtrele de culoare |
13 | Fatal | Categoria xxx nu există |
14 | Warning | |
15 | Warning | |
16 | Warning | Nici o listă de mărimi : utilizare mărime unică |
17 | Warning | Compoziția este specificată, dar nu este validă |
18 | Fatal | Fotografia 1 este obligatorie |
19 | Warning | Rata de discount a promoției trebuie să fie cuprinsă între 0 și 100, dacă nu promoția nu va fi luată în considerare |
20 | Warning | Mărimea xxx nu există |
201 | Fatal | Codul EAN este obligatoriu |
202 | Fatal | Codul EAN xxx de la referința xxx de mărime xxx este deja utilizat de către ref: xxx. |
205 | Fatal | Referința partenerului este prea lungă |
23 | Warning | Fotografia xxx este mai mică decât 350x350 : ea va avea o calitate inferioară pe site |
24 | Warning | Fotografia xxx este mai mică decât 350x350 : aceasta nu va fi afișată pe site |
25 | Fatal | Taille xxx : |
26 | Fatal | Nu există stoc: produsul nu va fi conceput |
27 | Fatal | Nu se poate accesa la fotografia 1( url xxx ) |
28 | Warning | Nu se poate accesa la fotografia xxx ( url xxx ) |
30 | Fatal | Cantitatea mărimii xxx este prea mare (Cantitate max : xxx) |
33 | Fatal | Un produs de genul xxx nu poate aparține categoriei xxx |
34 | Fatal | Cuvântul xxx este în blacklist și nu trebuie să apară în denumirea sau descrierea produsului. |
35 | Fatal | Numele produsului este prea lung, trebuie să conțină doar numele modelului. Eroare (erori) la țara (țări): xxx |
341 | Fatal | Termenul xxx este în blacklist și nu trebuie să apară în descrierea produsului |
36 | Fatal | Imposibil de a importa produsul: produsul are deja o duplicare mărime / culoare. |
37 | Fatal | Acest produs nu conține nicio informație lingvistică pentru un site activ. |
38 | Fatal | Mărimea xxx poate fi setată o singură dată pentru referința xxx |
39 | Warning | Referința partenerului este prezentă de mai multe ori în flux, duplicatele au fost ignorate |
451 | Fatal | Fara preț pentru marime xxx din tara xxx. (necesar pentru o reducere) |
452 | Warning | Data de încheiere a reducerii a fost depășită pentru mărimi xxx din țară xxx. |
453 | Fatal | "rată" (xxx) invalid pentru mărime xxx din țară xxx. |
454 | Fatal | "rată" (xxx) > 85% pentru mărime xxx din țară xxx. |
455 | Warning | Mărimea xxxare un preț într-o o țară (xxx)nu este definit pentru produs . |
456 | Warning | Mărimea xxx are un preț pe xxx identic cu prețul total din această țară . |
Exemple de returnări XML
Exemplu de răspuns la un apel de serviciu web KO :
<root> <products></products> <errors>-1</errors> </root>
Exemplu de răspuns la un apel de serviciu web OK :
<root> <products> <product> <reference_partenaire>EEAJBCC</reference_partenaire> <status>KO</status> <action>not created</action> <errors> <error> <id>14</id> <description></description> <level>warning</level> </error> <error> <id>4</id> <description>Brandul nu este specificat</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>