Documentação para Integração da Sisfrete

API - Pedidos | Produtos | Embalamento | Rastreios

Acesse o link e confira a documentação completa: https://api3.sisfrete.com.br/

API - Cotação

1.Endereço da API Sisfrete (End Point)

A chamada para API Sisfrete é feita através do seguinte endereço web:
2. Token

- O token será enviado no header da requisição.

Header : { token : xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx }

- Se o token estiver errado mostrará uma mensagem de falha e não será possível realizar a cotação solicitada.


3.Observação dos campos

- Analisar as informações que vão receber os valores conforme os campos que encontram no item 4 (Estrutura do Json).

- Verificar se os campos estão corretos, pois caso esteja errado, o sistema não permitirá salvar as informações que contém o erro.

Campo
Tipo
Orientação
Obrigatório
DestinationstringContém o CEP do comprador e onde será entregue os itens, e pode ser enviado em qualquer formatação desde que respeite os 8 dígitos e seja um CEP válidoSim
ItensarrayÉ a lista onde registra todos os itens que estão sendo comprados
Sim
seller_idstringIdentificador da conta
Não
Canal_vendasstringIdentificador do canal que está cotando.(nome da plataforna ou Mktplace que enviou a cotação)
Não
store_idstringÉ a identificação da loja. Essa informação só́ está disponível para aqueles que possuem mais de uma loja embaixo de uma mesma conta
Não
skustringEsse campo é a identificação do produto a ser comprado
Sim
quantityintÉ a quantidade a ser comprada de um mesmo item
Sim
originstringÉ o CEP de cadastro do lojista. Pode ser enviado em qualquer formatação desde que respeite os 8 dígitos
Sim
pricefloatÉ o preço unitário do produto multiplicado pela quantidade selecionada pelo comprador, no momento de realizar a cotação
Sim
dimensionsobjectÉ a relação de dimensões de um produto
Sim
lengthfloatÉ o comprimento do produto (em centímetros)
Sim
widthfloatÉ a altura do produto (em centímetros)
Sim
heightfloatÉ a largura do produto (em centímetros)
Sim
weightfloatÉ o peso do produto (em quilogramas).
Sim

4.Estrutura do Json de Request

Segue a estrutura do json com os campos necessários para registrar as informações no banco de dados:

{
"destination": "13295000",
"items": [
{
"seller_id": "89540000",
"sku": "prod-1",
"quantity": 1,
"origin":" 02611-000",
"price": 316,
"dimensions": {
"length": 1,
"height": 1,
"width": 1,
"weight": 1
}
} ,
{
"seller_id": "89540000",
"sku": " prod-2",
"quantity": 1,
"origin":" 02611-000",
"price": 316,
"dimensions": {
"length": 1,
"height": 1,
"width": 1,
"weight": 1
}
}

]
}


5.Estrutura de json de resposta


A resposta​ deve retornar as cotações para os itens comprados, separados por “pacotes”. Devem existir no máximo 2 (duas) cotações por pacote, tendo como ​caption​​ os nomes Normal​​ ou ​Expresso​​ e todos os valores da resposta são obrigatórios​​.



  • packages (array)​​: É a lista de pacotes criados pelo lojista.
  • items (array)​​: É a lista de itens dentro de um mesmo pacote.
- sku (string)​​: É a identificação do item a ser comprado.
- seller_id (string)​​: É a identificação da conta que está vendendo o produto. Geralmente é uma cópia de informação já́ passada no request.
- store_id (string)​​: opcional. É a identificação da loja que está vendendo o produto. Geralmente é uma cópia de informação já́ passada no request.
- quantity (int)​​: É a quantidade do produto que será́ enviado no pacote. Pode acontecer por ​questões​​ de disponibilidade em estoque que uma parcela do produto seja enviada a partir de um CD e a outra parte de outro CD (portanto dois “pacotes” distintos).
- stock (int)​​: É a disponibilidade do produto em estoque por CD. No caso de indisponibilidade dessa informação deve-se retornar o valor -1.
- error_code (int)​​: É o código que irá identificar o tipo de erro em relação ao produto.
    • Error_code: -1: Erro inesperado (utilizar somente em casos muito específicos).
    • Error_code: 0: Sem Erro.
    • Error_code: 1: Quantidade não disponível em estoque.
    • Error_code: 2: CEP de destino inválido
    • Error_code: 3: Produto não disponível para o CEP de destino.
    • Error_code: 4: Produto escolhido não existe.


  • quotations (array)​​: É a lista de cotação de frete para um pacote.
