PS PrestaShop Principiante

DataFirefly Waitlist — Documentación

Instalación, configuración, combinaciones, cron, seguimiento de conversiones y solución de problemas del módulo de alerta de vuelta al stock para PrestaShop 8 y 9.

Actualizado Versión del módulo 1.0.3

Presentación

DataFirefly Waitlist añade una alerta de vuelta al stock a tu tienda PrestaShop 8 o 9. En cuanto un producto — o una combinación concreta — baja del umbral de stock configurado, aparece automáticamente un botón «Avísame cuando vuelva» en la ficha de producto. El visitante deja su email y recibe una alerta en cuanto repones. Cada pedido realizado después por un suscriptor notificado se atribuye como conversión en el dashboard.

Instalación

  1. En el back-office, ve a Módulos → Gestor de módulos → Subir un módulo.
  2. Sube el archivo dfwaitlist-x.x.x.zip.
  3. Haz clic en Instalar. El módulo crea la tabla df_dfwaitlist_subscriber, registra sus hooks y añade su pestaña de administración.
  4. Abre la configuración para indicar el email del comerciante y copiar la URL del cron.

Sin dependencias externas. PHP 7.4 mínimo, compatible hasta PHP 8.3. Código fuente sin cifrar.

Configuración

Ve a Módulos → DataFirefly Waitlist → Configurar. Ajustes disponibles:

  • Doble opt-in — cuando está activo, la suscripción envía primero un email de confirmación. Mientras el visitante no haga clic, la suscripción permanece sin confirmar y no disparará ninguna alerta. Desactivable si prefieres la suscripción instantánea.
  • Umbral de stock — cantidad por debajo de la cual un producto se considera no disponible y muestra el botón.
  • Umbral de alerta al comerciante — número de suscriptores en un mismo producto a partir del cual recibes un email de notificación. 10 por defecto.
  • Email del comerciante — destinatario de la alerta anterior.
  • Duración de las suscripciones — las suscripciones nunca notificadas se purgan automáticamente pasados N días. 90 por defecto.
  • Texto del botón — personalizable por idioma.
  • Aviso RGPD — texto mostrado bajo el formulario, personalizable por idioma.
  • URL del cron — protegida por token, regenerable con un clic desde el back-office.

Funcionamiento del lado del cliente

Aparición del botón

El botón se inyecta mediante el hook displayProductActions y su visibilidad se decide del lado del cliente. El módulo consulta el endpoint /modules/dfwaitlist/stockcheck para conocer el estado real del stock de la combinación mostrada — lo que lo hace independiente del comportamiento de re-renderizado AJAX del tema. Resultado: el botón desaparece si la variante seleccionada está disponible, y reaparece si no, sin recargar la página.

Combinaciones (declinaciones)

La suscripción se hace por par (producto, combinación). El formulario muestra explícitamente la variante en cuestión, por ejemplo «Variante: Rojo / Talla L». Cuando el visitante cambia de declinación antes de validar, el objetivo cambia automáticamente. El email de alerta menciona la combinación exacta y enlaza a la ficha con la variante preseleccionada: ninguna confusión posible entre una talla y otra.

Confirmación (doble opt-in)

Con el doble opt-in activo, el suscriptor recibe un email con un enlace de confirmación con token. La suscripción solo cuenta tras el clic. Este mecanismo garantiza la calidad de la lista (sin emails falsos) y aporta una prueba de consentimiento explícita.

Alerta de vuelta al stock

Al reponer, el suscriptor recibe un email HTML responsive con el nombre del producto, la combinación afectada y un enlace directo a la ficha. Cada email contiene un enlace de baja en un clic.

Detección de las reposiciones

Dos canales complementarios, conviene dejar ambos activos:

  1. Hook actionUpdateQuantity — tiempo real. En cuanto un empleado modifica un stock en el back-office, o un pedido cancelado libera stock, los emails salen inmediatamente.
  2. Cron de red de seguridad — protegido por token. Recoge los movimientos de stock que no pasan por los hooks: importaciones API, sincronización ERP, scripts CLI, actualizaciones vía el Webservice de PrestaShop.

Configuración del cron

Copia la URL mostrada en la configuración del módulo (contiene el token de seguridad) y conéctala a una llamada cada hora:

0 * * * * curl -s "https://tu-tienda.com/module/dfwaitlist/cron?token=TU_TOKEN" > /dev/null 2>&1

Si sospechas una filtración del token, regenéralo con un clic desde la configuración — la URL antigua deja de funcionar de inmediato. Recuerda actualizar tu crontab tras la regeneración.

Seguimiento de conversiones

