ESTA DOCUMENTAÇÃO ESTÁ EM DESENVOLVIMENTO E CONSTANTE ATUALIZAÇÃO.

Smart Forms

Formulários Inteligentes integrados nativamente com o nosso editor visual de formulários e assistidos por IA para captação direta de leads no CRM.

1. Visão Geral

O módulo Smart Forms permite que gestores de marketing criem formulários dinâmicos, altamente otimizados e com conformidade de privacidade, sem escrever uma linha de código. Os dados capturados alimentam em tempo real a régua de scoring e nutrição do CRM do DevCod Agency.

Visual Form Builder
Geração por IA
LGPD Compliance
Attribution Cookies
Zod Validation

2. O Construtor Visual de Formulários

Os formulários são construídos visualmente no painel administrativo (/admin/forms/builder/[formId]) por meio do nosso editor visual proprietário. O sistema conta com componentes customizados que geram layouts flexíveis:

Campos de Dados

  • InputField: Texto simples (Ex: Nome, Empresa)
  • EmailField: Campo de e-mail com validação nativa
  • PhoneField & WhatsAppField: Máscara telefônica
  • NumberField & CurrencyField: Campos numéricos e monetários
  • DateField: Seletor de data integrado

Escolha e Opções

  • SelectField: Listas suspensas dinâmicas
  • RadioGroup: Escolha única
  • CheckboxGroup: Múltipla escolha
  • RatingField: Avaliação por estrelas (0-5)
  • NpsField: Escala NPS (0-10)

Layout e LGPD

  • FormHeader & Section: Títulos e estruturação
  • RichTextBlock & InfoBox: Textos e avisos
  • TwoColumnBlock: Divisão em duas colunas
  • ConsentCheckbox: Caixa de consentimento LGPD
  • Honeypot Field (_gotcha): Campo invisível para prevenção de Spam
  • HiddenField: Metadados e UTMs ocultas

3. Geração de Formulários Assistida por IA

O sistema conta com o painel FormAIPanel integrado ao editor. O usuário final insere um comando em linguagem natural e o agente processa a solicitação traduzindo o prompt em uma estrutura JSON completa de componentes compatível com o nosso construtor.

{`
Fluxo de Geração por IA:
┌─────────────────────────┐      ┌─────────────────────────┐      ┌─────────────────────────┐
│ Prompt do Usuário       │─────▶│ API Endpoint            │─────▶│ Agent (Nova/DevCod AI Core)     │
│ "Crie formulário de..." │      │ /api/.../ai-generate    │      │ Processamento & Schema  │
└─────────────────────────┘      └─────────────────────────┘      └─────────────────────────┘
                                                                               │
┌─────────────────────────┐      ┌─────────────────────────┐                   │
│ Renderização na UI      │◀─────│ Estrutura JSON Layout   │◀──────────────────┘
│ Campo gerados no Canvas │      │ { root, content }       │
└─────────────────────────┘      └─────────────────────────┘
          `}

A geração automatizada cria rótulos (labels), placeholders descritivos, define a obrigatoriedade dos campos e injeta o botão de envio personalizado respeitando as melhores práticas de conversão (CRO).

4. Atribuição e Captura de Cookies (Attribution)

Na rota pública de exibição de cada formulário (/forms/[formId]), o cliente armazena cookies de sessão e atribuição. No momento da submissão do formulário, os seguintes metadados são transmitidos de forma transparente para o CRM:

  • Parâmetros UTM: utm_source, utm_medium, utm_campaign, utm_term, utm_content
  • IDs de Rastreamento de Anúncios: gclid (Google), fbclid (Facebook), ttclid (TikTok)
  • Origens de Tráfego: Referrer inicial, canal de entrada (primeiro toque e último toque)
  • Identificadores de Tenant: siteId e landingPage onde o formulário foi disparado

5. Modelo de Dados e Banco de Dados (DevCod ORM)

A arquitetura do banco de dados reflete o isolamento multi-tenant e a persistência dos dados de edição visual do formulário:

{`
model SmartForm {
  id                   String         @id @default(cuid())
  siteId               String
  name                 String
  description          String?
  status               String         @default("draft")
  theme                String         @default("dark-neon")
  tags                 Json           @default("[]")
  createdAt            DateTime       @default(now())
  updatedAt            DateTime       @updatedAt
  consentMessage       String?
  consentPolicyVersion String?
  notificationEmails   Json           @default("[]")
  publishedAt          DateTime?
  redirectUrl          String?
  slug                 String?
  webhookUrl           String?
  dispatches           FormDispatch[]
  fields               FormField[]
  puckData             FormPuckData?  // Estrutura de dados de blocos do formulário
  responses            FormResponse[]
}
          `}

6. Segurança e LGPD

A submissão de formulários passa por validações de segurança rígidas e conformidade de privacidade de dados:

  • Validação Zod: Todos os payloads de submissão na rota /api/forms/[id] são sanitizados no servidor por esquemas Zod estritos para evitar injeção de scripts (XSS).
  • Consentimento LGPD: O bloco ConsentCheckbox obriga a gravação do consentimento atrelado à versão da política de privacidade no lead criado no CRM.
  • Isolamento Multi-tenant: Toda query de gravação e consulta executa a verificação getTenantPrisma(siteId) impedindo vazamento de dados entre empresas.
Próximo: Editor de Páginas & Sites →