Ir al contenido

Plantillas

Una plantilla (Template) es un mensaje reutilizable asociado a una sesión, con dos mecanismos de variación:

Hola {{nombre}}, tu turno es el {{fecha}} a las {{hora}}.

Al crear o actualizar una plantilla, TemplateRendererService.extractVariables() detecta automáticamente los nombres entre dobles llaves y los guarda en template.variables. Al renderizar (POST /sessions/:sessionId/templates/render o desde un schedule), todas las variables detectadas son obligatorias — si falta alguna en el variables que mandás, tira 400 Bad Request con el detalle.

{Hola|Buenas|Qué tal} {{nombre}}, {no te olvides|acordate} de tu cita.

En cada render se elige una opción al azar por cada bloque {a|b|c}. Esto existe específicamente para evitar mandar el mismo texto literal a muchos destinatarios en un envío masivo — ver por qué importa.

El spintax se resuelve antes de sustituir variables, y el patrón que lo detecta ({contenido-sin-llaves-anidadas} con al menos un | adentro) nunca confunde {{variable}} con un bloque de spintax, aunque compartan el carácter {.

El plan Free permite hasta 3 plantillas por sesión (checkTemplateLimit); Pro y admin no tienen ese límite. Ver Suscripciones.

Todos scopeados a sessions/:sessionId/templates:

Método Ruta Qué hace
POST / Crea una plantilla
GET / Lista las plantillas de la sesión
GET /:id Obtiene una plantilla
PATCH /:id Actualiza (recalcula variables si cambia el mensaje)
DELETE /:id Elimina
POST /render Renderiza sin enviar — útil para previsualizar