> ## 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.

# Formulário de contato público

> Recebe dados do formulário de contato do site, envia email de confirmação para o remetente e notifica a equipe comercial. Sem autenticação.



## OpenAPI

````yaml /openapi.json post /public/contact
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:
  /public/contact:
    post:
      tags:
        - Público
      summary: Formulário de contato público
      description: >-
        Recebe dados do formulário de contato do site, envia email de
        confirmação para o remetente e notifica a equipe comercial. Sem
        autenticação.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - name
                - email
                - phone
                - subject
                - message
              properties:
                name:
                  type: string
                email:
                  type: string
                  format: email
                phone:
                  type: string
                company:
                  type: string
                subject:
                  type: string
                message:
                  type: string
      responses:
        '200':
          description: Mensagem recebida com sucesso.
        '400':
          description: Dados inválidos.
        '500':
          description: Erro interno do servidor.

````