Pular para o conteúdo principal

Integração com API de Frete

Disponibilizamos para os sellers, que a consulta de frete seja feita através de gateways de frete. Possibilitando de parceiros logisticos desenvolvam a integração com o ANYMARKET

Quando habilitada essa implementação, o ANYMARKET passará a realizar chamadas para a URL do parceiro de frete, e caso o a API de frete responder em um tempo hábil (até 250ms) o ANYMARKET irá enviar esses dados para o Marketplace.

O que o integrador precisa desenvolver?

Fluxo: Consulta de Frete

Quando a sua integração está habilitada com ANYMARKET, e há um consulta de frete no Marketplace, iremos realizar uma chamada POST para o endpoint informado nos parâmetros do sistema, enviando como corpo da requisição um JSON no seguinte formato:

[POST] http://endereco.frete.com.br
{
"zipCode" : "87100000",
"marketplace": "Mercado Livre",
"products" : [
{
"sku" : "A1512",
"height" : 10,
"width" : 20,
"weight" : 20,
"length" : 20,
"amount" : 1,
"value" : 149.90,
"originZipCode" : null
},
{
"sku" : "B1510",
"height" : 20,
"width" : 35,
"weight" : 35,
"length" : 10,
"amount" : 2,
"value" : 299.90,
"originZipCode" : "87100000",
"metadata": {
"idInMarketplace" : "MLB1039413643",
"official_store_id" : "224"
}
}
]
}

Os tipos de frete aceitos pelo ANYMARKET são NORMAL e EXPRESSA. Como retorno, o ANYMARKET espera um JSON no seguinte formato:

Exemplo de resposta
{
"items" : [
{
"serviceName" : "Transporte Terrestre",
"carrierName" : "Seller Transporte",
"deliveryTime" : 12,
"price" : 23.99,
"freightType" : "NORMAL"
},
{
"serviceName" : "SEDEX",
"carrierName" : "Seller Transporte",
"deliveryTime" : 6,
"price" : 35.90,
"freightType" : "EXPRESSA"
}
]
}

Deve ser retornado apenas um registro para cada combinação Transportadora x Tipo de Frete. Ou seja, não deve ser retornado dois registros para a mesma transportadora com o tipo de frete NORMAL, por exemplo.

A imagem abaixo apresenta como é realizado o fluxo da consulta de frete, desde a chama do marketplace até o retorno do resultado.

apifrete.png

aviso

Atenção!

Caso seja retornado um array vazio no json de retorno, o ANYMARKET verificará se existe algum valor de frete configurado dentro do próprio sistema, caso haja, retornaremos para o marketplace o valor configurado no sistema, caso contrário, será retornado que para aquela determinada cotação feita, não existe frete atendido para realizar a entrega.

Fluxo: Criação de Coleta

O ANYMARKET possuí a funcionalidade de notificação de eventos: Quando um evento ocorre, por exemplo o status do pedido for modificado, nós iremos notificar sua aplicação.

Para receber as notificações do ANYMARKET, é necessário que sua aplicação aceite requisições POST no formato JSON. As notificações serão enviadas no seguinte formato:

{
"type" : "ORDER",
"content" : {
"id":"10",
"oi":"99999."
}
}

Após notificado, é necessário que sua aplicação realize um GET do pedido no ANYMARKET para absorver todas as informações da venda.

Como habilitar a integração?

Para habilitar a consulta de frete em API, o seller deve acessar a tela de parâmetros do ANYMARKET, selecionar a opção de cálculo de frete por API e informar a URL da API conforme ilustrado na imagem a seguir.

parametro frete.png

Para habilitar a notificação de pedidos, o seller deve acessar a tela de parâmetros do ANYMARKET, ir para o menu "Callbacks" e informar a Callback do parceiro logístico, confirme ilustrado abaixo:

55.png