Campaigns — Construtor de Campanhas (Wizard)
URL:
/ou/{orgId}/campaign-builderPré-requisito: Canal ativo (WhatsApp) + Templates aprovados pela Meta
1. Estrutura do Wizard
O construtor é um wizard de 6 etapas com indicador visual de progresso no topo:
① Importar ② Visualizar ③ Selecionar ④ Configurar ⑤ Configuração ⑥ Resumo
Contatos Contatos modelo modeloCada etapa mostra:
- Ícone representativo
- Nome da etapa
- Indicação visual da etapa atual
2. Etapa 1: Importar Contatos 👥
"Carregue um arquivo CSV com as informações dos seus leads"
2.1 Tab: Importar CSV (default)
| Elemento | Tipo | Descrição |
|---|---|---|
| Área de upload | Drag & drop | "Clique para carregar ou arraste e solte" |
| Choose File | Button | Seletor de arquivo do sistema |
| Formatos suportados | — | CSV, XLS, XLSX |
| Tamanho máximo | — | 4.5 MB |
2.2 Tab: Selecionar Contatos (NOVO)
| Elemento | Descrição |
|---|---|
| Função | Selecionar contatos da base existente do Darwin AI |
| Status | NOVO — funcionalidade recente |
Funcionamento:
- Exibe tabela completa de contatos da base
- "Todo o histórico" — contador de selecionados
- "Selecionar todos os contatos da tabela" — checkbox para seleção em massa
- Colunas: Nome, Tipo, Status, Canal, Lead, Pipeline, Etapa, Criado em, Transferido para, Transferido em, Próximo acompanhamento, Última resposta do lead, Origem, ✨ Campos Personalizados
- Paginação completa
2.3 Template CSV
| Ação | Descrição |
|---|---|
| Baixe o arquivo de modelo aqui | Download do template CSV para preenchimento |
2.4 Navegação
| Botão | Estado inicial | Condição para habilitar |
|---|---|---|
| Próximo | Desabilitado | Upload de CSV OU seleção de contatos |
3. Etapa 2: Visualizar Contatos 👥✅
"Certifique-se de que todas as colunas estejam corretamente etiquetadas e indique qual coluna contém o número de telefone dos leads."
3.1 Otimização de Campanha
| Elemento | Tipo | Descrição |
|---|---|---|
| Toggle | Switch | Ativo/Inativo |
| Descrição | — | "A Otimização de Campanha exclui automaticamente os contatos que correspondam às suas regras de filtro. Adicione pelo menos uma regra para ativá-la." |
3.2 Validação de Contatos
| Elemento | Descrição |
|---|---|
| Alerta de sucesso | "Tudo certo com a sua lista! Cruzamos os dados e nenhum desses contatos estava inativo em campanhas anteriores." |
| Filtrar Contatos | Button com contagem de contatos |
3.3 Mapeamento de Colunas
| Campo | Tipo | Descrição |
|---|---|---|
| Número de telefone | Combobox | Seleciona qual coluna contém o telefone (ex: "Phone Number") |
3.4 Preview da Tabela
| Coluna | Descrição |
|---|---|
| Name | Textbox editável — mapeamento da coluna nome |
| Phone Number | Textbox editável — coluna de telefone |
| Channel | Textbox editável — canal de origem |
| ✨ Campos Personalizados | Textbox editável — campos customizados |
3.5 Navegação
| Botão | Descrição |
|---|---|
| Voltar | Retorna à Etapa 1 |
| Próximo | Avança para Etapa 3 |
4. Etapa 3: Selecionar Modelo 📋
"Selecione um modelo para sua campanha""Por favor, escolha o canal e o modelo que deseja usar para enviar sua mensagem aos leads que você selecionou anteriormente."
4.1 Barra de Ações
| Elemento | Tipo | Descrição |
|---|---|---|
| Buscar modelos | Textbox | Pesquisa por nome/conteúdo |
| Filtros | Button com badge | Filtros avançados |
| Número - Nome do Canal | Combobox | Seletor do canal WhatsApp |
| Atualizar modelos | Button | Sincroniza templates com Meta |
4.2 Tabela de Templates
| Coluna | Descrição |
|---|---|
| Radio | Selecionar template |
| Nome do modelo | Nome + Meta BM ID |
| Mensagem | Prévia + "Ver mais" |
| Tipo de Template | Marketing, Utilitário |
| Data de criação | Data de aprovação |
| Status | approved, pending, rejected |
4.3 Templates Disponíveis
| Nome | Tipo | Mensagem |
|---|---|---|
| Follow up 2 pt-pt | Marketing | "Não hesite em contactar-me caso necessite de apoio..." |
| Follow up 1 pt-pt | Utilitário | "Chegaste a ver a minha última mensagem?" |
| Contato inicial | Marketing | "Olá, tudo bem? Falamos do Mais Carros..." |
4.4 Ações
| Ação | Descrição |
|---|---|
| Solicitar novo modelo | Submeter template para aprovação Meta |
| Voltar | Retorna à Etapa 2 |
| Próximo | Desabilitado até selecionar um template |
5. Etapa 4: Configurar Modelo ⚙️
"Configure seu modelo""Associe os espaços reservados do modelo às colunas do CSV clicando neles."
5.1 Preview da Mensagem
| Seção | Conteúdo |
|---|---|
| Corpo | Texto completo do template selecionado |
5.2 Mapeamento de Variáveis
- Se o template contém placeholders (ex:
{{nome}}), aparecem aqui para mapeamento com colunas do CSV - Templates sem variáveis pulam direto
5.3 Navegação
| Botão | Descrição |
|---|---|
| Voltar | Etapa 3 |
| Próximo | Etapa 5 |
6. Etapa 5: Configuração 🎚️
6.1 Campos da Campanha
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| Nome da Campanha | Textbox | ✅ | Identificador da campanha |
| Origem | Textbox | ✅ | Placeholder: "Exemplo: CRM, HubSpot, Base de Vendas 2023" |
| Pipeline Inicial | Combobox | ✅ | Pipeline para processar respostas (ex: "Qualificação de Vendas") |
6.2 Data de Início
| Opção | Descrição |
|---|---|
| Iniciar agora (default) | Disparo imediato após confirmação |
| Agendar | Data e hora específicas |
6.3 Dias da Semana
Toggle buttons para cada dia:
| Dia | Default |
|---|---|
| Seg | ✅ Selecionado |
| Ter | ✅ Selecionado |
| Qua | ✅ Selecionado |
| Qui | ✅ Selecionado |
| Sex | ✅ Selecionado |
| Sáb | ✅ Selecionado |
| Dom | ❌ |
Contador: "Selecionados: X dias"
6.4 Intervalo de Envio
| Campo | Default | Descrição |
|---|---|---|
| Horário inicial | 09:00 | Spinbuttons hora/minuto + relógio |
| Horário final | 21:00 | Spinbuttons hora/minuto + relógio |
6.5 Total de Leads
Exibe: "Total de leads selecionados: X"
6.6 Navegação
| Botão | Estado | Descrição |
|---|---|---|
| Voltar | — | Etapa 4 |
| Próximo | Desabilitado | Tooltip: "Complete todas as informações para continuar" |
7. Etapa 6: Resumo ✅
"Resumo da campanha""Revise a configuração antes de lançar a campanha."
7.1 Resumo (após carregamento)
| Campo | Valor (exemplo) |
|---|---|
| Nome da campanha | Test KB |
| Canal | Mais Carros · 351934649174 |
| Destinatários | 1 |
| Primeira mensagem | 14/07/2026 14:28 |
| Última mensagem | 14/07/2026 14:28 (estimado) ℹ️ |
| Ritmo | - |
| Horário de envio | 09:00 - 21:00 |
| Dias de envio | seg., ter., qua., qui., sex., sáb. |
| Atribuição | Qualificação de Vendas |
| Mensagem | Modelo: contato_inicial_ID + texto completo |
ℹ️ Tooltip "Última mensagem": "Esta data é uma estimativa. Pode mudar se outra campanha for criada no mesmo canal durante este período."
7.2 Navegação
| Botão | Descrição |
|---|---|
| Voltar | Retorna à Etapa 5 |
| Confirmar e lançar 🚀 | Dispara a campanha |
8. Fluxo Completo (Real)
Etapa 1: Importar Contatos
├── Opção A: Upload CSV (arrastar/soltar, CSV/XLS/XLSX, máx 4.5MB)
│ └── Baixar template CSV para preenchimento
└── Opção B: Selecionar Contatos da base (NOVO)
└── Checkbox na tabela de contatos existentes
Etapa 2: Visualizar Contatos 👥
└── Preview e validação
Etapa 3: Selecionar Modelo 📋
└── Escolher template WhatsApp aprovado
Etapa 4: Configurar Modelo ⚙️
└── Mapear variáveis do template
Etapa 5: Configuração 🎚️
└── Nome, agendamento, velocidade, worker
Etapa 6: Resumo ✅
└── Revisão e lançamento 🚀9. Pós-Lançamento
Após o lançamento, a campanha aparece na Lista de Campanhas com:
- Métricas em tempo real (Entregues, Respondidos, Pendentes, Falhados)
- Status atualizado automaticamente
- Possibilidade de pausar/retomar └── Confirmar → Próximo
Selecionar Modelo ├── Escolher template WhatsApp aprovado └── Confirmar → Próximo
Configurar Modelo ├── Mapear variáveis do template └── Confirmar → Próximo
Configuração ├── Nome da campanha ├── Agendamento ├── Velocidade de envio └── Confirmar → Próximo
Resumo ├── Revisar todas as configurações └── Lançar campanha 🚀
---
## 10. Pós-Lançamento
Após o lançamento, a campanha aparece na Lista de Campanhas com:
- Métricas em tempo real (Entregues, Respondidos, Pendentes, Falhados)
- Status atualizado automaticamente
- Possibilidade de pausar/retomar