Como Homologar
Saiba como homologar sua API de frete para utilização com o marketplace B2W.
É 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.
A baixo demonstramos todos os passos para desenvolver o serviço de frete. Uma vez que finalizarem o desenvolvimento, devem entrar em contato com a Skyhub junto com a URL de frete, para que possamos efetuar um teste de carga.

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:
1
{
2
"destinationZip": 22041001,
3
"volumes": [
4
{
5
"sku": "SKU_PARCEIRO_1",
6
"quantity": 2,
7
"price": 15.20,
8
"height": 0.55,
9
"length": 0.63,
10
"width": 0.21,
11
"weight": 1.00
12
},
13
{
14
"sku": "SKU_PARCEIRO_2",
15
"quantity": 1,
16
"price": 53.99,
17
"height": 0.3,
18
"length": 0.2,
19
"width": 0.1,
20
"weight": 1.75
21
}
22
]
23
}
Copied!
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
1
{
2
"shippingQuotes": [
3
{
4
"shippingCost": 1020.0,
5
"deliveryTime": {
6
"total": 10,
7
"transit": 8,
8
"expedition": 2
9
},
10
"shippingMethodId": "8-Correios",
11
"shippingMethodName": "Sedex",
12
"shippingMethodDisplayName": "Sedex"
13
}
14
]
15
}
Copied!
Todos os campos do response deve ser exatamente iguais. Caso uma letra que esteja no body em caixa baixa e vocês enviem em caixa alta, a request retornará erro.
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

Importante ressaltar que o servidor da B2W se localiza na Virginia
Para garantir uma boa experiência para os compradores, o serviço de frete do Parceiro deve responder em até 500ms. 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).
1
{
2
"message": "Região de entrega não atendida".
3
}
Copied!
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 500 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.
Last modified 10mo ago