Ir para o conteúdo

Cotações de Frete v3

POST https://sp.freterapido.com/api/v3/quote/simulate

Método que permite realizar cotações de frete com o motor de cotação v3.

Através dele é possível realizar cotações de múltiplas origens, informando os vários expedidores de uma única vez.

Basta enviar os dados abaixo em uma requisição para a URL do método.

Envio:

Parâmetros do corpo da requisição:

Nome
Descrição Formato / Exemplo Obrigatório
shipper Objeto com dados da conta do remetente Objeto em json *
 registered_number CNPJ da conta registrada na Frete Rápido String Numérica de 14 caracteres sem formatação *
 token Token de integração String de 32 caracteres *
 platform_code Código da plataforma integrada. Solicite o código da sua plataforma à Frete Rápido. String *
recipient Objeto com alguns dados do destinatário Objeto em json *
 type Tipo de destinatário Numérico (inteiro)
0 = Pessoa Física
1 = Pessoa Jurídica
*
 registered_number Registro federal do destinatário (CPF ou CNPJ) String Numérica de 11 ou 14 caracteres sem formatação Opcional
 state_inscription Registro estadual do destinatário (Inscrição Estadual) String Opcional
 country Para operações no Brasil, informar apenas BRA String *
 zipcode CEP do destinatário Inteiro *
dispatchers Array de Objetos dos pontos de expedição Array de Objeto em json *
 registered_number CNPJ do expedidor, caso não tenha expedidor informar o mesmo CNPJ utilizado em shipper String Numérica de 14 caracteres sem formatação *
 zipcode CEP de origem do expedidor ¹ Inteiro *
 total_price Preço total do pedido. Se informado, substituirá proporcionalmente o valor informado nos volumes. ² Float Opcional
 volumes Dados dos volumes do ponto de expedição Array de Objetos *
  amount Quantidade do mesmo volume/item Inteiro *
  category Tipo do volume/Categoria do produto (vide tabela de tipos de volumes) String *
  sku SKU do volume/produto informado String Opcional
  tag Tag do volume/produto informado String Opcional
  description Descrição do produto/item String Opcional
  height Altura em Metros do volume/produto unitário Float *
  width Largura em Metros do volume/produto unitário Float *
  length Comprimento em Metros do volume/produto unitário Float *
  unitary_price Valor unitário do volume/item informado Float *
  unitary_weight Peso unitário (em Kg) do volume/item Float *
  consolidate Consolidar volume? Default: false Booleano Opcional
  overlaid Sobrepor volume sobre outro? Default: false Booleano Opcional
  rotate Rotacionar/Tombar volume? Default: false Booleano Opcional
  amount_volumes Quantidade de volumes do produto ao qual este volume pertence.
Ex.: Este volume pertence a um jogo de cama que é composto por quatro volumes no mesmo SKU, então o campo deve ser preenchido com 4. Usaremos esta informação para agrupar os volumes de um mesmo produto.
Inteiro Opcional
channel Canal de venda String Opcional
filter Filtro de resultados Inteiro
1 = Retornar somente a oferta com menor preço
2 = Retornar somente a oferta com menor prazo de entrega
3 = Retornar somente a oferta com menor preço e a de menor prazo (caso uma oferta possua menor preço e prazo, apenas ela retornará)
Opcional
limit Limite de resultados Inteiro Opcional
identification Identificador externo da cotação na plataforma String Opcional
reverse Calcular frete reverso Booleano Opcional
simulation_type Array de tipo da simulação/cotação desejada.
É opcional o tipo que desejar. Se informado vários tipos ao mesmo tempo, poderá impactar na performance de resposta das cotações.
Inteiro
0 = Fracionada
1 = Lotação
*
returns Retornos que desejar obter Objeto em json Opcional
 composition Retornar a composição de cálculo do frete Booleano Opcional
 volumes Retornar os volumes utilizados na cotação (consolidados ou não) Booleano Opcional
 applied_rules Retornar regras de fretes aplicads Booleano Opcional

*Obrigatório

¹ Expedidor é utilizado quando a transportadora deve coletar a mercadoria em outro local diferente do local do remetente, muito utilizado por empresas onde o remetente é de outro estado, mas a mercadoria deve ser coletada no estado onde se encontra a transportadora. Exemplo: Uma empresa remetente de RS, transportadora de SP, mercadoria deve ser coletada na filial da empresa que está em SP para ser entregue em BA. Nesse caso, o expedidor deve ser a filial de SP para que o conhecimento de transporte saia com origem SP, destino BA, ao invés de RS como origem.