- cost (float)​​: É o custo real do ​frete. ​​ No caso de indisponibilidade dessa informação deve-se retornar o mesmo valor de ​price​​.
- price (float)​​: É o preço de ​frete​​ que será apresentado para o comprador. Esta informação se difere de ​cost​​ pois há a possibilidade de o frete ser subsidiado parcial ou completamente (frete grátis).
- handling_time (int)​​: É o tempo, em dias úteis, que será́ gasto para separação e empacotamento do produto. Abrange todos os processos anteriores ao envio efetivo do pacote. No caso de indisponibilidade dessa informação deve-se retornar o valor 0.
- shipping_time (int)​​: É o tempo, em dias úteis, de trânsito do pacote (da entrada no caminhão até a entrega para o comprador).
- promise (int)​​: É a soma dos valores de ​handling_time​​ e shipping_time​
- caption (string)​​: É o nome dado à cotação. As opções válidas são Normal ​​ou ​Expresso​​.
- service_id (int): É o código que identifica um serviço/transportadora dentro do contexto do seller. Valores válidos vão de 0 à 99. Esse código é única e exclusivamente de responsabilidade do seller/integrador

- Segue o exemplo da estrutura do json que será respondido:


{
"packages": [
{
"items": [
{
"sku": "00266983118",
"seller_id": "207740981",
"quantity": 1,
"stock": -1,
"error_code": 0,
"store_id": null
}
],
"quotations": [
{
"cost": 66.6,
"price": 66.6,
"handling_time": 0,
"shipping_time": 39,
"promise": 39,
"caption": "Normal"
}
]
}
]
}

Web Service - Cotação


1. Conexão SISFRETE


A cotação utiliza o protocolo HTTP com a seguinte URL:
Para realizar a cotação é necessário enviar o parâmetro TOKEN de sua empresa. Ele é obtido através do menu interligação e opção Cálculos (Token). O TOKEN deve ser enviado através do método GET, bem como os demais parâmetros utilizados para realizar a cotação. O parâmetro utilizado é token.
https://cotar.sisfrete.com.br/cotacao/Integracao.php?&token=1CDD2DD25651DDEA56


2. Enviando dados da cotação


As cotações podem ser realizadas para envio de produtos, ou de recebimento. Caso seja envio, deve ser utilizado o parâmetro envio com valor
Caso seja recebimento, deve ser utilizado o parâmetro recebi com o valor 1.
https://cotar.sisfrete.com.br/cotacao/Integracao.php?&token=1CDD2DD25651DDEA56&envio1
https://cotar.sisfrete.com.br/cotacao/Integracao.php?&token=1CDD2DD25651DDEA56&recebi=1
Nota: A cotação deve ser do tipo envio ou recebimento, somente um dos dois valores deve ser declarado.
Informar o número do pedido, obrigatório, através do parâmetro num_ped.
https://cotar.sisfrete.com.br/cotacao/Integracao.php?&token=1CDD2DD25651DDEA56&envio=1&num_ped=895
Informar o número da NF, opcional, através do parâmetro nf_ped.
https://cotar.sisfrete.com.br/cotacao/Integracao.php?&token=1CDD2DD25651DDEA56&envio=1&num_ped=895&nf_ped=4589-9


2.1 Existem duas formas de declarar o destino da cotação:


