API REST Seller

Para o Marketplace estar integrado, estes serviços devem ser implementados pelo Lojista.

Simulação de Preço

Este serviço tem como intuito resgatar informações como preços, slas de entrega e balanço de estoque dos itens que estão diponíveis.

*** Caso o item solicitado na lista esteja inativado ou não exista na base do lojista, o serviço não deve retornar erro. Deve-se retornar normalmente sem nenhuma informação do item (ignorar o item).

*** Caso o item solicitado na lista esteja sem estoque no momento, o serviço não deve retornar erro. Deve-se retornar normalmente com o valor de estoque = 0.

*** O serviço não deve retornar erro quando for solicitado uma quantidade maior que a disponível ou a quantidade atual for zero. Deve-se retornar normalmente com os dados de acordo com a quantidade disponível.

*** O frete total será calculado por meio da soma dos valores de frete (shipmentInfos->categories->price) de cada item retornado pelo serviço.

*** O tempo de resposta deve ser menor que 5 segundos.

URI /fulfillment-preview
Método POST
Dados de envio FulfillmentPreview
Dados de resposta FulfillmentPreviewResponse

Criação de pedido

Este serviço tem como intuito criar um pedido no Lojista.

*** Caso seja enviado com um número de ordem walmart(marketPlaceOrderId) já utilizado previamente na geração de um pedido no seller, o retorno do serviço deve ser o número da order do seller(orderId) gerado previamente no formato padrão de resposta definido para o serviço.

*** Caso os dados enviados de alguma forma impossibilitem a operação do serviço, deve-se retornar com mensagem e código de erro na linha 400 para cancelar o pedido imediatamente, retornos de erro com código na faixa 500 cairão em fila de retentativa.

URI /fulfillment/order/create
Método POST
Dados de envio Order
Dados de resposta OrderResponse

Confirmação de pagamento

Este serviço tem como intuito sinalizar para o Lojista que o pagamento de um pedido foi realizado ou não.

*** Caso o status do pedido no seller já esteja confirmado, o retorno do serviço deve ser no formato padrão de resposta definido para o serviço. Nesta situação o serviço não deve retornar erro.

*** Caso os dados enviados de alguma forma impossibilitem a operação do serviço, deve-se retornar com mensagem e código de erro na linha 400 para cancelar o pedido imediatamente, retornos de erro com código na faixa 500 cairão em fila de retentativa.

*** Caso for enviado a confirmação de pagamento de um pedido já shippado, o seller deve retornar um erro ao Walmart (HTTP4xx) informando que o pedido já foi entregue. Ex. {"summary":"order 51344498-338797 already was shipped."}

URI /fulfillment/order/confirm/{marketplaceOrderId}
Método POST
Parâmetros de envio ConfirmFulfillmentOrder
Dados de resposta ConfirmFulfillmentOrderResponse

Cancelamento de um pedido

Este serviço tem como intuito sinalizar para o Lojista que um pedido foi cancelado.

*** Caso o status do pedido no seller já esteja cancelado ou já passou o tempo limite de pagamento, o retorno do serviço deve ser no formato padrão de resposta definido para o serviço. Nesta situação o serviço não deve retornar erro.

*** Caso os dados enviados de alguma forma impossibilitem a operação do serviço, deve-se retornar com mensagem e código de erro na linha 400 para cancelar o pedido imediatamente, retornos de erro com código na faixa 500 cairão em fila de retentativa.

URI /fulfillment/order/cancel/{marketplaceOrderId}
Método POST
Dados de envio CancelFulfillmentOrder
Dados de resposta CancelFulfillmentOrderResponse

Teste de conectividade

Este serviço tem como intuito realizar um teste de conectividade no sistema do Lojista.

O response deve ser pong (tudo minúsculo e se aspas). Pode utilizar o Content-Type text/html.

URI /ping
Método GET
Dados de envio não há
Dados de resposta texto simples: pong

Resposta de erros

Se algum problema ocorrer, a resposta deve seguir o padrão de erro. Seguem os exemplos abaixo:

XML format

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<error>
	<summary>The order "44556745-5584478" already was shipped.</summary>    		
</error>  

Json format

{
	"summary" : "The SLA "Sedex Teste" is invalid."
}				

**O atributo "summary" é obrigatório.

**A mensagem deve ser intuitiva de acordo com o erro ocorrido.

**O HTTP status retornado deve serguir os padrões do http://www.w3.org/Protocols/HTTP/HTRESP.html