Olá, bem-vindo a central de integrações BRASPRESS, esta API é um serviço disponibilizado exclusivamente aos clientes Braspress.
Este documento informa ao setor de Tecnologia de nossos clientes, o script que deve ser executado para efetivação de uma consulta para cálculo do frete ou tracking em sua página web.
Todas as diretrizes deste documento devem ser rigorosamente seguidas para que o retorno do valor do frete esteja correto conforme tabela negociada.
IMPORTANTE: Todas as cotações são válidas até as 23h59m59s do dia em que foi realizada.
É importante informar que os usuários e senhas de homologação e produção são adquiridos através da filial de atendimento e seu fornecimento só será dado ao decisor de frete após análise da negociação e perfil.
Assim, seguem as orientações técnicas para integração do serviço.
Com seu usuário e senha de homologação em mãos, siga os passos abaixo:
Dependendo da linguagem ou plataforma escolhida será necessário 'encodar' seu usuário e senha e passa-los no cabeçalho da requisição Authorization: Basic Y2xpZW50ZTpjbGllbnRl
. Se sua linguagem ou biblioteca já faz isso internamente ignore esse passo.
Em sistemas unix, utilize o trecho abaixo para 'encodar' seu usuário e senha.
echo -n 'user:pass' | base64
Para outros casos, utilize o site https://www.base64encode.org/ https://www.base64encode.org/
OBS: Ao fornecer a senha de homologação, já liberamos o ambiente específico e controlado para que você faça seus testes a vontade.
{returnType} Informar o tipo de retorno esperado, existem dois tipos: json ou xml.
O corpo da requisição precisa ser no formato json. Abaixo temos detalhes de cada atributo do objeto.
Atributo | Descrição | Obrigatório | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
cnpjRemetente | CNPJ do remetente - cliente precisa estar cadastrado na BRASPRESS. | SIM | |||||||||||||||
cnpjDestinatario | CNPJ do destinatário – caso o CNPJ ou CPF do destinatário não esteja cadastrado na Braspress, será realizada a cotação com base no CEP (exceto para tipo de frete 2-FOB). | SIM | |||||||||||||||
cnpjConsignado | CNPJ do consignatário – cliente precisa estar cadastrado na BRASPRESS (campo obrigatório para tipo de frete 3-Consignado) | NÃO | |||||||||||||||
modal | Tipo de modal: 'R' para rodoviário, 'A' para aéreo. | SIM | |||||||||||||||
tipoFrete | 1 para CIF (pagante é o Remetente), 2 para FOB(pagante é o destinatário) e 3 para Consignado (pagante é um terceiro). | SIM | |||||||||||||||
cepOrigem | CEP de origem do frete. | SIM | |||||||||||||||
cepDestino | CEP de destino do frete. | SIM | |||||||||||||||
vlrMercadoria | Valor total da mercadoria do frete. | SIM | |||||||||||||||
peso | Valor total do peso de todos os volumes. | SIM | |||||||||||||||
volumes | Quantidade total de volumes | SIM | |||||||||||||||
cubagem | Lista com as medidas de cada volume. Caso os volumes sejam iguais, especifique apenas um e adicione a quantidade no campo volumes.
|
SIM |
De acordo com o returnType escolhido, no corpo do response chegará um json ou xml, mas os atributos serão os mesmos.
Atributo | Descrição |
---|---|
id | Identificador único da cotação realizada. |
prazo | Quantidade de dias para previsão de entrega. |
totalFrete | Valor total do frete. |
De acordo com o returnType escolhido, se ocorrer algum erro na requisição, um objeto com detalhes do erro será enviado.
Atributo | Descrição |
---|---|
statusCode | Código do erro. |
message | Descrição do erro. |
dateTime | Data e hora do erro. |
errorList | Se houver mais de um erro , neste atributo teremos uma lista com detalhes de cada erro. |
curl -v -H "Authorization: Basic Y2xpZW50ZTpjbGllbnRl" -H "Content-Type: application/json"
-d '{"cnpjRemetente":60701190000104,"cnpjDestinatario":30539356867,"modal":"R","tipoFrete":"1",
"cepOrigem":2323000,"cepDestino":7093090,"vlrMercadoria":100.00,"peso":50.55,"volumes":100},
"cubagem":[{"altura":0.46,"largura":0.67,"comprimento":0.67,"volumes":10}]'
-X POST https://api.braspress.com/v1/cotacao/calcular/json
var authorizationBasic = 'Y2xpZW50ZTpjbGllbnRl';
$.ajax({
type: 'POST',
url: 'https://api.braspress.com/v1/cotacao/calcular/json',
data: '{"cnpjRemetente":60701190000104,"cnpjDestinatario":30539356867,"modal":"R","tipoFrete":"1", "cepOrigem":2323000,"cepDestino":7093090,"vlrMercadoria":100.00,"peso":50.55,"volumes":10,"cubagem":[{"altura":0.46,"largura":0.67,"comprimento":0.67,"volumes":10}]}',
dataType: "json",
contentType: 'application/json; charset=utf-8',
xhrFields: {
withCredentials: true
},
crossDomain: true,
headers: {
'Authorization': 'Basic ' + authorizationBasic,
},
success: function (result) {
console.log(result);
},
error: function (req, status, error) {
console.log(error);
}
});
{cnpj} Informar o cnpj do tomador do frete.
{notaFiscal} Informar o número da nota fiscal.
{numPedido} Informar o número do pedido.
{returnType} Informar o tipo de retorno esperado, pode ter dois tipos: json ou xml.
OBS: Permite a busca no período dos últimos 90 dias, considerando a data de emissão do conhecimento.
De acordo com o returnType escolhido, no corpo do response chegará um json ou xml, mas os atributos serão os mesmos.
Atributo | Descrição | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
conhecimentos | Lista de conhecimentos encontrados para o cnpj e nota fiscal informados.
|
De acordo com o returnType escolhido, se ocorrer algum erro na requisição, um objeto com detalhes do erro será enviado.
Atributo | Descrição |
---|---|
statusCode | Código do erro. |
message | Descrição do erro. |
dateTime | Data e hora do erro. |
errorList | Se houver mais de um erro , neste atributo teremos uma lista com detalhes de cada erro. |
curl -v -H "Authorization: Basic Y2xpZW50ZTpjbGllbnRl" -X GET https://api.braspress.com/v1/tracking/12345678912345/12345/json
var authorizationBasic = 'Y2xpZW50ZTpjbGllbnRl';
$.ajax({
type: 'GET',
url: 'https://api.braspress.com/v1/tracking/12345678912345/12345/json',
contentType: 'application/json; charset=utf-8',
xhrFields: {
withCredentials: true
},
crossDomain: true,
headers: {
'Authorization': 'Basic ' + authorizationBasic,
},
success: function (result) {
console.log(result);
},
error: function (req, status, error) {
console.log(error);
}
});