Como homologar serviço de Frete

É possível utilizar a API de Frete para integrar o Marketplace B2W e informar a cotação de preço e prazo de frete para os produtos integrados. Assim podendo criar a própria politica de logística.

Requisição (Request)

Será feita uma requisição POST na URL configurada para o Parceiro, onde será enviado o seguinte conteúdo, veja o exemplo:

{
"destinationZip": 22041001,
"volumes": [
{
"sku": "SKU_PARCEIRO_1",
"quantity": 2,
"price": 15.20,
"height": 0.55,
"length": 0.63,
"width": 0.21,
"weight": 1.00
},
{
"sku": "SKU_PARCEIRO_2",
"quantity": 1,
"price": 53.99,
"height": 0.3,
"length": 0.2,
"width": 0.1,
"weight": 1.75
}
]
}

Campo JSON

Tipo de Dado

Descrição

destinationZip

integer

CEP de destino, será passado como um inteiro. Por exemplo: 5010010 (para o CEP “05010-010″)

volumes

array

Lista de itens

sku

string

SKU do Parceiro

quantity

integer

Número de unidades

price

double

Preço de venda do Produto

height

double

Altura em Metros. Exemplo: será enviado como “0.2”

width

double

Largura em Metros. Exemplo: será enviado como “0.2”

length

double

Comprimento em Metros. Exemplo: será enviado como “0.2”

weight

double

Peso em Quilos (Kg). Exemplo: 0.35 quilos será enviado como “0.35”

Resposta (Response)

A API espera como resposta o json abaixo contendo as seguintes informações, veja o exemplo:

O retorno deve ser um JSON válido, segundo o exemplo abaixo, e com o Header Content-Type com o valor de application/json

{
"shippingQuotes": [
{
"shippingCost": 13,
"deliveryTime": {
"total": 10,
"transit": 8,
"expedition": 2
},
"shippingMethodId": "8-Correios",
"shippingMethodName": "Sedex",
"shippingMethodDisplayName": "Sedex"
}
]
}

Campo JSON

Tipo de Dado

Descrição

shippingQuotes

array

Lista com resultados do cálculo de frete. Só será considerada a PRIMEIRA posição

shippingCost

double

Valor do frete

Total

integer

Tempo total da entrega em dias (soma de transit e expedition)

transit

integer

tempo de transporte da mercadoria em dias

expedition

integer

tempo para expedir o produto (informar o prazo CD + prazo Cross-docking quando existir)

shippingMethodId

string

Id da transportadora / tipo de frete selecionado.Campo alfanumérico

shippingMethodName

string

Nome da transportadora / tipo de frete selecionado

shippingMethodDisplayName

string

Nome do frete selecionado exibido para o cliente.

Regras de Implementação

Para garantir uma boa experiência para os compradores, o serviço de frete do Parceiro deve responder em até 800ms. Caso o serviço de frete demore mais do que isso para responder será utilizado o cálculo via planilha de contingencia.

A B2W sempre irá apresentar a opção mais barata e entre as opções mais baratas a mais rápida, seguindo as mesmas regras do buybox.

Exceções

Citamos abaixo alguns exemplos de aplicação do serviço:

  • Caso não haja atendimento para um determinado range de CEP, basta retornar o erro HTTP 404 (NOT FOUND).

{
"message": "Região de entrega não atendida".
}

Como regra de boas práticas, poderá informar uma mensagem padrão seguindo o exemplo acima.

Caso o tempo de resposta ultrapasse o limite de 800 ms, o retorno será de 499 (Timeout na integração), ou seja, a tabela de contingência será acionada. Neste caso é essencial que a loja tenha a tabela de contingência cadastrada no portal da B2W, para que o frete seja calculado.

Antes do serviço ser utilizado, haverá uma homologação a ser realizada pela nossa equipe de Tecnologia que irá verificar se o mesmo atende aos requisitos mínimos exigidos para ser disponibilizado na B2W. Para isso, basta enviar um email para api@skyhub.com.br.