> ## Documentation Index
> Fetch the complete documentation index at: https://docs.bulkroute.com.br/llms.txt
> Use this file to discover all available pages before exploring further.

# Exporta relatorio em CSV ou PDF

> Gera e baixa um relatorio em CSV ou PDF. Tipos disponiveis: shipments, quotes, ctes, roi, route-costs, delivery-performance, carriers, own-fleet, exceptions, financial. Filtros: startDate, endDate, carrierCode, status, search, tenantId admin only. Modo hibrido: <=1000 linhas responde direto, >1000 linhas enfileira e retorna jobId.




## OpenAPI

````yaml /openapi.json get /export/{reportType}
openapi: 3.0.0
info:
  title: BulkRoute API
  version: 1.0.0
  description: |2-

            API de orquestração logística para e-commerce B2B.
            
            ## Funcionalidades
            
            - **Cotação de Frete**: Calcule frete com múltiplos carriers em paralelo
            - **Geração de Etiquetas**: Crie etiquetas de envio para diferentes transportadoras
            - **Rastreamento**: Acompanhe entregas em tempo real
            - **Gestão de Tenants**: Configure múltiplos clientes com regras customizadas
            - **Integração de Carriers**: Adapte-se a diferentes transportadoras via pattern Adapter
            
            ## Autenticação
            
            A API usa dois métodos de autenticação:
            - **JWT Bearer** (dashboard admin/driver): `Authorization: Bearer <token>`
            - **API Key** (integrações ERP/e-commerce): `X-API-Key: bk_live_...`
            
            Endpoints de integração (quotes, orders, tracking) aceitam ambos.
            Endpoints admin exigem JWT. Endpoints públicos (tracking público, rebook) não exigem auth.
            
            ## Rate Limiting
            
            A API possui rate limiting por IP e por tenant para garantir estabilidade.
          
  contact:
    name: BulkRoute Support
    email: support@bulkroute.com.br
    url: https://www.bulkroute.com.br
  license:
    name: Proprietary
servers:
  - url: http://localhost:3000
    description: Servidor de desenvolvimento
  - url: https://api.bulkroute.com.br
    description: Servidor de produção
security: []
tags:
  - name: Auth
    description: Autenticação e gestão de tokens
  - name: Cotação
    description: Cotação de frete com múltiplos carriers
  - name: Pedidos
    description: Criação e gestão de shipments/envios
  - name: Rastreamento
    description: Tracking unificado de entregas
  - name: Orquestrador
    description: Motor de decisão com scoring e regras
  - name: Etiquetas
    description: Geração e gestão de etiquetas
  - name: Tenants
    description: Gestão de tenants (clientes)
  - name: Transportadoras
    description: Gestão de carriers e planilhas
  - name: Usuários
    description: Gestão de usuários
  - name: Motorista
    description: Endpoints do PWA do motorista
  - name: Frota
    description: Operações de campo da frota própria
  - name: Veículos
    description: Gestão de veículos
  - name: Regras
    description: Flow visual de regras de envio
  - name: Scoring
    description: Pontuação e ranking de carriers
  - name: Webhooks
    description: Webhooks inbound de transportadoras
  - name: Chat
    description: Chat admin ↔ motorista
  - name: Notificações
    description: Log de notificações enviadas
  - name: CDs
    description: Centros de distribuição
  - name: Contratos
    description: Contratos com transportadoras
  - name: Faturas
    description: Faturas por tenant/carrier
  - name: Integrações
    description: Integrações externas
  - name: Público
    description: Endpoints públicos (sem auth)
  - name: Endereço
    description: Lookup de CEP e CNPJ
  - name: Rotas
    description: Cálculo de rota e analytics de custo
  - name: Storage
    description: Upload e download de arquivos
  - name: SSE
    description: Server-Sent Events (tempo real)
paths:
  /export/{reportType}:
    get:
      tags:
        - Export
      summary: Exporta relatorio em CSV ou PDF
      description: >
        Gera e baixa um relatorio em CSV ou PDF. Tipos disponiveis: shipments,
        quotes, ctes, roi, route-costs, delivery-performance, carriers,
        own-fleet, exceptions, financial. Filtros: startDate, endDate,
        carrierCode, status, search, tenantId admin only. Modo hibrido: <=1000
        linhas responde direto, >1000 linhas enfileira e retorna jobId.
      parameters:
        - name: reportType
          in: path
          required: true
          schema:
            type: string
            enum:
              - shipments
              - quotes
              - ctes
              - roi
              - route-costs
              - delivery-performance
              - carriers
              - own-fleet
              - exceptions
              - financial
        - name: format
          in: query
          required: false
          schema:
            type: string
            enum:
              - csv
              - pdf
            default: csv
        - name: startDate
          in: query
          required: false
          schema:
            type: string
            format: date
        - name: endDate
          in: query
          required: false
          schema:
            type: string
            format: date
        - name: carrierCode
          in: query
          required: false
          schema:
            type: string
        - name: status
          in: query
          required: false
          schema:
            type: string
        - name: search
          in: query
          required: false
          schema:
            type: string
        - name: tenantId
          in: query
          required: false
          description: Admin only — export data for a specific tenant
          schema:
            type: string
      responses:
        '200':
          description: Arquivo gerado com sucesso (CSV ou PDF) — modo sincrono.
          content:
            text/csv:
              schema:
                type: string
            application/pdf:
              schema:
                type: string
                format: binary
        '202':
          description: Job enfileirado — modo assincrono para exports grandes.
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                  data:
                    type: object
                    properties:
                      jobId:
                        type: string
                      status:
                        type: string
                      rowsCount:
                        type: integer
        '400':
          description: Parâmetros inválidos.
        '401':
          description: Não autorizado.
      security:
        - bearerAuth: []
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: JWT token obtido via endpoint /auth/login

````