Plantillas
Una plantilla (Template) es un mensaje reutilizable asociado a una sesión, con dos mecanismos de variación:
Variables ({{variable}})
Sección titulada «Variables ({{variable}})»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.
Spintax ({opción1|opción2|opción3})
Sección titulada «Spintax ({opción1|opción2|opción3})»{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 {.
Límite por plan
Sección titulada «Límite por plan»El plan Free permite hasta 3 plantillas por sesión (checkTemplateLimit); Pro y admin no tienen ese límite. Ver Suscripciones.
Endpoints
Sección titulada «Endpoints»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 |