Template Master
Pré-requisitos de acesso
- Permissão (módulo): acesso liberado pelo guard administrativo da rota (
admin). Não há módulo dinâmico específico para esta tela. - Licença/Feature: Nenhuma.
- Contêiner do menu: GERAL → grupo Comunicação (ícone
campaign) → Template Master.
O que é / quando usar
O Template Master é o "envelope" HTML único e global (id = 'default') que envolve os e-mails transacionais e de campanha da plataforma — cabeçalho, rodapé, logo, cores e redes sociais da marca. Você edita aqui o HTML em Português e em Inglês, e o backend o aplica como moldura ao conteúdo específico de cada e-mail. Use quando precisar ajustar identidade visual, links institucionais ou estrutura comum a todos os e-mails de uma só vez.
Pré-condições
- Permissão: item sob o guard
adminda rota. Permissão no Axia é dupla (enum CPM + módulo dinâmico no DB); aqui o gate é o guard de rota. - Licença/Feature: nenhuma.
- Dependências de outras telas: o conteúdo "miolo" dos e-mails individuais é mantido em Templates de E-mail; o Template Master forna a moldura ao redor desse conteúdo.
Passo a passo
- Acesse o menu Comunicação → Template Master.
- A tela carrega o template
defaulte preenche os dois editores: HTML (pt) e HTML (en). - Edite o HTML em cada idioma.
- Clique em Pré-visualizar (pt ou en) para abrir uma prévia renderizada com dados reais do tenant.
- Clique em Salvar para persistir as alterações.
Campos
| Campo | O que é | Obrigatório? | Efeito no sistema/backend |
|---|---|---|---|
HTML (pt) (htmlData) | Moldura HTML do e-mail em Português | Sim | Gravado em main_template.htmlData do default (CommunicationGateway). Envolve o conteúdo de cada e-mail enviado. |
HTML (en) (htmlData_en) | Moldura HTML em Inglês | Sim | Gravado em main_template.htmlData_en. Usado quando o e-mail é enviado em inglês. |
Placeholders substituídos na prévia (e no envio)
A prévia substitui marcadores @...@ por dados reais do tenant (vindos de getAllExternalLinks + usuário logado). Use exatamente estes tokens no HTML:
| Placeholder | Substituído por |
|---|---|
@CUSTOMER_LOGO@ | URL do logo do tenant (fallback /assets/menu/company_logo.png) |
@CUSTOMER@ | Nome do tenant (derivado do hostname, capitalizado) |
@CUSTOMER_PRIMARY@ | Cor primária da marca (fallback #4CAF50) |
@CUSTOMER_SECONDARY@ | Cor secundária da marca (fallback #2196F3) |
@CUSTOMER_WEBSITE@ | Site institucional (campo "Sobre nós" / origem) |
@INSTAGRAM@ / @FACEBOOK@ / @LINKEDIN@ / @TELEGRAM@ | URLs das redes sociais do tenant |
Ações e modais
- Pré-visualizar (pt / en): monta o HTML do idioma escolhido com os placeholders resolvidos e abre a prévia num
iframe(Blob local). É só visualização — não salva. - Salvar: envia
{ id: 'default', htmlData, htmlData_en }para o backend. Em sucesso, exibe "Template Master atualizado com sucesso!"; em erro, mensagem de falha. A prévia/preview não persiste nada.
Regras de negócio / cuidados
Atenção
- Existe um único Template Master por ambiente (
id = 'default'). Editar aqui afeta todos os e-mails que usam a moldura — valide com a prévia nos dois idiomas antes de salvar. - HTML de e-mail é restritivo. Prefira tabelas e estilos inline; recursos modernos de CSS podem não renderizar em clientes como Outlook/Gmail.
- Mantenha os placeholders
@...@intactos; removê-los faz a marca/links sumirem dos e-mails. - Edite ambos os idiomas: se o
htmlData_enficar vazio, e-mails em inglês perdem a moldura.
- Renderização cross-provider: a moldura é aplicada ao conteúdo e enviada via
SimpleEmailService, que preenchebodyDataehtmlData. HTML quebrado pode renderizar como texto plano em Mailgun/Brevo/SendGrid (o SES mascara o problema).