² Utilize o total_price com cuidado e somente caso a sua integração não consiga informar o preço unitário dos volumes (unitary_price).

Exemplo de envio:

    {
      "shipper": {
        "registered_number": "",
        "token": "",
        "platform_code": ""
      },
      "recipient": {
        "type": 0,
        "registered_number": "",
        "state_inscription": "",
        "country": "",
        "zipcode": 0
      },
      "dispatchers": [
        {
          "registered_number": "",
          "zipcode": 0,
          "total_price": 0.0,
          "volumes": [
            {
              "amount": 0,
              "amount_volumes": 0,
              "category": "",
              "sku": "",
              "tag": "",
              "description": "",
              "height": 0.0,
              "width": 0.0,
              "length": 0.0,
              "unitary_price": 0.0,
              "unitary_weight": 0.0,
              "consolidate": false,
              "overlaid": false,
              "rotate": false
            }
          ]
        }
      ],
      "channel": "",
      "filter": 0,
      "limit": 0,
      "identification": "",
      "reverse": false,
      "simulation_type": [
        0
      ],
      "returns": {
        "composition": false,
        "volumes": false,
        "applied_rules": false
      }
    }

Resposta:

  • Se a requisição obtiver sucesso, será retornado o código de resposta HTTP 200 com as ofertas que atendem a rota, para cada Expedidor (dispatcher) informado. Em casos excepcionais pode ser que tenhamos uma resposta HTTP 200 mas sem as ofertas, o que significará que não foram encontradas ofertas para a rota informada.
Nome
Descrição Formato / Exemplo Retornado
dispatchers Array de Objetos em json Objeto em json Sempre
 id Identificador da cotação/simulação String Sempre
 request_id Identificador da requisição String Sempre
 registered_number_shipper CNPJ da conta do remetente String numérica com 14 caracteres e sem formatação Sempre
 registered_number_dispatcher CNPJ do ponto de expedição String numérica com 14 caracteres e sem formatação Sempre
 zipcode_origin CEP do ponto de expedição (origem) Inteiro Sempre
 offers Ofertas de cotações para o ponto de expedição informado Array de objetos em json Sempre que houver ofertas
  offer Posição da oferta Inteiro Sempre
  simulation_type Tipo da simulação Inteiro Sempre
  carrier Metadados da transportadora Objeto em json Sempre
   reference Identificador único da transportadora Inteiro Sempre
   name Nome String Sempre
   registered_number CNPJ String Sempre
   state_inscription Inscrição Estadual String Sempre
   logo URL do logotipo String Sempre
  service Nome do serviço String Sempre
  service_code Código do serviço String Eventualmente
  service_description Descrição do serviço String Eventualmente
  delivery_time Tempo de entrega é o somatório do (Tempo de entrega original) + o(s) dia(s) que podem ser acrescentados a partir da regra de frete criada. Objeto em json Sempre
   days Tempo de entrega em dias Inteiro Eventualmente
   hours Tempo de entrega em horas Inteiro Eventualmente
   minutes Tempo de entrega em minutos Inteiro Eventualmente
   estimated_date Data prevista de entrega pela transportadora, desconsiderando finais de semana, feriados nacionais do BRA e feriados calculados com a Páscoa.¹ Date ("YYYY-MM-DD") Sempre
  original_delivery_time Tempo de entrega sem a aplicação de regras de frete, fornecido via tabela ou na API da transportadora Objeto em json Sempre
   days Tempo de entrega original em dias Inteiro Eventualmente
   hours Tempo de entrega original em horas Inteiro Eventualmente
   minutes Tempo de entrega original em minutos Inteiro Eventualmente
   estimated_date Data prevista de entrega original pela transportadora, desconsiderando finais de semana, feriados nacionais do BRA e feriados calculados com a Páscoa.¹ Date ("YYYY-MM-DD") Sempre
  identifier Campo para identificação da oferta do lado da transportadora, somente cotações por integração String Eventualmente
  delivery_note Observações referente a entrega String Eventualmente
  home_delivery Informa se a oferta possui entrega domiciliar Boolean Eventualmente
  expiration Prazo de expiração da tabela calculada DateTime Sempre
  cost_price Preço de custo da cotação Float Sempre
  final_price Preço final da cotação (com regra de frete) Float Sempre
  weights Pesos utilizados na cotação Objeto em json Sempre
   real Peso real Float Sempre
   cubed Peso cubado Float Eventualmente
   used Peso usado Float Sempre
  composition Valores da composição do frete Objeto em json Sempre que solicitado
   freight_weight Valor de Frete Peso encontrado Float Eventualmente
   freight_weight_excess Valor de Frete Excedente encontrado Float Eventualmente
   freight_weight_volume Valor de Frete Peso Volume encontrado Float Eventualmente
   freight_volume Valor de Frete por Volume encontrado Float Eventualmente
   freight_minimum Valor de Frete Mínimo encontrado Float Eventualmente
   freight_invoice Valor de Frete por NF encontrado Float Eventualmente
   sub_total1 Subtotal 1 do frete Objeto em json Eventualmente
   sub_total2 Subtotal 2 do frete Objeto em json Eventualmente
   sub_total3 Subtotal 3 do frete Objeto em json Eventualmente
 volumes Volumes/itens do ponto de expedição utilizados na cotação Array de Objetos Eventualmente
  amount Quantidade do mesmo volume/item Inteiro Sempre
  category Tipo do volume/Categoria do produto (vide tabela de tipos de volumes) String Sempre
  sku SKU do volume/produto informado String Se informado
  tag Tag do volume/produto informado String Se informado
  description Descrição do produto/volume informado String Se informado
  height Altura em Metros do volume/produto unitário Float Sempre
  width Largura em Metros do volume/produto unitário Float Sempre
  length Comprimento em Metros do volume/produto unitário Float Sempre
  unitary_price Valor unitário do volume/item informado Float Sempre
  unitary_weight Peso unitário (em Kg) do volume/item Float Sempre
  items Itens consolidados (quando consolidate = true) Array de Objetos Eventualmente
 applied_rules Regras de fretes aplicadas Array de Strings Eventualmente