A primeira consiste em repassar os dados de seu cliente. Esta opção é recomendada o cálculo de tarifas especiais, como por exemplo, a dificuldade de entrega. Para utilizar esta opção declare o parâmetro dados destinatário com o valor 1.
https://cotar.sisfrete.com.br/cotacao/Integracao.php?&token=1CDD2DD25651DDEA56&envio=1&dados_destinatario=1
Se o dado do seu cliente ja estiver cadastrado no sistema SISFRETE você pode passar somente o CPF ou CNPJ através do parâmetro cpf_cnpj, que deve ser enviado sem formatação.
https://cotar.sisfrete.com.br/cotacao/Integracao.php?&token=1CDD2DD25651DDEA56&envio=1&dados_destinatario=1&cpf_cnpj=83712607768
Nota: Não utilizar caracteres especiais como ponto, virgula, traço ou barra.Para cadastrar o cliente na SISFRETE os campos abaixo devem ser enviados:
Parâmetro
Valor
Obs
cpf_cnpj
CPF ou CNPJ do cliente
Somente numeros, nao utilizar caracteres especiais
pessoa
f para Fisica ou j para Juridica
nome
Nome do cliente
endereco
Endereço do cliente
numero
Referente ao endereço
opcional
bairro
Bairro
cep
Cep
Somente números, Não utilizar caracteres especiais
Email
E-mail do cliente
Opcional
Nota: Se os dados precisam ser atualizados, basta somente re-enviar.
https://cotar.sisfrete.com.br/cotacao/Integracao.php?&token=1CDD2DD25651DDEA56&envio=1&dados_destinatario=1&cpf_cnpj=83712607768&pessoa=f&nome=JoaodaSilva&endereco=RuaHolanda&numero=587&bairro=Centro&cep=17600440&email=teste@teste.com
A segunda opção consiste em repassar somente o CEP de destino. Caso Não haja a necessidade de informar o cliente, deve-se utilizar o parâmetro cep_destino, que deve ser enviado sem formatação.
https://cotar.sisfrete.com.br/cotacao/Integracao.php?token=1CDD2DD25651DDEA56&envio=1&cep_destino=17604370
Abaixo, segue uma tabela de parâmetros opcionais que poderão ser encaminhados de acordo com as especificações da transportadora que você utiliza. Por exemplo, se a sua transportadora pede para identificar se a carga é de difícil manuseio, informar o parâmetro manuseio.
https://cotar.sisfrete.com.br/cotacao/Integracao.php?token=1CDD2DD25651DDEA56&envio=1&cep_destino=17604370&manuseio=1
Tabela com parâmetros opcionais para a cotação.
ParâmetroValorDescrição
Fretecobrar1
Em caso de frete á cobrar
reentrega1Em caso de reentrega
manuseio1Em caso de difícil manuseio
palet1Em caso de carga paletizada
qtdpaletNº de palets
Em caso de carga paletizada (obrigatório se palet = 1)
armazenarNº de dias
Em caso de armazenamento
atendimento1Em caso de atendimento fora de horário
aeroporto1Em caso de entrega em aeroporto
porto1Em caso de entrega em porto
redespacho1Em caso de redespacho
cidaderedespCEP (somente numeros)
cidade de redespacho (obrigatório se redespacho = 1)
zmrc1Em caso de Zona Municipal Restrição Caminhões
japalet1Em caso de carga já paletizada
nao_declara_correios
1Declarando esta opção, não será calculado o seguro sobre o valor dos pedidos nos Correios
autoembalagem1Modo especial de cálculo automático de volumes. Os dados para esse modo devem ser preenchidos na seção interligação.
ver_cnpj1Caso declarado, uma nova tag contendo o CNPJ da transportadora é mostrado nas tags
dest_pessoa_juridica
1Caso declarado, identifica o destinatário como sendo pessoa Jurídica.


3. Enviando dados dos produtos



Para cotações com configurações específicas por produtos será necessário realizar o cadastro dos produtos no menu Módulos > Frete Produto > Inserir Produto. O campo Cod/Identificação deve ser obrigatoriamente preenchido, e ser igual ao recebido na cotação. Independente de estar cadastrado na plataforma da sisfrete. Ele deve ser único e deverá ser sempre informado na interligação.
Utilizar o parâmetro prods para declarar os produtos na interligação. Deve ser formado por oito parâmetros separados por ponto e vírgula (;) respectivamente: comprimento(m); largura(m); altura(m); cubagem(m3), não-obrigatório; volume total(un); peso do produto (kg - peso unitário do produto); Código/Identificação única do produto; valor unitário do produto.
https://cotar.sisfrete.com.br/cotacao/Integracao.php?&token=1CDD2DD25651DDEA56&envio=1&cep_destino=17604370&num_ped=895&prods=0,1;0,2;0,3;0.006;3;1.8;9857;50
Para cotar dois ou mais produtos, separar com barra (/).
https://cotar.sisfrete.com.br/cotacao/Integracao.php?&token=1CDD2DD25651DDEA56&envio=1&cep_destino=17604370&num_ped=895&prods=0,1;0,2;0,3;0.006;3;1.8;9857;50/0.2;0.3;0.4;0,016;2;2;237;30,50
Nota: O separador de decimal pode ser ponto (.) ou vírgula (,). Ex.: 20,00 ou 20.00. Não utilizar separador de milhar.

