sequenceDiagram
autonumber
actor User as Cliente Web
participant Form as PublicQuote Form
participant API as Functions API
participant D1 as Cloudflare D1 DB
participant WA as Evolution API (WhatsApp)
participant Admin as Inbox do Manager
User->>Form: Preenche residência e clica em "Falar com Agente"
Form->>API: POST /api/leads/quote-request (dados da quote)
API->>D1: INSERT INTO leads (status: NEW)
API->>API: POST /api/leads/chat-initiate
API->>D1: INSERT INTO chat_channels & chat_messages
API->>WA: Send initial WhatsApp template
WA-->>User: Recebe WhatsApp de confirmação
API-->>Admin: Notifica novo Chat/Lead na Inbox em tempo real
sequenceDiagram
autonumber
participant App as React App
participant Query as TanStack Query Cache
participant Store as Zustand Stores
participant API as Edge API (/api/atomic/*)
participant D1 as Cloudflare D1
Note over App, D1: 1. Hydration Inicial
App->>API: GET /api/boot
API->>D1: SELECT * ALL TABLES
D1-->>API: Full State JSON
API-->>Query: Seed Query Cache
Query->>Store: Project to Zustand Stores (useStoreQuerySync)
Note over App, D1: 2. Mutação Otimista & Sync
App->>Store: Action Call (ex: updateRequest)
Store->>App: Update UI Instantly (Optimistic)
Store->>API: POST /api/atomic/requests
alt Sucesso no Servidor
API->>D1: UPDATE D1 DB
D1-->>API: OK
API-->>Query: Refresh Entity Cache
else Erro no Servidor
API-->>Store: Fail Signal
Store->>App: Rollback State + Toast "Sync Failed"
end