Ir para conteúdo principal
Todas as coleçõesIntegrações
Simulando os fretes através da API
Simulando os fretes através da API

Como integrar os sistemas existentes para efetuar o cálculo de frete on-line

Ricardo Ardito avatar
Escrito por Ricardo Ardito
Atualizado há mais de uma semana

Existem situações em que é necessário calcular uma estimativa do valor do frete e/ou do prazo de entrega de produtos a partir de outros sistemas.

Por exemplo, um sistema de loja virtual (e-commerce) pode precisar do valor do frete para exibir para o cliente no momento do pedido. Ou um vendedor utilizando um sistema de vendas pode precisar visualizar os valores de frete / transportadoras disponíveis ao registrar o pedido do cliente.

Nestas situações, a solução ideal é que esses sistemas externos acessem diretamente o Gestor Logístico através da API do sistema. Através dela, esses sistemas podem enviar os dados dos produtos e a origem/destino do frete, e recebem de volta os valores calculados pelas tabelas de cada transportadora que atende à região de destino informada, bem como o prazo estimado para a entrega.

Observe que o cálculo é feito de acordo com as tabelas / contratos de transportadoras cadastradas no sistema, e apenas para aquelas que "atendem" os parâmetros informados. Por exemplo, as transportadoras que não transportam para o destino informado não serão listadas nos resultados.

Obs: Para algumas transportadoras, como os Correios e a Braspress, o sistema também tem a opção de realizar o cálculo através de integração on-line com a transportadora, ao invés de utilizar a tabela cadastrada no sistema. Para configurar o sistema dessa forma, entre em contato com nosso time de suporte.

Informações técnicas

O serviço de "simulação" de fretes pode ser acessado através da requisição abaixo

POST /simulacoes/avulsa

Passando os seguintes parâmetros no corpo da requisição

{
"CompraOuVenda": 1,
"LocalOrigem": {
"Tipo": 6,
"Cep": <CEP de origem>,
"Localidade": {
"nome": "<nome da cidade de origem>",
"uf": { "sigla": "<sigla do estado de origem>" }
}
},
"LocalDestino": {
"Tipo": 6,
"Cep": <CEP do destino>,
"Localidade": {
"nome": "<nome da cidade de destino>",
"uf": { "sigla": "<sigla do estado de destino>" }
}
},
"QtdVolumes": <quantidade total de volumes a serem transportados>,
"Volume": <volume dos produtos, em metros cúbicos>,
"Peso": <peso total dos produtos, em kgs>,
"ValorMercadoria": <valor total dos produtos>,
"RetornarApenasNPrimeiras": <Quantidade de cotações (transportadoras) a retornar>,
"destinatario": {
"cpfCnpj": {
"tipoPessoa": <Tipo do destinatário: 1=Pessoa física, 2=Pessoa Jurídica>,
"numero": <CPF ou CNPJ do destinatário>
}
}
}

O resultado dessa requisição terá o seguinte formato:

{
"cotacaoId": <ID da simulação>,
"qtdResultados": <Quantidade de resultados retornados>,
"cenarios": [
{
"cenarioSimulacaoId": 1,
"compraOuVenda": 1,
"transportadora": {...<Dados da transportadora>...},
"modal": {...<Dados do modal de transporte (aéreo, rodoviário, etc>...},
"operacao": {...<Dados da operação (lotação, fracionada, expressa, etc>...},
"valor": <Valor total do frete estimado por esta transportadora>,
"percValorMercadorias": <Percentual do valor do frete sobre o valor dos produtos>,
"avaliacao": <Não utilizado no momento>,
"descricaoPrazo": "<Prazo estimado para entrega>",
"tempoParaCalculo": <Tempo utilizado para o cálculo, em milissegundos>,
"ranking": <Não utilizado no momento>
},
{
... <Demais resultados, segundo a mesma estrutura acima> ...
}
]
}
Isto respondeu à sua pergunta?