Visão Geral
As configurações são separadas em três coleções no Firestore:Configurações públicas
Endpoint sem autenticação. Usado pelo frontend na página de login para carregar nome do site, logo, cores e sliders.Resposta 200
Buscar configurações
Retorna as configurações do usuário autenticado. Chaves sensíveis (brevoApiKey, whatsappToken, brevoSmsApiKey) são mascaradas como "••••••••" na resposta — nunca expostas em texto claro.
Resposta 200
Atualizar configurações
Aceita qualquer combinação de campos. Campos de site e de notificações podem ser enviados juntos. O camponotificacoes é um objeto aninhado — apenas os campos enviados são atualizados (merge).
Campos protegidos ignorados mesmo que enviados: userId, logoKey, logoBrancaKey, faviconKey, criadoEm.
Valores mascarados (
"••••••••") enviados de volta são ignorados — a chave real no banco não é sobrescrita.Resposta 200
Alterar senha
Upload de assets do site
Requer roleSUPER_ADMIN. Todos os assets vão para o bucket público do MinIO.
Logo principal
Logo branca (para fundos escuros)
Favicon
image/jpeg, image/png, image/webp, image/svg+xml, image/x-icon. Limite: 10MB. O arquivo anterior é deletado automaticamente do MinIO antes do upload.
Foto de perfil do usuário
Resposta 201
configuracoes_perfil, sincroniza o photoURL no Firebase Authentication.
Sliders da página de login
Adicionar slide
Requer roleSUPER_ADMIN.
Resposta 201
Editar slide
Campos editáveis:titulo, subtitulo, cta, tag, stat, statLabel. A imagem não pode ser trocada — delete e recrie o slide.
Deletar slide
Remove o arquivo do MinIO e o registro na configuração.WhatsApp via Evolution API
Integração com Evolution API para WhatsApp sem uso de templates aprovados (mensagens de texto livre).Verificar status da instância
Resposta 200 — Conectado
Resposta 200 — Desconectado
Gerar QR Code para conexão
Cria ou reconecta a instânciaimob_{userId} na Evolution API e retorna o QR Code em base64.
Resposta 200