¹ A data estimada de entrega (estimade_date) é uma previsão aproximada da entrega pela transportadora desconsiderando finais de semana ou feriados nacionais. Destacamos que o prazo efetivo para entrega é considerado por cada transportadora a partir da coleta das mercadorias. Para cálculo da data estimada de entrega não são considerados feriados municipais ou religiosos de cada região.

Observação: Após a cotação é possível gerar uma Solicitação de Coleta do frete calculado. Basta utilizar o método de Contratação.

Exemplo de resposta:

    {
      "dispatchers": [
        {
          "id": "",
          "request_id": "",
          "registered_number_shipper": "",
          "registered_number_dispatcher": "",
          "zipcode_origin": 0,
          "offers": [
            {
              "offer": 0,
              "simulation_type": 0,
              "carrier": {
                "reference": 0,
                "name": "",
                "registered_number": "",
                "state_inscription": "",
                "logo": ""
              },
              "service": "",
              "service_code": "",
              "service_description": "",
              "delivery_time": {
                "days": 0,
                "hours": 0,
                "minutes": 0,
                "estimated_date": ""
              },
              "expiration": "",
              "cost_price": 0.0,
              "final_price": 0.0,
              "weights": {
                "real": 0.0,
                "cubed": 0.0,
                "used": 0.0
              },
              "composition": {
                "freight_weight": 0.0,
                "freight_weight_excess": 0.0,
                "freight_weight_volume": 0.0,
                "freight_volume": 0.0,
                "freight_minimum": 0.0,
                "freight_invoice": 0.0,
                "sub_total1": {
                  "daily": 0,
                    "collect": 0,
                    "dispatch": 0,
                    "delivery": 0,
                    "ferry": 0,
                    "suframa": 0,
                    "tas": 0,
                    "sec_cat": 0,
                    "dat": 0,
                    "ad_valorem": 0,
                    "ademe": 0,
                    "gris": 0,
                    "emex": 0,
                    "interior": 0,
                    "capatazia": 0,
                    "river": 0,
                    "river_insurance": 0,
                    "toll": 0,
                    "other": 0,
                    "other_per_product": 0
                },
                "sub_total2": {
                  "trt": 0,
                  "tda": 0,
                  "tde": 0,
                  "scheduling": 0
                },
                "sub_total3": {
                  "icms": 0
                }
              },
              "original_delivery_time": {
                "days": 0,
                "hours": 0,
                "minutes": 0,
                "estimated_date": ""
              },
              "identifier": "",
              "delivery_note": "",
              "home_delivery":false
            }
          ],
          "volumes": [
            {
              "category": "",
              "sku": "",
              "tag": "",
              "description": "",
              "amount": 0,
              "width": 0.0,
              "height": 0.0,
              "length": 0.0,
              "unitary_weight": 0.0,
              "unitary_price": 0.0,
              "amount_volumes": 0.0,
              "consolidate": false,
              "overlaid": false,
              "rotate": false,
              "items": []
            }
          ]
        }
      ]
    }

Erros:

Voltar ao topo