Atualização dos produtos
URL do Webservice : https://sws.spartoo.pt/mp/xml_maj_stock_batch.phpEsse webservice é usado para atualizar o stock dos produtos no site da Spartoo.
Para cada produto enviado, o webservice irá enviar um código indicando se tudo decorreu sem incidência ou não
Esse webservice é usado para atualizar o stock dos produtos. Pode ser usado para enviar o catálogo inteiro ou apenas alguns produtos.
Este webservice funciona no modo "Atualizar" e não em modo "Esmagar". Ou seja, os produtos que não são enviados para o XML não serão excluídos.
Para remover um produto do site, deve colocar o stock associado a 0.
Lista dos parâmetros
Os parâmetros deste webservice devem ser passados em POSTParâmetros | Descritivo |
---|---|
Parceiro | Deve conter o seu ID único: |
XML | Cadeia de caracteres XML que contém a lista de elementos a serem atualizados |
Formato do parâmetro xml
Os campos de texto devem estar protegidos por balizas CDATA caso contenham caracteres especiais que possam tornar o XML inválido.
<catalogue> <products> <product> <reference_partenaire>string</reference_partenaire> <size_list> <size> <size_reference>string</size_reference> <size_quantity>int</size_quantity> <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> <!-- ... Várias balizas "language" possíveis ... --> </languages> <!-- ... Várias balizas "languages" possíveis ... --> </size> <size> <size_reference>string</size_reference> <size_quantity>int</size_quantity> </size> </size_list> </product> <product> <reference_partenaire>string</reference_partenaire> <size_list> <size> <size_reference>string</size_reference> <size_quantity>int</size_quantity> </size> <size> <size_reference>string</size_reference> <size_quantity>int</size_quantity> </size> </size_list> </product> </products> </catalogue>
Descrição dos campos XML de entrada
Tag | Descrição | Obrigatória |
---|---|---|
reference_partenaire |
Identificador do produto parceiro. É o sku que identifica o produto de uma marca numa cor específica O identificador do produto pode conter apenas caracteres alfanuméricos bem como os caracteres - (ífen) _ (underscore) e . (ponto). |
Sim |
product_quantity |
Stock total de um produto Ignorar se um ou mais tags size_quantity forem detetados para o produto. Para produtos em tamanho único, deve colocar obrigatoriamente um tag product_quantity se o tag size_quantity não estiver indicado. |
Não |
size |
Lista dos tamanhos e respetivo stock. Opcional para produtos sem tamanhos (Bolsas / Acessórios). Obrigatório caso contrário. |
Sim / Não |
size_quantity | Para cada tamanho, o stock deve ser especificado. Para desativar um produto, deve colocar o stock a 0. Quando o stock está a 0, o produto é desativado e não aparece mais na Spartoo. |
Sim |
size_reference | Referência do produto ao tamanho. | Sim |
preço_do_produto | Preço por tamanho | Não |
desconto |
Permite aplicar uma promoção ao produto. O campo taxa do campo desconto diz respeito à redução percentual do preço em relação ao campo preço_produto. O campo price_discount do campo desconto refere-se ao preço com desconto do produto. Será calculada a percentagem de desconto apresentada. Se ambos os campos estiverem presentes, o campo price_discount terá precedência sobre o campo taxa. Se o desconto for imediato, não é necessário especificar o campo startdate. Se o campo stopdate não for especificado, a promoção terá a duração padrão de um mês. Se for especificada a etiqueta sales, a promoção será uma promoção de vendas. Caso contrário, será uma promoção clássica. A especificação deste parâmetro permite que os produtos estejam presentes na página de vendas durante os períodos de vendas. |
Não |
Exemplo de parâmetro xml
<catalogue> <products> <product> <reference_partenaire>98</reference_partenaire> <size_list> <size> <size_reference>98_38</size_reference> <size_quantity>5</size_quantity> <languages> <language> <code>FR</code> <product_price>100.00</product_price> <discount> <startdate>1199170800</startdate> <stopdate>1204354800</stopdate> <price_discount>90.00</price_discount> <rate>10</rate> <sales/> </discount> </language> <!-- ... Várias balizas "language" possíveis ... --> </languages> <!-- ... Várias balizas "languages" possíveis ... --> </size> <size> <size_reference>98_39</size_reference> <size_quantity>7</size_quantity> </size> </size_list> </product> <product> <reference_partenaire>158_tailor</reference_partenaire> <size_list> <size> <size_reference>158_37</size_reference> <size_quantity>2</size_quantity> </size> <size> <size_reference>158_36</size_reference> <size_quantity>0</size_quantity> </size> </size_list> </product> </products> </catalogue>
Formato do XML devolvido
<catalogue> <products> <product> <reference_partenaire>string</reference_partenaire> <size_list> <size> <size_reference>string</size_reference> <errors>int</errors> </size> </size_list> </product> <!-- ... Várias balizas "product" possíveis ... --> </products> </catalogue>
Lista dos códigos de erros do webservice
Código | Descrição |
---|---|
1 | Sem erros nos parâmetros |
-1 | O parâmetro partenaire não passou no parâmetro ou está vazio |
-2 | O parâmetro do parceiro não existe |
-11 | O parâmetro xml não passou no parâmetro ou está vazio |
-13 | O parâmetro products_size_reference não passou no parâmetro ou está vazio |
-15 | Erro de sintaxe XML, verifique o seu ficheiro XML |
-18 | o stock é o mesmo de base e não foi atualizado |
-20 | Impossível atualizar o stock. O tamanho não é válido para este produto, o stock do produto e deste tamanho é 0. |
-31 | Esta size_reference não existe |
-428 | A sua conta foi desativada. Não pode mais efetuar chamadas ao webservice |
-429 | Efetuou demasiado chamadas para o Webservice nesta hora corrida |
Exemplos de devolução XML
Exemplo de resposta a uma chamada web serviço KO :
<catalogue> <products></products> <errors>-1</errors> </catalogue>
Exemplo de resposta a uma chamada web serviço OK :
<catalogue> <products> <product> <reference_partenaire>EEAJBCC</reference_partenaire> <size_list> <size> <size_reference>EEAJBCC_38</size_reference> <errors>1</errors> </size> </size_list> </product> <product> <reference_partenaire>KJHGFDS</reference_partenaire> <size_list> <size> <size_reference></size_reference> <errors>-13</errors> </size> </size_list> </product> </products> </catalogue>