Saltar al contenido principal

Crear y editar mensajes de recordatorio

Los mensajes de recordatorio son los correos individuales que tu tienda envía a los clientes que aún no han pagado su pedido.

nota

Disponible desde v1.0.0

Cada mensaje tiene su propio calendario, contenido y disparador de cancelación opcional.

Descripción general

Order Payment Reminders Pro funciona ejecutando un proceso diario (mediante cron) que analiza tus pedidos sin pagar y asigna a cada uno el recordatorio correspondiente según el tiempo transcurrido desde que se realizó el pedido. Tú defines tantos mensajes como necesites: un aviso amable al segundo día, un seguimiento al quinto, una advertencia final al noveno, etcétera.

Cada mensaje de recordatorio es independiente. Tú controlas:

  • Cuándo se envía: un número de horas o días después de la creación del pedido.
  • A qué método de pago aplica, de modo que los clientes que pagaron por transferencia bancaria reciban correos distintos a los que usaron otro método offline.
  • Qué dice: un asunto traducible y un cuerpo con formato enriquecido, con variables extraídas del pedido.
  • Si cancela el pedido: opcionalmente, la ejecución del cron que envía este mensaje también cancela el pedido sin pagar en ese mismo momento.

Los mensajes se almacenan en la base de datos y se listan en orden cronológico en el Back Office, para que siempre puedas ver de un vistazo la secuencia completa de envío.

Configuración

Añadir un nuevo mensaje

  1. Ve a Módulos > Gestor de módulos, busca Order Payment Reminders Pro y haz clic en Configurar.
  2. Desplázate hasta el panel Mensajes y haz clic en Añadir nuevo mensaje.
  3. El formulario del mensaje se abre con tres secciones: Programación, Contenido del correo y Opciones avanzadas.

Sección Programación:

CampoValoresObligatorioDescripción
Módulo de pagoLista desplegableMétodo de pago al que aplica este mensaje. Se obtiene de los pedidos de tu tienda. Si aún no hay pedidos, aparecen por defecto bankwire y ps_wirepayment. Cada mensaje está asociado a exactamente un método de pago.
Unidad de tiempoDías / HorasIndica si el número siguiente se expresa en días naturales o en horas.
Tiempo tras la creación del pedidoNúmero entero positivoTiempo que debe transcurrir desde que se realiza el pedido para que se envíe este recordatorio. Debe ser 1 o más. No se aceptan decimales.

Sección Contenido del correo:

CampoValoresObligatorioDescripción
Usar una plantillaLista desplegable (14 opciones)NoRellena automáticamente el asunto y el cuerpo con una plantilla predefinida. Solo aparece al crear un mensaje nuevo, no al editarlo. Agrupadas en: Aviso amable, Seguimiento persistente y Urgente / Final.
Asunto del correoTexto plano, por idiomaSí (idiomas activos)Línea de asunto del correo de recordatorio. Debe rellenarse en todos los idiomas activos. Admite variables; consulta Variables de plantilla de correo.
Mensaje a enviarEditor de texto enriquecido, por idiomaSí (idiomas activos)Cuerpo HTML del correo de recordatorio. El editor TinyMCE se carga automáticamente. Debe rellenarse en todos los idiomas activos. Admite variables.

Sección Opciones avanzadas:

CampoValoresValor por defectoDescripción
Cancelar el pedido tras este mensajeActivado / DesactivadoDesactivadoCuando está activado, la ejecución del cron que envía este mensaje también cambia el estado del pedido a Cancelado y repone el stock.
  1. Haz clic en Guardar. Volverás a la lista de mensajes y se mostrará una confirmación.

Si intentas guardar un mensaje con el mismo módulo de pago, unidad de tiempo y calendario que uno ya existente, el módulo mostrará un error de programación duplicada. Cada combinación debe ser única por método de pago.

Editar un mensaje existente

  1. En la lista Mensajes, haz clic en el icono Editar (lápiz) de la fila que deseas modificar.
  2. Se abre el mismo formulario con los valores actuales ya rellenados.
  3. Realiza los cambios y haz clic en Guardar.

