Introdução API

    API Endpoint

    https://admin.fretebarato.com/{{plataforma}}/{{method}}/json/v1
            

Bem-vindo à documentação da API da Frete Barato.

A API do Frete Barato é utilizada por diversas plataformas de e-commerce. Com esta API viabilizamos a integração junto à Plataformas, Marketplaces, ERPs, Hubs, Transportadoras e empresas do ramo de transportes.

A integração com o Frete Barato é gratuita, não cobramos taxas ou mensalidades pela utilização da nossa API. Agimos dessa forma justamente para facilitar a vida de nossos usuários ao integrarem com nossos serviços, junto aos fluxos de seus sistemas.

Caso você seja um cliente Frete Barato e queira apenas utilizar os nossos serviços dentro do seu e-commerce, verifique primeiro se sua plataforma já possui integração com nosso sistema. Se ainda não possuir, entre em contato conosco para que possamos analisar a viabilidade de uma parceria para integração.

Autenticação API

                
    # Exemplo Curl
    curl 
    -X GET https://admin.fretebarato.com/{{plataforma}}/{{method}}/v1/json 
    -H "Authorization: Bearer xxxxxxxxxxxx" 
    curl \
                
                
    $url = "https://admin.fretebarato.com/{{plataforma}}/{{method}}/v1/json";

    $curl = curl_init($url);
    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

    $headers = array(
    "Authorization: Bearer xxxxxxxxxxxxxxxxxxxxxxxxx",
    );
    curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
                
            

O processo de autenticação é bastante simples

O cliente necessitará apenas de sua URL de autenticação fornecida pela equipe comercial da Frete Barato, contendo o “Customer Token” (token do cliente), como o exemplo abaixo:

https://admin.fretebarato.com/{{plataforma}}/{{method}}/v1/json/{customer_id}

É de suma importância que o campo de callback seja idêntico a URL de callback de retorno da sua aplicação. Caso este campo esteja diferente, nossa API irá retornar Client invalid impedindo a autorização do aplicativo.

Também disponibilizamos um fluxograma que poderá lhe auxiliar a visualizar este processo, assim como servir de base para que você adapte da melhor maneira ao fluxo de seu sistema.

Key Value
Authorization Bearer {{token}}
User-Agent Aplicação (email para contato técnico)

Cotações

                
    # Exemplo Curl
    curl 
    -X GET https://admin.fretebarato.com/lojaintegrada/price/v1/json/{{customer_id}}
    -H "Authorization: Bearer xxxxxxxxxxxx" 
    curl \

    curl 
    -X POST https://admin.fretebarato.com/lojaintegrada/price/v1/json/{{customer_id}} 
    -H "Authorization: Bearer xxxxxxxxxxxx" 
    -H "Content-Type: application/json" 
    -d "{"zipcode":"06652030",
         "amount":125.82,
         "skus":[
                 {"id":149353786,
                  "product_id":21888010,
                  "sku":"OC928237",
                  "price":129.9,
                  "quantity":1,
                  "length":1,
                  "width":1,
                  "height":1,
                  "weight":0.1}]
        }"
                
    
    # Abaixo um exemplo (Payload):
    {
        "zipcode": "83324130",
        "amount": 543.23,
        "skus": [
            {
            "sku": "77214501",
            "price": 21.0382,
            "quantity": 10,
            "length": 8,
            "width": 3,
            "height": 2,
            "weight": 0.035
            },
            {
            "sku": "77214601",
            "price": 24.9374,
            "quantity": 10,
            "length": 9,
            "width": 6,
            "height": 3,
            "weight": 0.055
            }]
    }
                

                
    # Abaixo um exemplo (Response):
    {"quotes": [
        {"name": "Smart2C",
            "service": "Smart2C",
            "price": 42.02,
            "days": 6,
            "quote_id": 5,
            "time_payload": "17.84"
            }, {
            "name": "GFL",
            "service": "GFL",
            "price": 21.16,
            "days": 2,
            "quote_id": 3,
            "time_payload": "17.84"
            }
        ]
    }
                
            

Os fretes podem ser calculados informando uma lista de produtos e seus respectivos parâmetros, fazendo com que sejam montados pacotes de acordo com os limites de cada serviços das transportadoras.

Os dados dos produtos devem conter suas informações unitárias, sendo que as dimensões devem ser enviadas em centímetros (cm) e o peso em quilogramas (kg).

