Variables de Plantilla de Email
Los marcadores de posición te permiten personalizar cada recordatorio de forma automática — el módulo sustituye cada {variable} con datos reales del pedido, el cliente o tu tienda antes de enviarlo.
Disponible desde v1.0.0
Descripción General
Cuando redactas un mensaje de recordatorio, puedes insertar variables en cualquier parte del asunto o del cuerpo del mensaje encerrando el nombre de la variable entre llaves: {reference}, {name}, {totalamount}, etc.
En el momento del envío, el módulo obtiene cada valor del pedido actual y realiza la sustitución. No es necesario configurar nada — la sustitución se produce automáticamente siempre que el marcador esté escrito correctamente, incluyendo las llaves y las mayúsculas/minúsculas exactas que se indican en esta guía.
En el editor de mensajes del Back Office hay integrado un panel de referencia de variables desplegable, por lo que no necesitas memorizar los nombres. Haz clic en Available Variables encima del campo de asunto o mensaje para expandir la lista y, a continuación, haz clic en cualquier nombre de variable para copiarlo al portapapeles.
Las variables que generan HTML — concretamente {shop_logo}, {order_products} y {urgency_banner} — solo deben colocarse en el cuerpo del mensaje, no en el asunto. El asunto no puede renderizar HTML, por lo que estas tres variables están intencionalmente ocultas en el selector de variables del asunto.
Configuración
No hay nada que activar — las variables están siempre disponibles en todos los mensajes de recordatorio. Para insertar una:
- Ve a Módulos > Gestor de módulos > Order Payment Reminders Pro > Configurar.
- Haz clic en Editar en cualquier mensaje de la lista.
- Coloca el cursor en el campo Asunto o Mensaje donde quieras que aparezca el valor.
- Haz clic en Available Variables encima del campo para expandir el panel de referencia.
- Haz clic en el nombre de la variable — se copia al portapapeles.
- Pégala en la posición del cursor y haz clic en Guardar.
También puedes escribir una variable directamente. Asegúrate de incluir ambas llaves y de que el nombre sea exacto — {reference} funciona; { reference } o {Reference} no.
Las variables personalizadas (datos bancarios, teléfono de soporte, etc.) deben definirse primero en la pestaña Variables personalizadas antes de que estén disponibles como marcadores. Consulta Variables Personalizadas.
Cómo Funciona
Cuando el módulo envía un email de recordatorio, construye un mapa de datos a partir del pedido actual: el nombre del cliente, la referencia del pedido, el total, la fecha de realización, etc. Cada marcador de posición en el asunto y el cuerpo se sustituye por el valor correspondiente de ese mapa.
Las variables personalizadas que defines en la pestaña Variables personalizadas se incorporan a este mapa bajo el nombre que les hayas dado. Si el nombre de una variable personalizada coincide con un marcador del mensaje, su valor lo reemplaza. Si no se encuentra ninguna coincidencia, el marcador permanece sin cambios — el cliente verá el texto literal {nombre_variable}.
Información de la tienda
Estas variables muestran información sobre tu tienda y están disponibles tanto en el asunto como en el cuerpo del mensaje.
| Variable | Salida | Ejemplo | ¿En asunto? |
|---|---|---|---|
{shop_name} | El nombre de tu tienda tal como está configurado en Parámetros de la tienda > Contacto | Mi Tienda Online | Sí |
{shop_url} | La URL completa de tu tienda, incluida la barra final | https://mitienda.com/ | Sí |
{shop_logo} | Una etiqueta <img> que apunta al logotipo de tu tienda | (etiqueta HTML de imagen) | No |
No coloques
{shop_logo}en el asunto — aparecerá como una etiqueta HTML en texto plano. Úsalo únicamente en el cuerpo del mensaje.
Información del cliente
Estas variables usan el nombre y los datos del cliente que realizó el pedido.
| Variable | Salida | Ejemplo | ¿En asunto? |
|---|---|---|---|
{name} | Nombre del cliente | Juan | Sí |
{surname} | Apellido del cliente | García | Sí |
{completename} | Nombre completo del cliente (nombre + apellido) | Juan García | Sí |
Usa {name} para un tono informal ("Hola {name},") y {completename} para comunicaciones formales ("Estimado/a {completename},").
Información del pedido
Estas variables reflejan el pedido específico sobre el que se envía el recordatorio.
| Variable | Salida | Ejemplo | ¿En asunto? |
|---|---|---|---|
{reference} | El número de referencia del pedido | GDQFM-LMQDB | Sí |
{totalamount} | Importe total del pedido con impuestos incluidos, formateado en la moneda del pedido | € 129,90 | Sí |
{order_products} | Una tabla HTML con estilo que lista cada producto con su imagen, cantidad y precio | (tabla HTML) | No |
{order_products_text} | Una lista de productos en texto plano, uno por línea | - Camiseta Azul x2 — €29,00 | No |
{order_products} genera una tabla de productos completa con miniaturas, diseñada para usarse dentro del cuerpo de un email HTML. Si el pedido no tiene productos, genera una cadena vacía en lugar de una tabla rota.
{order_products_text} genera un producto por línea con el formato - Nombre del producto xCantidad — Precio, seguido de una línea con el total. Úsalo en secciones de texto plano de tu email en lugar del cuerpo HTML.
Tiempo y cancelación
Estas variables reflejan la antigüedad del pedido y el plazo de cancelación automática configurado. Si no se ha establecido ningún plazo de cancelación en la Configuración Global, {daysleft} y {hoursleft} devuelven 0.
| Variable | Salida | Ejemplo | ¿En asunto? |
|---|---|---|---|
{cancel_days} | Número total de días configurados para la cancelación automática | 7 | Sí |
{daysleft} | Días completos restantes hasta el plazo de cancelación automática | 3 | Sí |
{hoursleft} | Horas restantes hasta el plazo de cancelación automática | 68 | Sí |
{hoursleft} es el valor bruto en horas — por ejemplo, 3 días restantes equivalen a 68 horas. Usa {hoursleft} en mensajes de aviso final donde las horas generan más urgencia que los días.
Formatos de fecha
Todas las variables de fecha muestran la fecha en que se realizó el pedido, no la fecha actual.
| Variable | Formato | Ejemplo | ¿En asunto? |
|---|---|---|---|
{date} | d-m-Y | 09-05-2026 | Sí |
{date_us} | Y-m-d | 2026-05-09 | Sí |
{date_english} | Ordinal en inglés | 9th, May 2026 | Sí |
{date_short} | Corto localizado (sin año) | Sáb, 9 May | Sí |
{date_full} | Completo localizado (sin año) | Sábado, 9 May | Sí |
{date_short_year} | Corto localizado con año | Sáb, 9 May 2026 | Sí |
{date_full_year} | Completo localizado con año | Sábado, 9 May 2026 | Sí |
{date_short} y {date_full} (y sus variantes _year) usan la configuración regional de tu tienda para los nombres de mes y día. El idioma de salida coincide con el idioma que el cliente eligió al realizar el pedido, no con el idioma del Back Office. Una tienda en francés mostrará "samedi, 9 mai" mientras que una tienda en inglés mostrará "Saturday, 9 May".
{date_short_year} y {date_full_year} funcionan de forma idéntica a {date_short} y {date_full} pero incluyen el año. Estas cuatro variables no aparecen en el selector de variables de la aplicación, pero funcionan correctamente en cualquier mensaje.
Banner de urgencia
| Variable | Salida | ¿En asunto? |
|---|---|---|
{urgency_banner} | Un bloque HTML de banner con código de colores que resume los días restantes hasta la cancelación | No |
El banner de urgencia es un bloque HTML autocontenido con estilos en línea — compatible con todos los principales clientes de email. Su color cambia automáticamente en función de {daysleft}:
- Verde (más de 5 días): "Tu pedido se reservará durante N días más."
- Naranja (2–5 días): "Tu pedido se reservará durante N días más."
- Rojo (menos de 2 días): "Tu pedido está a punto de cancelarse."
El banner solo se muestra cuando la cancelación automática está configurada (Cancelar pedido después de N días > 0). Si no hay ningún plazo de cancelación, {urgency_banner} genera una cadena vacía y no deja ningún hueco visible en tu email.
Coloca {urgency_banner} cerca de la parte superior del cuerpo del mensaje para maximizar su visibilidad, especialmente en los mensajes de aviso final.
Variables personalizadas
Cualquier entrada que definas en la pestaña Variables personalizadas queda disponible como marcador usando el nombre que le hayas dado. Los tres nombres convencionales usados en los mensajes de plantilla precargados son:
| Variable | Salida | Ejemplo |
|---|---|---|
{account_info} | Nombre del titular de la cuenta bancaria | Smart Modules SL |
{account_number} | Número de cuenta bancaria o IBAN | ES91 2100 0418 4502 0005 1332 |
{bank_address} | Dirección del banco o datos de la sucursal | CaixaBank, Barcelona |
Estos marcadores solo funcionan cuando has creado entradas coincidentes en la pestaña Variables personalizadas con esos nombres exactos. Si no existe una variable personalizada coincidente, el marcador se sustituye por una cadena vacía.
Puedes definir cualquier nombre de variable personalizada que elijas — por ejemplo, una variable llamada support_phone se convierte en {support_phone} en tus mensajes. Consulta Variables Personalizadas para obtener instrucciones paso a paso.
Variables internas de plantilla
Las siguientes variables son utilizadas por la plantilla HTML del wrapper de email (mails/template/template.html), no en el editor de mensajes en sí. Se documentan aquí como referencia al editar el diseño de la plantilla de email.
| Variable | Dónde se usa |
|---|---|
{wr_title} | Se sustituye por el asunto del mensaje en la cabecera de la plantilla HTML |
{wr_message} | Se sustituye por el cuerpo completo del mensaje en la plantilla HTML |
{wr_subject} | Idéntico a {wr_title} — también disponible en la plantilla HTML |
{wr_cancel_order} | Indicador interno — genera 1 o 0; no usar en el texto del mensaje |
No uses {wr_cancel_order} en un asunto o cuerpo — es un valor interno que mostrará 0 o 1 a tus clientes.
Ejemplos de Uso
Ejemplo: Primer recordatorio informal con datos bancarios
Asunto: Recordatorio de pago para tu pedido {reference}
Cuerpo:
Hola {name},
Solo un aviso rápido — tu pedido {reference} realizado el {date} está esperando el pago.
Importe pendiente: {totalamount}
Por favor, realiza la transferencia a:
Titular de la cuenta: {account_info}
IBAN: {account_number}
Gracias,
{shop_name}
Ejemplo: Seguimiento formal con lista de productos
Asunto: Pedido {reference} — pago pendiente
Cuerpo:
Estimado/a {completename},
Nos ponemos en contacto en relación con tu pedido {reference}.
A continuación te recordamos los productos que pediste:
{order_products}
Total pendiente: {totalamount}
Por favor, completa el pago lo antes posible.
Un cordial saludo,
{shop_name}
Ejemplo: Aviso final con banner de urgencia y cuenta atrás en horas
Asunto: AVISO FINAL: El pedido {reference} se cancela en {daysleft} días
Cuerpo:
Estimado/a {name},
{urgency_banner}
Tu pedido {reference} se cancelará automáticamente en {daysleft} días ({hoursleft} horas) si no recibimos el pago.
Importe pendiente: {totalamount}
{shop_name}
Notas Importantes
- Todas las variables distinguen entre mayúsculas y minúsculas.
{Name}y{NAME}no serán sustituidas — usa exactamente los nombres en minúsculas que se indican en esta guía. - Las variables que generan HTML (
{shop_logo},{order_products},{urgency_banner}) solo deben usarse en el cuerpo del mensaje, nunca en el asunto. {daysleft}y{hoursleft}devuelven0cuando no hay ningún plazo de cancelación automática configurado. Evita usarlas en mensajes donde la cancelación no sea relevante — mostrarán "0 días restantes", lo que puede confundir a los clientes.{order_products}puede devolver una cadena vacía si los datos de productos del pedido no están disponibles por un error de contexto en el cron. Esto se gestiona correctamente — no queda ningún HTML roto.- Los nombres de variables personalizadas solo se resuelven cuando existe una entrada coincidente en la pestaña Variables personalizadas. Una variable personalizada que falta devuelve silenciosamente una cadena vacía.
- Multi-tienda: las variables se resuelven en el contexto de la tienda a la que pertenece el pedido. Las variables personalizadas son por tienda, por lo que un marcador definido en la Tienda A no estará disponible en la Tienda B.
{date_short_year}y{date_full_year}no aparecen en el selector de variables de la aplicación, pero funcionan correctamente en cualquier cuerpo de mensaje o asunto.
Solución de Problemas
| Problema | Solución |
|---|---|
Una variable aparece como texto literal (p. ej., {reference} no se sustituye) | Comprueba la ortografía y las mayúsculas/minúsculas — el nombre de la variable debe coincidir exactamente con los nombres de esta guía, incluyendo ambas llaves { y } sin espacios en el interior. |
{daysleft} o {hoursleft} muestra 0 en todos los emails | La cancelación automática no está configurada. Ve a Configuración Global y establece un valor para Cancelar pedido después de N días. |
{order_products} no muestra nada | Esto puede ocurrir cuando el pedido no tiene productos o cuando se produce un error de formato de precio en el contexto del cron. Comprueba Parámetros avanzados > Registros para entradas de WireTransferReminder. |
{account_info} o {account_number} no muestra nada | Son variables personalizadas. Ve a la pestaña Variables personalizadas y crea entradas con exactamente esos nombres. Consulta Variables Personalizadas. |
{urgency_banner} no muestra nada | El banner solo se muestra cuando hay un plazo de cancelación configurado. Activa Cancelar pedido después de N días en la Configuración Global. |
{shop_logo} aparece como HTML en bruto en un email | La etiqueta <img> del logotipo solo se renderiza en cuerpos de email HTML. No la coloques en el asunto. Algunos clientes de email también bloquean las imágenes remotas de forma predeterminada — es posible que los clientes deban hacer clic en "mostrar imágenes". |
| Una variable personalizada que he definido no se sustituye | Verifica que el nombre de la variable en la pestaña Variables personalizadas coincide exactamente con el marcador, incluidas las mayúsculas/minúsculas. Confirma también que está guardada en la tienda correcta si usas una configuración multi-tienda. |
Preguntas Frecuentes
¿Puedo usar variables en el asunto del email?
La mayoría de las variables funcionan en el asunto, incluyendo {reference}, {name}, {completename}, {totalamount}, {daysleft}, {hoursleft} y todos los formatos de fecha. Las excepciones son las variables que generan HTML — {shop_logo}, {order_products} y {urgency_banner} — que solo pueden usarse en el cuerpo. El selector de variables de la aplicación muestra únicamente las variables válidas para el asunto cuando lo expandes encima del campo de asunto.
¿Qué ocurre si uso un nombre de variable desconocido como {micampo}?
Si micampo no coincide con ninguna variable integrada y no está definida como Variable Personalizada, el marcador se deja sin cambios — los clientes verán el texto literal {micampo}. Prueba siempre con un email de prueba antes de activar un mensaje.
¿Cómo añado mi IBAN y el nombre del titular de la cuenta a los emails?
Crea dos Variables Personalizadas en la pestaña Variables personalizadas — una llamada account_info con el nombre del titular de tu cuenta y otra llamada account_number con tu IBAN. Luego usa {account_info} y {account_number} en el cuerpo de tu mensaje. Consulta Variables Personalizadas para obtener instrucciones paso a paso.
¿{totalamount} incluye impuestos?
Sí. {totalamount} muestra el total con impuestos incluidos del pedido, formateado en la moneda del pedido.
¿Puedo mostrar días y horas restantes en el mismo mensaje?
Sí. Usa {daysleft} y {hoursleft} juntos — por ejemplo: "Tu pedido se cancelará en {daysleft} días ({hoursleft} horas)." Ambos valores provienen del mismo cálculo y son siempre coherentes entre sí.
Las variables de fecha muestran la fecha del pedido, no la fecha de hoy — ¿hay alguna forma de mostrar la fecha actual?
Todas las variables de fecha ({date}, {date_us}, etc.) reflejan la fecha en que se realizó el pedido, no la fecha actual. No existe una variable {hoy} integrada. Si necesitas comunicar urgencia, usa {daysleft} y {hoursleft} en su lugar.
¿Los formatos de fecha localizados ({date_short}, {date_full}) se traducen automáticamente?
Sí. Estas variables usan el idioma que el cliente eligió al realizar el pedido para formatear los nombres de mes y día. Un pedido en francés mostrará "samedi, 9 mai" mientras que un pedido en inglés mostrará "Saturday, 9 May" — independientemente del idioma de tu Back Office.
¿Puedo crear mis propias variables para cosas como un teléfono de soporte o un enlace de pago?
Sí. Cualquier entrada que añadas en la pestaña Variables personalizadas queda disponible como marcador usando el nombre de variable que hayas elegido. Por ejemplo, una variable personalizada llamada support_phone se convierte en {support_phone} en el cuerpo de tu mensaje. Consulta Variables Personalizadas.
¿Cuál es la diferencia entre {wr_title} y {wr_subject}?
Generan el mismo valor — el asunto del mensaje de recordatorio actual. Ambas se usan en la plantilla HTML del wrapper de email, no en el editor de mensajes en sí. No necesitas usar ninguna de las dos en los campos de asunto o cuerpo de tus mensajes.