El asunto y el cuerpo se almacenan por idioma y por tienda. Si tu tienda tiene varios idiomas activos, el formulario muestra una pestaña de idioma para cada uno. Debes rellenar el asunto y el cuerpo en todos los idiomas activos antes de guardar.

Activar o desactivar "Cancelar pedido" sin abrir el formulario

Haz clic en el interruptor de la columna Cancelar pedido directamente desde la lista. La página se recarga y confirma el cambio. No es necesario abrir el formulario de edición.

Eliminar un mensaje

Haz clic en el icono Eliminar (papelera) de la fila y confirma cuando se te solicite. También puedes seleccionar varios mensajes con las casillas de verificación y usar Eliminar seleccionados en el menú de acciones en masa que aparece al pie de la lista.

Eliminar un mensaje es permanente. El cron deja de enviarlo inmediatamente en la siguiente ejecución. Los datos históricos sobre qué pedidos recibieron ese mensaje no se ven afectados.

Cómo funciona

Cómo el motor cron decide el siguiente mensaje a enviar

Cuando se ejecuta el cron, calcula cuántas horas han transcurrido desde la creación de cada pedido sin pagar. Para cada pedido, busca el mensaje con el umbral de tiempo más alto que no supere el tiempo transcurrido y que aún no se haya enviado a ese pedido.

Por ejemplo: si tienes mensajes en el día 2, el día 5 y el día 9, y un pedido tiene ahora 6 días de antigüedad sin mensajes enviados, el cron envía el mensaje del día 5. El mensaje del día 2 se omite; no hay envíos retroactivos.

Una vez enviado el mensaje, el registro del pedido se actualiza para que el mismo mensaje no se vuelva a enviar. En la siguiente ejecución del cron, el motor avanza al siguiente umbral.

Cómo funciona "Días" frente a "Horas"

Cuando eliges Días, el número del calendario se multiplica internamente por 24 para convertirlo a horas antes de la comparación. Cuando eliges Horas, el número se usa tal cual. Esto significa que "2 días" se trata de forma idéntica a "48 horas": ambos se resuelven en un umbral de 48 horas.

Secuencias por método de pago

Cada mensaje está vinculado a exactamente un método de pago. El motor cron lee el método de pago registrado en el pedido y solo envía los mensajes correspondientes a ese método. Si tienes clientes que pagan por transferencia bancaria y clientes que pagan contra reembolso, crea secuencias de mensajes separadas para cada uno.

La lista desplegable de método de pago se construye a partir de la columna module de tus pedidos existentes. Si acabas de instalar el módulo y aún no tienes pedidos, aparecen dos opciones por defecto: bankwire y ps_wirepayment. A medida que entren pedidos reales, la lista se amplía para incluir todos los métodos de pago que hayan procesado algún pedido en tu tienda.

Qué ocurre cuando está activada la cancelación del pedido

Cuando el cron envía un mensaje que tiene activado Cancelar el pedido tras este mensaje, cancela el pedido y repone el stock en esa misma ejecución. Esta opción es independiente de la configuración global de cancelación automática, que cancela pedidos con independencia de si se envió un recordatorio. Ambos mecanismos pueden coexistir.

Ejemplos de uso

Ejemplo: una secuencia de 3 pasos para transferencia bancaria

Esta configuración envía un recordatorio amable el día 2, un seguimiento más firme el día 5 y un aviso de cancelación final el día 9 que cierra el pedido automáticamente.

#Módulo de pagoUnidad de tiempoCalendarioCancelar pedido
1bankwireDías2No
2bankwireDías5No
3bankwireDías9

Para el tercer mensaje, usa {daysleft} y {hoursleft} en el asunto para hacer tangible la urgencia: "Tu pedido se cancelará en {daysleft} días". Añade la variable {urgency_banner} al cuerpo para mostrar un bloque de cuenta atrás con código de color que cambia según se acerca el plazo.

Ejemplo: un único recordatorio justo antes de la cancelación automática global

Si tu cancelación automática global está configurada a 7 días y quieres enviar un aviso en el día 6:

