Logo

Integration

O LIP utiliza Firebase como backend principal para autenticação, banco de dados em tempo real e armazenamento de conversas.

🔥 Serviços Firebase Utilizados

1. Firebase Authentication

  • Propósito: Autenticação multi-tenant com custom claims
  • Uso: Login de usuários, controle de acesso por empresa
  • Providers: Email/Password, Google OAuth

2. Firestore Database

  • Propósito: Armazenamento de conversas, mensagens e configurações
  • Uso: Dados em tempo real com listeners
  • Estrutura: NoSQL com coleções e documentos

3. Realtime Database

  • Propósito: Sincronização de presença e status de agentes
  • Uso: Online/offline status, typing indicators
  • Performance: Latência ultra-baixa

4. Cloud Functions

  • Propósito: Backend serverless para webhooks e processamento
  • Uso: Triggers automáticos, scheduled jobs
  • Runtime: Node.js 22

5. Firebase Storage

  • Propósito: Armazenamento de mídias (imagens, vídeos, documentos)
  • Uso: Anexos de mensagens WhatsApp
  • CDN: Distribuição global

📦 Configuração

Frontend (LipMKT)

Backend (backendLip)

🔐 Autenticação Multi-Tenant

Custom Claims

O LIP utiliza custom claims para implementar multi-tenancy:

Verificação de Token

Login no Frontend

📊 Estrutura do Firestore

Coleções Principais

firestore/
├── companies/                    # Empresas (tenants)
│   └── {companyId}/
│       ├── name: string
│       ├── tenantId: string
│       ├── isActive: boolean
│       ├── subscription: object
│       ├── whatsappConfig: object
│       └── aiConfig: object
│
├── conversations/                # Conversas WhatsApp
│   └── {conversationId}/
│       ├── companyId: string
│       ├── phoneNumber: string
│       ├── status: 'bot'|'human'|'closed'
│       ├── assignedAgentId?: string
│       ├── priority: 'low'|'medium'|'high'
│       ├── tags: string[]
│       ├── lastMessageAt: timestamp
│       └── whatsappUser: object
│
├── messages/                     # Mensagens individuais
│   └── {messageId}/
│       ├── conversationId: string
│       ├── content: string
│       ├── messageType: string
│       ├── isFromBot: boolean
│       ├── messageOrigin: 'whatsapp'|'dashboard'
│       ├── timestamp: timestamp
│       └── metadata: object
│
├── flows/                        # Fluxos de automação
│   └── {flowId}/
│       ├── companyId: string
│       ├── name: string
│       ├── isActive: boolean
│       ├── trigger: object
│       ├── nodes: array
│       └── edges: array
│
├── agents/                       # Agentes/Usuários
│   └── {userId}/
│       ├── email: string
│       ├── displayName: string
│       ├── companyId: string
│       ├── role: string
│       ├── isOnline: boolean
│       └── lastSeen: timestamp
│
└── custom_functions/             # Funções personalizadas
    └── {functionId}/
        ├── companyId: string
        ├── name: string
        ├── code: string
        └── trigger: string

🔄 Tempo Real com Firestore

Listener de Conversas

Listener de Mensagens

📡 Realtime Database (Presença)

Status de Agentes

Escutar Status de Agentes

💾 Storage (Mídias)

Upload de Arquivo

🔒 Security Rules

Firestore Rules

Realtime Database Rules

Storage Rules

🚀 Boas Práticas

1. Batching de Operações

2. Paginação

3. Cleanup de Listeners

📊 Monitoramento

Firebase Console

  • Authentication: Gerenciar usuários
  • Firestore: Visualizar dados em tempo real
  • Storage: Gerenciar arquivos
  • Functions: Logs e métricas
  • Usage: Monitorar quotas e custos

Logs no Backend

🔗 Próximos Passos


Firebase é o coração do LIP! 🔥

🎨 Demonstração: Syntax Highlighting Avançado

O LipDocs agora suporta syntax highlighting avançado com:

  • Linguagens suportadas: TypeScript, JavaScript, JSON, Python, SQL, etc.
  • Tema dark otimizado: Cores personalizadas para melhor legibilidade
  • Scrollbars customizados: Visual moderno e funcional
  • Fontes monospace: JetBrains Mono, Fira Code, SF Mono

Exemplo Completo com TypeScript

Exemplo com JSON (Security Rules)

Exemplo com SQL (Para comparações)

✨ Os blocos de código agora têm:

  • Syntax highlighting automático
  • Tema dark personalizado
  • Scrollbars estilizados
  • Fontes monospace premium
  • Suporte a múltiplas linguagens

Última atualização

26 de novembro de 2025