En el hook actionValidateOrder, el módulo compara cada línea del pedido con las suscripciones en estado «notificado». La coincidencia se hace sobre el triple (email, id_product, id_product_attribute). Si hay match, la suscripción se marca como convertida y se registra el id_order.

Como el seguimiento se basa en el email y no en la cuenta de cliente, funciona igual de bien para los pedidos de invitado que para los clientes conectados.

Dashboard de administración

  • 6 KPI — suscriptores, pendientes de confirmación, notificados, compras, tasa de conversión, bajas.
  • Productos con demanda — ordenable y paginado. Es tu lista de prioridades de reposición: un producto con 47 suscriptores son 47 ventas casi seguras si repones rápido.
  • Vista detallada por producto — cada suscriptor con su estado individual.
  • Exportación CSV — exportación completa de la tienda activa: email, producto, combinación, estados (confirmado, notificado, comprado, dado de baja), fechas, IP, id de pedido en caso de conversión. El archivo incluye un BOM UTF-8 para abrirse directamente en Excel sin romper la codificación.

Alerta al comerciante

Cuando un producto agotado alcanza el umbral de suscriptores configurado, un email automático te avisa con el número de personas en espera y un enlace al dashboard. El email se envía solo una vez por producto, para evitar ruido. Es la señal que convierte tu lista de espera en herramienta de gestión de la reposición: priorizas sobre demanda medida, no sobre intuición.

Emails

Tres plantillas, cada una incluida en FR/EN/ES/DE en HTML responsive + texto plano:

  • Confirmación — enviado solo si el doble opt-in está activo, con el enlace de activación.
  • Alerta de vuelta al stock — producto, combinación, enlace directo a la ficha, enlace de baja.
  • Alerta al comerciante — número de suscriptores en espera y enlace al dashboard.

Las plantillas se pueden modificar en modules/dfwaitlist/mails/<iso>/.

RGPD y calidad de la lista

  • Doble opt-in activable, con prueba de consentimiento (la IP se registra al suscribirse).
  • Baja en un clic en cada email de alerta, mediante un token único distinto del token de confirmación. La suscripción se marca como dada de baja sin eliminarse, para conservar la trazabilidad, y no sale ningún email futuro.
  • Purga automática de las suscripciones nunca notificadas pasada la duración configurada (90 días por defecto) — minimización de datos.
  • Honeypot anti-bot integrado en el formulario, y límite de un solo email por producto para evitar suscripciones en ráfaga.
  • Ninguna llamada externa: los datos permanecen en la base de PrestaShop, con alcance por tienda. Nada se envía a DataFirefly ni a ningún servicio de terceros.

Multi-tienda y multilingüe

La tabla de suscripciones incluye las columnas id_shop e id_lang. Cada subtienda de una red multi-tienda dispone por tanto de su propia lista de espera, sus propias alertas al comerciante y sus propios KPI. Los emails salen en el idioma del suscriptor en el momento de la suscripción.

Solución de problemas

El botón no aparece

  • Verifica que el producto está realmente por debajo del umbral de stock configurado — por encima, el botón se oculta deliberadamente.
  • En un producto con declinaciones, verifica la variante seleccionada: el botón solo se muestra si esa variante no está disponible.
  • El tema debe implementar el hook displayProductActions. Classic y Hummingbird lo hacen; en un tema custom poco común, verifica que esté presente en la plantilla de producto.
  • Vacía la caché de PrestaShop (Parámetros avanzados → Rendimiento).

Las alertas no salen al reponer

  • Verifica que la suscripción está confirmada: con el doble opt-in, una suscripción sin confirmar nunca recibe alerta.
  • Si el stock se modificó fuera del back-office (API, ERP, CLI), el hook en tiempo real no se dispara — el cron toma el relevo. Verifica que está funcionando y que el token de la URL está actualizado.
  • Prueba el envío de email de PrestaShop en general (Parámetros avanzados → E-mail → Test).

Algunas conversiones no se contabilizan

La coincidencia exige el email y el producto y la combinación. Si el cliente pide con una dirección de email distinta a la de su suscripción, o compra una declinación diferente a la que esperaba, la conversión no se atribuye — es deliberado, para evitar falsos positivos que falsearían tus KPI.

Desinstalación

La desinstalación elimina la tabla df_dfwaitlist_subscriber y todas las claves de configuración con prefijo DFWAITLIST_. No queda ningún rastro en la base. Se pide una confirmación, ya que las suscripciones y las estadísticas de conversión se perderán definitivamente — exporta el CSV antes si deseas conservar el histórico.

¿Te ha resultado útil esta página?

¿Sigues atascado? Contacta con soporte