O acesso ao Swagger UI exige autenticação (Basic Auth). Solicite as credenciais ao suporte (
suporte@bulkroute.com.br) ou à sua equipe técnica.Como usar o Swagger UI
- Navegue pelos endpoints agrupados por categoria (Auth, Quotes, Shipments, Tracking, etc.)
- Clique em qualquer endpoint para expandir os detalhes:
- Parâmetros de URL, query e body
- Schema de resposta com exemplos
- Códigos de status HTTP esperados
- Clique em Try it out para testar o endpoint
- Preencha os parâmetros e clique em Execute
- A resposta aparece logo abaixo com o status code, headers e body
Para testar endpoints autenticados, clique no botão Authorize no topo do Swagger UI e informe sua API Key (
X-API-Key: bk_live_...) ou JWT (Bearer <token>).Autenticação
A API do BulkRoute suporta dois métodos de autenticação:
A maioria dos endpoints aceita ambos. Endpoints de auth (
/auth/login, /auth/refresh, /auth/register) não exigem autenticação.
Ambientes
Use o seletor de servidor no topo do catálogo para alternar entre ambientes.
Categorias de endpoints
Auth
Autenticação e registro de usuários/tenants.POST /auth/login— Login com e-mail/senhaPOST /auth/refresh— Renovar access tokenPOST /auth/register— Registrar novo usuário/tenantPOST /auth/forgot-password— Solicitar reset de senhaPOST /auth/reset-password— Resetar senha com tokenPOST /auth/change-password— Alterar senhaPOST /auth/accept-invite— Aceitar convite de equipeGET /auth/sse-token— Token para SSE
Quotes
Cotação de frete multi-carrier em tempo real.POST /quotes— Calcular cotação com múltiplos carriersGET /quotes/logs— Histórico de cotações (audit log)GET /quotes/stats— Estatísticas de cotações (admin)
Orders
Criação e gestão de envios (shipments).POST /orders— Criar novo envioPOST /orders/reverse— Criar envio de logística reversaGET /orders— Listar envios (com filtros)GET /orders/stats— Estatísticas de despachoGET /orders/scheduling/options— Opções de agendamentoPOST /orders/dispatch-all— Despachar múltiplos pedidosPOST /orders/{id}/dispatch— Despachar pedido específicoPOST /orders/{id}/pickup— Solicitar coletaPATCH /orders/{id}/status— Atualizar statusPATCH /orders/{id}/scheduling— Atualizar agendamento
Tracking
Rastreio unificado de envios.GET /tracking/{code}— Status e timeline de rastreio por códigoGET /tracking/shipments— Listar shipments do tenant (paginado)GET /tracking/live— Shipments em trânsito (mapa Tracking Live)GET /tracking/carrier-distribution— Distribuição por carrierPOST /tracking/driver/location— Atualizar localização do motoristaPOST /tracking/own-fleet/update— Atualizar status de frota própria
Labels
Emissão de etiquetas de envio.POST /labels— Gerar etiqueta (PDF ou ZPL)POST /labels/{id}/reprint— Reimprimir etiquetaPOST /labels/{id}/cancel— Cancelar etiquetaGET /labels/{trackingCode}/download— Baixar etiqueta geradaPOST /labels/{trackingCode}/public-link— Gerar link público de download
Carriers
Gestão de transportadoras conectadas.GET /carriers— Listar carriers ativosPOST /carriers— Criar carrier (admin)GET /carriers/{id}— Detalhar carrierPUT /carriers/{id}— Atualizar carrierDELETE /carriers/{id}— Desativar carrierGET /carriers/{code}/scorecard— Scorecard de performanceGET /carriers/{code}/health— Health check de carrierPOST /carriers/{code}/register-webhook— Registrar webhook no carrierGET /carriers/health— Health check de todos carriersGET /carriers/benchmark— Benchmark comparativoGET /carriers/sla-alerts— Alertas de SLAGET /carriers/scorecards— Scorecards de todos carriers
Contracts
Contratos de frete por carrier.GET /contracts— Listar contratosPOST /contracts— Criar contratoGET /contracts/{id}— Detalhar contratoPUT /contracts/{id}— Atualizar contratoDELETE /contracts/{id}— Remover contrato
Webhooks
Webhooks inbound de carriers e outbound para seu sistema.POST /webhooks/{carrierCode}— Endpoint público para receber webhooks de carriersPOST /webhooks/retry— Reprocessar webhook específicoPOST /webhooks/retry-all— Reprocessar todos webhooks falhosPOST /webhooks/asaas— Webhook de pagamentos Asaas
Integrations
Integrações com ERPs e e-commerce.GET /integrations— Listar integrações ativasPOST /integrations— Criar integraçãoGET /integrations/{id}— Detalhar integraçãoPUT /integrations/{id}— Atualizar integraçãoDELETE /integrations/{id}— Remover integraçãoPOST /integrations/{id}/test— Testar conexão da integração
Returns
Logística reversa / devoluções.POST /returns— Criar etiqueta de retornoGET /returns— Listar devoluções
Notifications
Notificações enviadas e logs.GET /notifications— Logs de notificações (WhatsApp, SMS, e-mail)
Multi-warehouse
Cotação com múltiplos armazéns.POST /multi-warehouse/quote— Cotação considerando múltiplos CDsPOST /multi-warehouse/compare— Comparar opções entre CDsGET /multi-warehouse/warehouses— Listar CDs ativos
Address
Validação de endereço e CEP.POST /address/validate-cep— Validar CEP e autocompletar endereçoPOST /address/validate— Validar endereço completoGET /address/cep/{cep}— Buscar endereço por CEPGET /address/autocomplete— Autocompletar endereçoPOST /address/geocode— Geocodificar endereço
Carbon
Emissões de carbono por envio.GET /carbon/emissions— Emissões de CO₂GET /carbon/emissions/by-carrier— Emissões por carrierGET /carbon/emissions/by-month— Emissões por mêsGET /carbon/emissions/comparison— Comparação entre carriersGET /carbon/emissions/shipment/{id}— Emissões de um shipmentPOST /carbon/emissions/shipment/{id}/offset— Compensar emissõesGET /carbon/certificate— Certificado de carbono compensado
Insurance
Seguro de carga.GET /insurance— Listar apólicesPOST /insurance/quote— Cotar seguro para um shipmentGET /insurance/{id}— Detalhar apólicePOST /insurance/{id}/activate— Ativar apólicePOST /insurance/{id}/cancel— Cancelar apóliceGET /insurance/claims— Listar sinistrosGET /insurance/stats— Estatísticas de seguro
ML
Modelos de machine learning do orquestrador.POST /ml/predict— Predição de score para um carrierPOST /ml/predictions— Predições em lotePOST /ml/train— Treinar modeloGET /ml/features— Features disponíveisGET /ml/status— Status do modelo
EDI
Intercâmbio eletrônico de dados (EDI).GET /edi— Listar transações EDIGET /edi/{id}— Detalhar transaçãoPOST /edi/upload— Upload de arquivo EDIPOST /edi/generate— Gerar arquivo EDIGET /edi/stats— Estatísticas de EDIGET /edi/{id}/raw— Arquivo EDI brutoPOST /edi/{id}/retry— Reprocessar transação
Bids (Freight Bids)
Sistema de leilão de frete.GET /bids— Listar bidsPOST /bids— Criar bidGET /bids/{id}— Detalhar bidGET /bids/public/{token}— Bid público (para carrier)POST /bids/public/{token}/accept— Carrier aceita bidGET /bids/stats— Estatísticas de bids
VRP (Roteirização)
Otimização de rotas com múltiplas paradas.POST /vrp/optimize— Otimizar rotaGET /vrp— Listar rotas otimizadasGET /vrp/{id}— Detalhar rotaDELETE /vrp/{id}— Remover rotaPATCH /vrp/{id}/status— Atualizar status da rotaPOST /vrp/{id}/reorder— Reordenar paradasGET /vrp/driver/today— Rota do motorista hojePATCH /vrp/stops/{id}— Atualizar parada
Fleet & Drivers
Operações de frota própria e motoristas.GET /fleet/status— Status da frotaGET /fleet/shipments— Entregas da frotaPOST /fleet/heartbeat— Heartbeat do motoristaPOST /fleet/checkout— Check-out de jornadaPATCH /fleet/availability— Atualizar disponibilidadeGET /fleet/day-summary— Resumo do diaPOST /fleet/shipments/{id}/checkin— Check-in de entregaPOST /fleet/shipments/{id}/checkout— Check-out de entregaPOST /fleet/shipments/{id}/scan— Escanear pacotePOST /fleet/shipments/{id}/unscan— Remover scanGET /fleet/shipments/{id}/packages— Pacotes do shipmentGET /driver/events— Eventos do motorista
Export
Exportação de relatórios assíncrona.GET /export/{reportType}— Solicitar exportaçãoGET /export/status/{jobId}— Status do jobGET /export/download/{jobId}— Download do arquivo
CT-e & Auditoria
Auditoria de Conhecimentos de Transporte Eletrônicos.GET /cte— Listar CT-ePOST /cte/import— Importar CT-e (XML)POST /cte/import-batch— Importar lote de CT-ePOST /cte/import-excel— Importar via ExcelPOST /cte/{id}/audit— Auditar CT-eGET /cte/divergences— Listar divergênciasPOST /cte/divergences/{id}/approve— Aprovar divergênciaPOST /cte/divergences/{id}/reject— Rejeitar divergênciaPOST /cte/divergences/{id}/dispute— Disputar divergência
Convenções da API
Formato
- Content-Type:
application/jsonem todas as requisições e respostas - Properties:
camelCaseem todos os payloads - Datas: ISO 8601 UTC (ex:
2026-09-06T18:30:00Z) - Moedas: BRL em centavos ou decimal (ver schema de cada endpoint)
- CEP: string de 8 dígitos numéricos (ex:
"01310100")
Códigos de status
Formato de Resposta
Todas as respostas seguem o envelope{ success, data/error, meta }:
Sucesso:
Rate limiting
- Autenticado com API Key: 100 req/min por tenant
- Autenticado com JWT: 60 req/min por usuário
- Sem autenticação (auth endpoints): 10 req/min por IP
Paginação
Endpoints de listagem usam paginação offset compage e limit:
meta:
Erros
Erros seguem o envelope{ success: false, error: string }:
Exemplos de uso
Não há SDK público publicado no momento. As integrações nativas do BulkRoute (Shopify, Nuvemshop, Tray, VTEX) usam um SDK interno TypeScript (@bulkroute/client) que vive no monorepo bulkroute-integrations. Para integrar, chame a API REST diretamente — o contrato completo está no FLUXO-INTEGRACAO.md.
Exemplo cURL (cotação)
Exemplo Node.js (REST direto)
Exemplo PHP (REST direto)
Referência interativa
Para testar qualquer endpoint diretamente no navegador, acesse o Swagger UI: https://api.bulkroute.com.br/docs/O acesso exige credenciais. Solicite ao suporte (
suporte@bulkroute.com.br) se ainda não tiver.