Skip to main content

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 campo notificacoes é 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

A senha é atualizada diretamente no Firebase Authentication via Admin SDK. Mínimo de 6 caracteres.

Upload de assets do site

Requer role SUPER_ADMIN. Todos os assets vão para o bucket público do MinIO.

Logo principal

Logo branca (para fundos escuros)

Favicon

Formatos aceitos: 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
Além de salvar em configuracoes_perfil, sincroniza o photoURL no Firebase Authentication.

Sliders da página de login

Adicionar slide

Requer role SUPER_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ância imob_{userId} na Evolution API e retorna o QR Code em base64.
Resposta 200

Desconectar instância

Remove a instância do WhatsApp completamente da Evolution API.