#Módulo de pagoUnidad de tiempoCalendarioCancelar pedido
1bankwireDías6No

Deja desactivado Cancelar el pedido tras este mensaje: la cancelación automática global se encarga de cancelar en el día 7. Este mensaje es puramente informativo y da al cliente una última oportunidad de actuar.

Ejemplo: recordatorios por horas para una ventana de pago de 48 horas

Algunas tiendas aceptan pagos offline con un plazo de 48 horas. La programación por horas ofrece un control más preciso:

#Módulo de pagoUnidad de tiempoCalendarioCancelar pedido
1bankwireHoras12No
2bankwireHoras36No
3bankwireHoras48

El cron se ejecuta una vez al día de forma predeterminada. Si usas programación por horas, la resolución sigue siendo una comprobación al día a menos que configures el cron para que se ejecute con mayor frecuencia, por ejemplo cada hora.

Notas importantes

  • Restricción de calendario único. La combinación de módulo de pago, unidad de tiempo (días/horas) y número de calendario debe ser única por método de pago. No puedes tener dos mensajes para bankwire configurados en "2 días". El módulo mostrará un error de programación duplicada si lo intentas.

  • Visualización cronológica. La lista de mensajes se ordena por horas totales, de modo que la secuencia siempre aparece en orden de envío independientemente del orden en que hayas creado los mensajes.

  • Multiidioma. El asunto y el cuerpo se almacenan por idioma y por tienda. Si más adelante añades un nuevo idioma activo a tu tienda, edita cada mensaje para rellenar los campos del nuevo idioma. Los idiomas inactivos pueden tener contenido en blanco.

  • Multitiendo. En una configuración multitiendo, el contenido de idioma (asunto y cuerpo) se guarda para el contexto de la tienda activa. La configuración de programación (tiempo, módulo de pago, indicador de cancelación) se comparte entre todas las tiendas. Cambia a la tienda correcta en el encabezado del Back Office antes de editar el contenido de los mensajes si necesitas copias específicas por tienda.

  • Modo de prueba. Cuando el modo de prueba está activo, el cron envía todos los correos únicamente a la dirección de prueba y no actualiza el registro de seguimiento ni cancela ningún pedido. Esto significa que puedes activar el cron repetidamente y los mismos mensajes se envían cada vez. Desactiva el modo de prueba antes de pasar a producción.

  • Selector de plantillas. El selector de plantillas predefinidas solo aparece en el formulario de nuevo mensaje. En el formulario de edición de un mensaje existente no se muestra. Para aplicar una plantilla diferente a un mensaje existente, pega el contenido de la plantilla manualmente o elimina y vuelve a crear el mensaje.

  • Frecuencia del cron. El cron procesa cada pedido una vez por ejecución y lo avanza al siguiente umbral. Para que los calendarios por horas funcionen como se espera, el cron debe ejecutarse al menos con la misma frecuencia que tu intervalo de horas más pequeño.

Solución de problemas

ProblemaSolución
Error "Time unit and time after order creation matches with the message id X" al guardarYa tienes un mensaje con el mismo módulo de pago, unidad de tiempo y calendario. Cambia el número de calendario o edita el mensaje en conflicto.
El campo de asunto o mensaje muestra un error de idioma vacíoTodos los idiomas activos deben tener asunto y cuerpo. Haz clic en cada pestaña de idioma del formulario y rellena los campos que falten.
El módulo de pago que necesito no aparece en la listaLa lista se construye a partir de pedidos reales. Realiza un pedido de prueba con ese método de pago (puede cancelarse después) para que aparezca en la lista.
El cron no está enviando un mensajeComprueba que la programación sea correcta y que no estés en modo de prueba. Verifica también que el cron esté ejecutándose correctamente; consulta Configuración del cron.
El mensaje editado no se aplica a pedidos que ya recibieron mensajes anteriores de la secuenciaEs el comportamiento esperado. El motor omite un umbral si el registro de seguimiento del pedido ya muestra un mensaje en ese umbral o más allá. El contenido actualizado se usará la próxima vez que el pedido avance a un nuevo umbral.
Error "Only HTML and CSS is allowed" al guardar el cuerpo del mensajeEl editor TinyMCE ha aceptado contenido con etiquetas no permitidas (script, iframe, etc.). Cambia a la vista de código fuente en el editor y elimina esas etiquetas.
Eliminé un mensaje pero los pedidos parecen saltárselo igualmenteEl motor omite los umbrales eliminados y pasa directamente al siguiente que existe. Confirma la eliminación revisando la lista de mensajes: los mensajes eliminados desaparecen de inmediato.

