Integre seu sistema com a API do Bridge Link para criar pedidos, consultar rastreamento e baixar etiquetas.
Siga estes passos para comecar a usar a API do Bridge Link em poucos minutos.
Entre em contato com a equipe Bridge Link para receber seu client_id e client_secret.
Use o endpoint POST /api/v1/oauth/token para obter seu idToken (valido por 24h).
Use o endpoint POST /api/v1/orders com o header Authorization: Bearer {token}.
Consulte o status e baixe as etiquetas usando os endpoints de consulta.
Ambiente de Producao: A URL base da API e https://bridgelink.com.br/api/v1
A API utiliza autenticacao OAuth2 com Bearer Token. Primeiro obtenha um token de acesso, depois use-o em todas as requisicoes.
curl -X POST "https://bridgelink.com.br/api/v1/oauth/token" \
-H "Content-Type: application/json" \
-d '{
"client_id": "bl_seu_client_id",
"client_secret": "seu_client_secret"
}'
{
"idToken": "eyJhbGciOiJIUzI1NiJ9.eyJjbGllbnRfaWQi...",
"expiresIn": "86400"
}
Token TTL: O token e valido por 24 horas (86400 segundos). Apos expirar, solicite um novo token.
Importante: Mantenha suas credenciais em seguranca. Nunca compartilhe ou exponha seu client_secret em codigo publico.
curl -X GET "https://bridgelink.com.br/api/v1/orders/ATN12345" \ -H "Authorization: Bearer eyJhbGciOiJIUzI1NiJ9..." \ -H "Content-Type: application/json"
Crie um novo pedido/HAWB no sistema. O pedido sera processado e enviado para a transportadora automaticamente.
| Parametro | Tipo | Descricao |
|---|---|---|
| shipTo* | object | Dados do destinatario (name, phone, federalTaxId, address) |
| shipTo.address.correios* | object | Endereco no formato Correios (logradouro, numero, bairro, cep, cidade, uf) |
| packages* | array | Lista de pacotes com peso e nota fiscal |
| packages[].weightG(opcional) | number | Peso do pacote em gramas |
| packages[].documentTypes.invoice(opcional) | object | Dados da nota fiscal (key, number, totalValue) |
{
"shipTo": {
"name": "Joao da Silva",
"phone": "21988887777",
"federalTaxId": "12345678901",
"address": {
"correios": {
"logradouro": "Av. Atlantica",
"numero": "500",
"complemento": "Apto 1001",
"bairro": "Copacabana",
"cep": "22010000",
"cidade": "Rio de Janeiro",
"uf": "RJ"
}
}
},
"packages": [
{
"weightG": 1500,
"documentTypes": {
"invoice": {
"key": "35240612345678000195550010000001011234567890",
"number": "12345",
"totalValue": 299.90
}
}
}
]
}
{
"packages": [
{
"trackingCode": "ATN123456789",
"loggiKey": "bf7a1c2d-3e4f-5678-9abc-def012345678",
"status": {
"code": 2,
"highLevelStatus": "IMPORTADO",
"description": "Pedido importado na transportadora",
"updatedTime": "2025-01-16T10:30:00Z"
},
"labelUrl": "https://bridgelink.com.br/api/v1/labels/ATN123456789",
"flashLabelUrl": "https://webservice.flashpegasus.com.br/..."
}
]
}
curl -X POST "https://bridgelink.com.br/api/v1/orders" \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiJ9..." \
-H "Content-Type: application/json" \
-d '{
"shipTo": {
"name": "Joao da Silva",
"phone": "21988887777",
"federalTaxId": "12345678901",
"address": {
"correios": {
"logradouro": "Av. Atlantica",
"numero": "500",
"bairro": "Copacabana",
"cep": "22010000",
"cidade": "Rio de Janeiro",
"uf": "RJ"
}
}
},
"packages": [
{
"weightG": 1500,
"documentTypes": {
"invoice": {
"key": "35240612345678000195550010000001011234567890",
"number": "12345",
"totalValue": 299.90
}
}
}
]
}'
Consulte os detalhes de um pedido existente usando o codigo de rastreamento.
| Parametro | Tipo | Descricao |
|---|---|---|
| tracking* | string | Codigo de rastreamento do pedido (ex: ATN123456789) |
{
"orderId": "bf7a1c2d-3e4f-5678-9abc-def012345678",
"externalId": "PED-2025-001",
"status": "in_transit",
"packages": [
{
"trackingCode": "ATN123456789",
"logisticProvider": "flash_courier",
"status": "in_transit",
"weight": 1.5,
"dimensions": {
"width": 20,
"height": 15,
"depth": 10
}
}
],
"sender": {
"name": "Minha Loja LTDA",
"address": { ... }
},
"recipient": {
"name": "Joao da Silva",
"address": { ... }
},
"createdAt": "2025-01-16T10:30:00Z",
"updatedAt": "2025-01-16T14:45:00Z"
}
curl -X GET "https://bridgelink.com.br/api/v1/orders/ATN123456789" \ -H "Authorization: Bearer eyJhbGciOiJIUzI1NiJ9..." \ -H "Content-Type: application/json"
Obtenha o historico completo de rastreamento de um pedido, incluindo todos os eventos e movimentacoes.
| Parametro | Tipo | Descricao |
|---|---|---|
| tracking* | string | Codigo de rastreamento do pacote |
{
"trackingCode": "ATN123456789",
"status": "in_transit",
"estimatedDelivery": "2025-01-18",
"events": [
{
"timestamp": "2025-01-16T14:45:00Z",
"status": "in_transit",
"description": "Pacote em transito para o destino",
"location": "CD Rio de Janeiro - RJ"
},
{
"timestamp": "2025-01-16T10:30:00Z",
"status": "picked_up",
"description": "Pacote coletado",
"location": "Sao Paulo - SP"
},
{
"timestamp": "2025-01-16T08:00:00Z",
"status": "created",
"description": "Pedido criado no sistema",
"location": "Sistema Bridge Link"
}
]
}
curl -X GET "https://bridgelink.com.br/api/v1/tracking/ATN123456789" \ -H "Authorization: Bearer eyJhbGciOiJIUzI1NiJ9..." \ -H "Content-Type: application/json"
Baixe as etiquetas de envio em formato PDF codificadas em Base64.
| Parametro | Tipo | Descricao |
|---|---|---|
| tracking* | string | Codigo de rastreamento do pacote |
{
"orderId": "bf7a1c2d-3e4f-5678-9abc-def012345678",
"packages": [
{
"trackingCode": "ATN123456789",
"label": {
"format": "pdf",
"encoding": "base64",
"content": "JVBERi0xLjQKJeLjz9MKNCAwIG9iago8PC9..."
}
}
]
}
Dica: O campo content contem o PDF codificado em Base64. Para visualizar ou salvar, decodifique o conteudo Base64.
curl -X GET "https://bridgelink.com.br/api/v1/labels/ATN123456789" \ -H "Authorization: Bearer eyJhbGciOiJIUzI1NiJ9..." \ -H "Content-Type: application/json"
// Decodificar e salvar o PDF const fs = require('fs'); // response = resposta da API const pdfBase64 = response.packages[0].label.content; const pdfBuffer = Buffer.from(pdfBase64, 'base64'); fs.writeFileSync('etiqueta.pdf', pdfBuffer); console.log('Etiqueta salva com sucesso!');
A API utiliza codigos HTTP padrao para indicar o sucesso ou falha de uma requisicao.
{
"error": {
"code": "validation_error",
"message": "Dados do destinatario incompletos",
"details": [
{
"field": "recipient.address.zipCode",
"message": "CEP e obrigatorio"
}
]
}
}
Dica: Sempre verifique o campo details para obter informacoes especificas sobre erros de validacao.