Para solicitar cotação é necessário fazer a chamada do endpoint Authorize e customer_ID (que identifica o cliente solicitante e seu respectivo CEP de origem)

Payload:

Parâmetros

Parâmetro Tipo Obrigatório Observação
zipcode Numérico Sim Deve conter exatamente 8 caracteres numéricos
amount Numérico Sim Pode conter até 2 casas decimais
skus Array Sim quantity, lenght, width, height, weight

Detalhe SKUS (Array)

Parâmetro Tipo Obrigatório Observação
sku String Sim
quantity Numérico Sim Pode conter apenas números naturais
lenght Numérico Sim Pode conter apenas números naturais
width Numérico Sim Pode conter apenas números naturais
height Numérico Sim Pode conter apenas números naturais
weight Numérico Sim Pode conter até 3 casas decimais

Response:

Parâmetros

Parâmetro Tipo Comportamento
name Alfanumérico Retorna o nome da transportadora.
service Alfanumérico Retorna o nome do serviço cadastrado para o cliente solicitante, dentro da transportadora (o cliente pode ter mais de um serviço cadastrado para a mesma transportadora).
price Alfanumérico Retorna o preço do serviço com até duas casas decimais.
days Numérico Retorna o prazo do frete em dias (apenas números naturais)..
quote_id Numérico xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.
time_payload Numérico Retorna o tempo de carregamento dos parâmetros na API. Campo numérico com até duas casas decimais..

Tabela de Erros:

Response Tipo Mensagem
400 bad request
401 unauthorized
403 forbidden
404
405 method not allowed
406 not acceptable

Ocorrências

    Tracking

    https://admin.fretebarato.com/{{plataforma}}/tracking/v1/json/{{customer_id}}

    
    # Abaixo um exemplo (Response):
    {
    "invoice": {
        "nota_fiscal_id": "99999999999999999999999999999999999999999999",
        "texto": "SOLICITACAO EM ROTA",
        "dataOcorrencia": "2024-02-28T07:12:00",
        "ocorrenciaCodigo": "02",
        "dataOcorrenciaPrev": "2024-02-29T00:00:00",
        "dataOcorrenciaEntrega": "2024-02-28T07:12:00",
        "trackCode": "ONT000000000",
        "timeline": [
        {
            "texto": "TRANSFERENCIA DE VOLUMES PARA ENTREGA",
            "data": "2024-02-27T21:37:00",
            "ocorrenciaCodigo": "32"
        }, 
        {
            "texto": "RECEBIMENTO DE TRANSFERENCIA ENTRE UNIDADES",
            "data": "2024-02-28T04:50:00",
            "ocorrenciaCodigo": "17"
        }, 
        {
            "texto": "SOLICITACAO EM ROTA",
            "data": "2024-02-28T07:12:00",
            "ocorrenciaCodigo": "02"
        }],
        "fiscal": {
            "nota_fiscal_id": "99999999999999999999999999999999999999999999",
            "numero": "30822",
            "pedido": "54874",
            "serie": "1",
            "data": "2024-02-26T17:07:27"
        },
        "transporte": {
            "cnpj": "23820639001352"
        },
        "destino": {
            "nome": "Bruno",
            "cpfcnpj": "00000000000",
            "email": "contato@fretebarato.com",
            "address": {
                "cep": "04202010",
                "uf": "sp",
                "cidade": "Sao Paulo"
            }
        },
        "emitente": {
            "cnpj": "31913883000154",
            "razao_social": "Frete Barato",
            "nome_fantasia": "Frete Barato"
        }
    }
}
                
    
            

Payload:

Header

Key Value
Authorization Bearer {{token}}
User-Agent Aplicação (email para contato técnico)

Payload (Número do pedido)

Parâmetro Tipo Obrigatório Observação
cnpj Numérico Sim Deve conter exatamente 14 caracteres numéricos
número do pedido Numérico Sim

Payload (Número Nota Fiscal)

Parâmetro Tipo Obrigatório Observação
cnpj Numérico Sim Deve conter exatamente 14 caracteres numéricos
número nota fiscal Numérico Sim

Payload (Chave Nota Fiscal)

Parâmetro Tipo Obrigatório Observação
nota_fiscal_id (Chave) Numérico Sim Deve conter exatamente 44 caracteres numéricos
cnpj Numérico Não Deve conter exatamente 14 caracteres numéricos