4. Interpretando a resposta



O resultado da cotação é devolvido em XML. A tag contém os dados de cada resultado obtido para a cotação realizada. Dentro desta tag temos:
Tag
Descrição
<codigo>
Código do resultado (descontinuado)
<cod_nf>
Código da cotação (descontinuado)
<transportadora>
Apelido (ou Nome) da transportadora
<fob>
Se a transportadora aceita frete á cobrar
<servico>
Apelido (ou Nome) do serviço oferecido
<transp_padrao>
Nome da transportadora
<serviço_padrao>
Nome do serviço oferecido
<transporte>
Tipo de transporte
<redespacho>
Caso haja redespacho
<valor>
Valor do frete
<peso>
Peso calculado
<prazo_min>
Prazo mánimo
<prazo_max>
Prazo máximo
<temp_exped>
Tempo de Expedição do Item
<temp_envio>
Tempo de Envio
<tipo_envio>
Tipo de envio(CIF ou FOB)

<cotacao>
<resultado>
<prioridade>0</prioridade>
<codigo/>
<cod_nf/>
<transportadora>TOTAL EXPRESS</transportadora>
<servico>RODOVIARIO TOTAL</servico>
<transp_padrao>TOTAL EXPRESS</transp_padrao>
<servico_padrao>EXPRESSO</servico_padrao>
<cnpj/>
<fob>NAO</fob>
<base>2609</base>
<transporte>EXPRESSO</transporte>
<valor>43,02</valor>
<peso>1</peso>
<prazo_min>3</prazo_min>
<prazo_max>3</prazo_max>
<temp_exped>0</temp_exped>
<temp_envio>3</temp_envio>
<tipo_envio>CIF</tipo_envio>
</resultado>

<resultado>
<prioridade>0</prioridade>
<codigo/>
<cod_nf/>
<transportadora>TNT</transportadora>
<servico>RODOVIARIO TNT</servico>
<transp_padrao>TNT MERCURIO</transp_padrao>
<servico_padrao>RODOVIARIO</servico_padrao>
<cnpj/>
<fob>NAO</fob>
<base>933</base>
<transporte>RODOVIARIO</transporte>
<valor>47,92</valor>
<peso>1</peso>
<prazo_min>2</prazo_min>
<prazo_max>2</prazo_max>
<temp_exped>0</temp_exped>
<temp_envio>2</temp_envio>
<tipo_envio>CIF</tipo_envio>
</resultado>


</cotacao>


5. Identificando erros



Caso exista algum problema com os dados, que foi enviado, o sistema automaticamente emite um retorno de erro em XML. A informação sobre o erro constará na tag <erro>. Exemplo
<cotacao>
<resultado>
<erro>Cidade de destino não localizada.</erro>
</resultado>
</cotacao>

API - Sisfrete Delivery


Acesse a documentação da API Rest SisFrete Delivery com os Endpoints relacionados a Pedido(order) e Entregador(deliveryman) neste link: Sisfrete Delivery API - Documentação
Nós usamos cookies
Preferências de cookies
Abaixo, você pode encontrar informações sobre os propósitos pelos quais nós e nossos parceiros usamos cookies e processamos dados. Você pode exercitar suas preferências de processamento e/ou ver detalhes nos sites dos nossos parceiros.
Cookies analíticos Desativar tudo
Cookies funcionais
Outros cookies
Utilizamos cookies para personalizar conteúdo e anúncios, fornecer recursos de mídia social e analisar nosso tráfego. Saiba mais sobre nossa política de cookies.
Aceitar tudo Recusar tudo Alterar preferências
Cookies