|
Já sou cadastradoA implementação dessa operação deverá permitir a consulta do frete de um ou mais produtos para um CEP específico. Será possível consultar, em tempo real, o preço e prazo de um frete para um CEP específico.
A utilização dessa funcionalidade pelo Lojista somente será permitida após a configuração dos passos abaixo:
1. Configurar o Gateway de acesso através do Portal do Marketplace.
2. Importar a tabela de Frete do Lojista através do Portal do Marketplace.
Configuração do Gateway feita no Portal do Marketplace.
Content-Type: application/json
Obs: A configuração da autenticação deverá ser feita no Portal do Marketplace e será encaminhado no Header da requisição.
Campo |
Tipo |
Obrigatório |
Descrição |
Exemplo |
zipCode |
Numérico (Texto)* |
Sim |
CEP de destino do produto, sem formatação. |
32310370 |
catalogCode |
Alfanumérico(A-Za-z0-9_) |
Sim |
Código do catálogo da loja (Netshoes,Zattini) solicitando a cotação. |
CAT_NETSHOESNOVA |
products |
Coleção |
Sim |
Lista de produtos sendo cotados. |
- |
products.skuCode |
Alfanumérico(A-Za-z0-9_\-) |
Sim |
Código do SKU Seller/Lojista. |
sku-1234-01 |
products.quantity |
Numérico |
Sim |
Quantidade de produtos do SKU sendo cotados. |
1 |
products.weight |
Decimal |
Sim |
Peso, em Quilos, por unidade do SKU sendo cotado. |
0.5 |
products.width |
Decimal |
Sim |
Largura, em centímetros, por unidade do SKU sendo cotado. |
10.0 |
products.height |
Decimal |
Sim |
Altura, em centímetros, por unidade do SKU sendo cotado. |
20.0 |
products.length |
Decimal |
Sim |
Comprimento, em centímetros, por unidade do SKU sendo cotado. |
30.0 |
products.preSale |
Booleano |
Sim |
Informação se o SKU está em pré-venda ou não. |
true, false |
Obs. ¹: Lembrando que um CEP pode iniciar com o dígito zero ("0"). Para maior definição da estrutura do CEP consulte Estrutura do CEP
{ "zipCode": "01512651", "catalogCode": "CAT_NETSHOESNOVA", "id": "6dccffe9-52e7-456c-b814-b72ae3e49cc1", "products": [ { "skuCode": "sku-1234-01", "quantity": 1, "weight": 0.5, "width": 10.0, "height": 10.0, "length": 25.0, "preSale": true } ] }
Código de Status da resposta deverá ser 200 (OK) sempre que for bem-sucedido.
Content-Type: application/json
Atributo |
Tipo |
Obrigatório |
Descrição |
Exemplo |
id |
Alfanumérico(A-Za-z0-9\-) |
Não |
ID único da cotação gerado no Shipping para realização de rastreamento. |
6dccffe9-52e7-456c-b814-b72ae3e49cc1 |
zipCode |
Numérico (Texto)¹ |
Sim |
CEP de destino do produto, sem formatação. |
32310370 |
shippingQuotes |
Coleção |
Sim |
Lista de cotações retornadas (Caso algum SKU esteja fora da área de cobertura, encaminhar a coleção vazia) |
- |
shippingQuotes.skuCode |
Alfanumérico(A-Za-z0-9_\-) |
Sim |
Código do SKU Seller ou SKU do Lojista. |
sku-1234-01 |
shippingQuotes.deliveryOptions |
Coleção |
Sim |
Lista com as opções de entrega disponíveis. |
- |
shippingQuotes.deliveryOptions.deliveryMinHH |
Numérico |
Sim |
Previsão de tempo, em horas, minimo para entrega do SKU. |
10 |
shippingQuotes.deliveryOptions.deliveryMaxHH |
Numérico |
Sim |
Previsão de tempo, em horas, máximo para entrega do SKU. |
100 |
shippingQuotes.deliveryOptions.freightType |
Enumeração |
Sim |
Tipo de entregra para o SKU. |
Expressa ou Normal |
shippingQuotes.deliveryOptions.priceInCents |
Numérico |
Sim |
Preço da cotação em centavos do frete para o SKU. |
1000 |
shippingQuotes.deliveryOptions.carrierId |
Numérico |
Sim |
ID da Transportadora |
20 |
shippingQuotes.deliveryOptions.carrierName |
Alfanumérico(A-Za-z0-9\-) |
Sim |
Nome da Transportadora |
Jamef |
shippingQuotes.deliveryOptions.originWareHouseId |
Numérico |
Sim |
ID do Centro de Distribuição |
1 |
Obs. ¹: Lembrando que um CEP pode iniciar com o dígito zero ("0"). Para maior definição da estrutura do CEP consulte Estrutura do CEP
{ "id" : "6dccffe9-52e7-456c-b814-b72ae3e49cc1", "zipCode" : "30512651", "shippingQuotes" : [ { "skuCode" : "127-0004-064-01", "deliveryOptions" : [ { "deliveryMinHH" : 360, "deliveryMaxHH" : 384, "freightType" : "NORMAL", "priceInCents" : 1524, "carrierId" : 1, "carrierName" : "Correios", "originWareHouseId" : 1 }, { "deliveryMinHH" : 120, "deliveryMaxHH" : 150, "freightType" : "EXPRESSA", "priceInCents" : 3575, "carrierId" : 2, "carrierName" : "Jamef", "originWareHouseId" : 1 } ] } ] }
É muito importante que sejam seguidas fielmente as nomenclaturas/documentação aqui disponibilizadas.
Os seguintes requisitos funcionais precisam ser respeitados:
- Deverá ser gerada uma cotação de frete para cada tipo de entrega, objeto de resposta: deliveryOptions.
- Deverá ser retornado somente os tipos de entrega que são comuns a todos os SKUs da cotação.
- Deverá ser retornado somente os tipos de entregas conhecidos pela plataforma de e-commerce: Expressa, Normal ou Super expressa.
- Caso algum SKU esteja fora da área de cobertura, encaminhar a coleção de ShippingQuotes vazia.
As seguintes regras serão executadas no modo de contingência:
- Em caso de erro na resposta ao Consultar o Frete (diferente de 200) será utilizado o modo de contingência.
- Em caso do conteúdo da resposta inválida será utilizado o modo de contingência.
Os seguintes requisitos não funcionais precisam ser respeitados:
- Tempo de resposta menor que 400 ms.
- Disponibilidade de 99,9%, 24 horas, sete dias por semana.
- Suportar a volumetria de 500 requisições por minuto ou 9 por segundo.
OBS.: O calculo é realizado baseando em dias uteis.
O Lojista deve configurar o Gateway através do Portal do Marketplace, abaixo os tipos de autenticação suportados:
Tipo |
Atributo |
Obrigatório |
Descrição |
Exemplo |
Endereço do Endpoint (URL) |
- |
Sim |
URL da api do Lojista que será consumida ao consultar frete. |
https://lojista.com/api/v1/freight |
Basic Authentication¹ |
- |
Não |
Autenticação que utiliza os atributos usuário e senha. O seguinte parâmetro será encaminhado no cabeçalho da requisição: Authorization. |
|
username |
Sim |
Usuário da requisição. |
admin |
|
password |
Sim |
Senha da requisição. |
****** |
|
Token Authentication¹ |
- |
Não |
Autenticação que utiliza os atributos cliente id e token de acesso. Os seguintes parâmetros serão encaminhados no cabeçalho da requisição: APP_KEY e APP_TOKEN. |
|
App Token |
Sim |
Token da aplicação. |
eyJ0eXAiOiJKV1QiLA0KICJhbGciO |
|
App Key |
Sim |
Chave da aplicação. |
cGxlLmNvbS9pc19yb290Ijp0cnVlfQ |
|
Authorization Header¹ |
- |
Não |
Autenticação pelo cabeçalho da requisição. O seguinte parâmetro será encaminhado no cabeçalho da requisição: Authorization. |
|
Header |
Sim |
Chave de autorização. |
BASIC bmV0c2hvZXM6cm9ja3M= |
Obs. ¹: Pelo menos um tipo de autenticação deve se selecionado.
Abaixo um exemplo (wireframe) da configuração no portal:
Endereço do Endpoint (URL): [ ] (*) Basic Autentication: - Username: [ ] - Password: [ ] ( ) Token Authentication: - App Token: [ ] - App Key: [ ] ( ) Authorization Header - Header: [ ]