Preguntas frecuentes

¿Puedo tener secuencias de recordatorio diferentes para distintos métodos de pago?

Sí. Cada mensaje está vinculado a exactamente un método de pago. Crea un conjunto de mensajes separado para cada método de pago que aceptes; el motor cron envía la secuencia correcta según cómo haya pagado el cliente.

¿Qué ocurre con una secuencia si elimino uno de los mensajes intermedios?

El motor cron selecciona el mensaje con el umbral de tiempo transcurrido más alto que aún no se haya enviado. Si eliminas el mensaje del día 5, un pedido que estaba esperando ese mensaje recibirá el del día 9 cuando llegue ese momento. El paso eliminado se omite por completo; no hay envíos retroactivos.

¿El indicador "Cancelar el pedido tras este mensaje" reemplaza la configuración global de cancelación automática?

Son independientes. La cancelación automática global (en la Configuración general) cancela pedidos después de un número fijo de días independientemente del último recordatorio enviado. El indicador de cancelación por mensaje cancela el pedido en el momento exacto en que se envía ese mensaje específico. Puedes usar uno, ambos o ninguno.

¿Puedo configurar un mensaje para que se envíe a los 0 días o las 0 horas?

No. El calendario debe ser un número entero positivo mayor que cero. El primer momento posible de envío es 1 hora después de la creación del pedido.

¿Cómo decide el módulo qué mensaje enviar si el cron se ejecuta con menos frecuencia que cada hora?

El motor calcula el total de horas transcurridas desde la creación del pedido y busca el mensaje con el umbral más alto que aún no se haya enviado. Si el cron se ejecuta a diario y tienes mensajes en el día 2 y el día 5, un pedido de 6 días de antigüedad sin mensajes enviados recibirá el del día 5. Para calendarios por horas, configura el cron para que se ejecute cada hora y obtener los mejores resultados.

Tengo dos idiomas activos. ¿Necesito crear registros de mensaje separados para cada idioma?

No. Un solo registro cubre todos los idiomas. El formulario muestra una pestaña de idioma para cada idioma activo, y rellenas el asunto y el cuerpo en cada uno. El módulo envía el correo en el idioma del cliente automáticamente.

¿Los cambios en un mensaje existente afectan a los pedidos que ya recibieron mensajes anteriores de la secuencia?

Sí. El módulo consulta el contenido actual del siguiente mensaje en el momento del envío. Si actualizas el cuerpo del mensaje 3 hoy, cualquier pedido que reciba el mensaje 3 mañana obtendrá la versión actualizada.

¿Puedo usar el mismo número de calendario con Días y Horas para el mismo módulo de pago?

Sí. "5 días" y "5 horas" se tratan como entradas distintas porque la unidad de tiempo es diferente, por lo que ambas pueden existir para el mismo método de pago. Lo que no puedes tener es dos registros de "5 días" para el mismo método de pago.

Funciones relacionadas

  • Plantillas de correo — Personaliza la envoltura HTML externa que rodea cada correo de recordatorio.
  • Variables de plantilla de correo — Referencia completa de todas las {variables} que puedes usar en asuntos y cuerpos de mensajes.
  • Cancelación automática de pedidos — Configuración global que cancela pedidos sin pagar después de un número fijo de días, independientemente de los indicadores de cancelación de los mensajes individuales.
  • Modo de prueba — Envía todos los recordatorios a una dirección de prueba antes de pasar a producción.
  • Configuración del cron — Configura el cron diario (o por horas) que activa el proceso de envío.