Plantillas de E-mail
Requisitos previos de acceso
- Permiso (módulo): acceso habilitado por el guard administrativo de la ruta (
admin). No existe un módulo dinámico específico para esta pantalla. - Licencia/Feature: Ninguna.
- Contenedor del menú: GENERAL → grupo Comunicación (ícono
campaign) → Plantillas de E-mail.
Qué es / cuándo usar
Catálogo de las plantillas transaccionales de la plataforma — el contenido específico de cada correo del sistema (bienvenida, recuperación de contraseña, confirmaciones, códigos, etc.). Cada plantilla tiene versión en Portugués e Inglés, y puede incluir también un texto de SMS equivalente. Úsalo para editar el texto/HTML que el sistema envía automáticamente en cada evento, sin modificar el código.
Requisitos previos
- Permiso: ítem bajo el guard
adminde la ruta. El permiso en Axia es doble (enum CPM + módulo dinámico en DB); aquí el gate es el guard de ruta. - Licencia/Feature: ninguna.
- Dependencias de otras pantallas: el marco (encabezado/pie/marca) que rodea este contenido proviene de la Plantilla Maestra.
Paso a paso
- Accede al menú Comunicación → Plantillas de E-mail.
- La pantalla lista las plantillas existentes; usa la búsqueda para filtrar por
ido asunto (pt/en). - Haz clic en Visualizar para abrir la vista previa directamente, o en Editar para abrir el editor.
- En el editor, ajusta el asunto/HTML/SMS por idioma usando las pestañas.
- Previsualiza y Guarda.
Campos
Listado
| Columna | Qué muestra | Origen del dato |
|---|---|---|
Id (id) | Identificador de la plantilla (la clave que el sistema usa para disparar) | email_template.id |
Asunto (subject) | Asunto en Portugués | subject |
Tiene Inglés (hasEnglish) | Si existe una versión en inglés completada | derivado de subject_en/htmlData_en |
Tiene SMS (hasSms) | Si hay texto de SMS asociado | derivado de sms/sms_en |
| Acciones | Visualizar / Editar | — |
Editor (modal)
| Campo | Qué es | ¿Obligatorio? | Efecto en el sistema/backend |
|---|---|---|---|
Asunto (subject / subject_en) | Asunto del correo por idioma | Sí (al menos pt) | Guardado en la plantilla; usado como subject en el envío automático. |
HTML (htmlData / htmlData_en) | Cuerpo HTML del correo por idioma | Sí | Contenido renderizado dentro del marco de la Plantilla Maestra. |
Cuerpo texto (body) | Versión en texto plano (fallback) | No | Alternativa textual cuando corresponda. |
SMS (sms / sms_en) | Texto corto para el canal SMS del mismo evento | No | Permite que el mismo evento también dispare un SMS. |
De / Para (from / to) | Metadatos de remitente/destinatario de la plantilla | No | Campos auxiliares de la plantilla. |
Marcadores del editor
La vista previa sustituye los marcadores por el dato real (usuario autenticado):
| Marcador | Sustituido por |
|---|---|
@name@ | Nombre del usuario |
@email@ | Correo del usuario |
@date@ | Fecha actual (pt-BR) |
@link@ | Origen/URL base de la plataforma |
@code@ | Código numérico de 6 dígitos (ejemplo, para correos de verificación) |
Acciones y modales
- Visualizar: abre el editor en modo solo lectura con la vista previa abierta directamente (
openPreviewDirectly). Si la plantilla no tiene contenido, avisa que no hay nada que mostrar. - Editar: abre el editor con pestañas; al Guardar, envía la plantilla al backend (
updateEmailTemplate). Si tiene éxito, cierra y recarga la lista; si hay error, permanece abierto con aviso. - Previsualizar (pt / en): construye el HTML del idioma con los marcadores resueltos y lo renderiza en un
iframe. Avisa si el idioma elegido está vacío. - Buscar: filtra la tabla por
id,subjectosubject_en.
Reglas de negocio / consideraciones
Atención
- El
idde la plantilla es la clave de disparo que usa el sistema. No inventes ni renombres ids: modifica el contenido, no la clave, o el evento dejará de encontrar la plantilla. - Mantén pt y en coherentes; un idioma vacío degrada la experiencia de quienes usan ese locale.
- El HTML de correo es restrictivo (tablas + estilos inline). Valida en la vista previa antes de guardar.
- Los marcadores en la vista previa usan los datos del operador autenticado (solo para visualización); en el envío real, se rellenan con los datos del destinatario/evento.
- Renderización cross-provider: contenido enviado vía
SimpleEmailService(bodyData+htmlData). HTML incorrecto puede convertirse en texto plano en Mailgun/Brevo/SendGrid; SES lo enmascara.