Configurar las alertas de email en Prestashop 1.7

Introducción (leer atontados)

Es un pequeño documento a nivel de usuario donde comentaremos brevemente el clásico módulo que lleva Prestashop para enviar notificaciones a clientes y comerciantes con respecto a los cambios de stock y pedidos.

Instalación del módulo alertas por email (correo)

En la actualidad (esto puede ser que cambie en un presente o futuro cercano) no viene en el paquete de descarga, pero lo podemos descargar e instalar automáticamente desde la pestaña Módulos -> Módulos y Servicios

Nos vamos a la pestaña Módulos -> Módulos y Servicios

Pestaña Módulos -> Módulos y Servicios

Y dentro del bloque “Selección” escribimos en el buscador: “ps_emailalerts” y nos aparecerá automáticamente para descargar e instalarlo al instante.

Instalar módulo

Configuración del módulo alertas por email (correo)

Una vez hemos instalado el módulo y hemos accedido a su configuración, veremos disponible “2” bloques de configuración:

Bloque notificaciones de cliente:

Notificaciones cliente
  • Disponibilidad del producto ->  Permite ofrecer al cliente la posibilidad de recibir un aviso por email cuando un producto que se encuentra fuera de stock esté de nuevo disponible.
    Notificarme cuando esté disponible

    Producto de nuevo disponible
  • Modificar pedidos -> Cuando realizamos una modificación sobre el pedido, el cliente recibirá un aviso por email informándole de que su pedido ha sido modificado.

    Email pedido modificado

A continuación, disponemos de otro bloque de configuración denominado: “Notificaciones para el comerciante

Notificaciones para el comerciante
  • Nuevo pedido -> Al activar esta opción, cuando un cliente realice un pedido nosotros recibiremos un email con la información del pedido que ha realizado.

    Email notificación nuevo pedido
  • Fuera de Stock -> En base un umbral que configuramos recibiremos un email sobre el stock de los productos.

    Email fuera de stock (umbral)
  • Umbral -> Esta opción es la que está vinculada con la opción Fuera de Stock respecto a la notificación.
  • Devoluciones -> Cuando un cliente solicita la devolución de un pedido o parte del pedido nosotros recibiremos una notificación de dicha solicitud por email si activamos la opción.

    Email notificación devoluciones
  • Direcciones de correo electrónico -> Definimos las direcciones de correo electrónico a las cuales queremos que lleguen las notificaciones al comerciante que hemos configurado en este bloque.

Emails implicados en las Alertas por Correo

new_order.html / new_order.txt -> Email  de nuevo pedido al comerciante

customer_qty.htmlcustomer_qty.txt -> Email  de aviso que recibe el cliente (debido a que él lo ha solicitado) correspondiente a cuando un producto que no tenía stock ha vuelto a tener disponibilidad.

productoutofstock.htmlproductoutofstock.txt -> Email  que recibe el comerciante cuando el producto ha llegado al umbral configurado.

order_changed.htmlorder_changed.txt -> Email que recibe el cliente notificando al mismo de que has realizado modificaciones sobre su pedido

return_slip.html / return_slip.txt ->  Email que recibe el comerciante cuando el cliente solicita la devolución de un pedido.

Estos emails podemos personalizarlos o editarlos desde la gestión de traducciones en el panel de administración: Modificar traducciones de los emails de los módulos

También podemos editarlos manualmente en los directorios:

modules/ps_emailalerts/mails/prefijoIdioma/
/themes/TuPlantilla/modules/ps_emailalerts/mails/prefijoIdioma  (recordar que siempre tiene prioridad el que esta sobrescrito en la plantilla)

Alertas por Correo en la sección de mi Cuenta

En la sección “Mi cuenta” vemos entre otros bloques uno denominado: “Mis Alertas”

Mis alertas

Si accedemos a la tienda como cliente y accedemos a un producto y decimos que queremos notificar cuando el producto vuelva a tener disponibilidad.

Notificarme cuando esté disponible

Veremos que en la sección “Mis Alertas” tenemos esa alerta añadida.

Mis alertas

Código del módulo Alertas por Correo para avanzados

Aquí vamos comentar algunas aspectos (solo muy poquito para no marear al personal) de código.

Recordar que la carpeta base del módulo se encuentra en el directorio:

/modules/ps_emailalerts/

El módulo se instala en los siguientes hooks:

  • actionValidateOrder
  • actionUpdateQuantity
  • displayProductButtons
  • displayCustomerAccount
  • displayMyAccountBlock
  • actionProductDelete
  • actionProductAttributeDelete
  • actionProductAttributeUpdate
  • actionProductCoverage
  • actionProductOutOfStock
  • actionOrderReturn
  • actionOrderEdited
  • displayHeader

El módulo al instalarse crea las siguientes tablas en la base de datos:

PREFIJOmailalert_customer_oos -> Si el prefijo de las tablas de tu instalación de Prestashop es “ps_” como suele ser habitual la tabla será: ps_mailalert_customer_oos

SQL creación tabla
SQL creación tabla

No tengo mucho tiempo para ir comentando todos los hooks, voy a comentar 4 para que os hagáis una idea.

Recordar que estamos revisando el ficheromodules/ps_emailalerts/ps_emailalerts.php

    • actionValidateOrder -> Hook que se ejecuta al realizar un pedido. En nuestro caso particular si nos fijamos en función public function hookActionValidateOrder($params) lo que hace él es enviar el email del pedido al comerciante de la tienda cuando se realiza el pedido.
    • displayProductButtons -> Hook que podemos ver en la ficha del producto, cuando por ejemplo estamos viendo el bloque para suscribirse a las alertas del producto para cuando tenga stock.
    • displayMyAccountBlock -> Hook que se muestra en la sección de mi cuenta
      my-account.tpl

      Sección mi cuenta
  • displayMyAccountBlock -> Hook que se muestra en el módulo ps_customeraccountlinks

    ps_customeraccountlinks.tpl
    ps_customeraccountlinks.tpl
    Enlace Mis alertas en la visualización del bloque mi cuenta del pie de página

    Si os fijáis en el código de la clase del módulo: modules/ps_emailalerts/ps_emailalerts.php podéis “pensar” que hacen el resto de hooks viendo las funciones correspondientes y su contenido.

Configuración individual de umbral de stock por productos

Decir que esta opción realmente es independiente del módulo Alertas por Correo, la comento simplemente porque os puede ser de utilidad y de un modo u otro tiene relación con la palabra “Alertas”

Si vamos a la pestaña Catalogo -> Productos  y editamos un producto cualquiera, dentro de la sección “Cantidad del producto” veremos un bloque denominado: “Alerta de Stock”

Alerta de stock individual por producto

Esta opción que se introduce forma exclusiva a partir de Prestashop 1.7.3.0 beta, funciona de una forma un poco confusa.

En la casilla “Nivel de stock bajo” simplemente escribimos la cantidad de stock a partir de cual se enviará una alerta.

Nivel de stock bajo

Esta alerta la recibirán todos los empleados de la tienda que tengan permisos para acceder a la sección de Stock

Envíame un mensaje de correo electrónico cuando la cantidad sea inferior o igual a este nivel

Recordar que el tema de los permisos y roles de los empleados en Prestashop lo configuráis en la pestaña Parámetros Avanzados -> Equipo

Por cierto, este “email” por si queréis personalizarlo se encuentra en:

mail/prefijoIdioma/productoutofstock.html/productoutofstock.txt
/themes/TuPlantilla/mail/prefijoIdioma/productoutofstock.html/productoutofstock.txt  (recordar que siempre tiene prioridad el que esta sobrescrito en la plantilla)

Este email, en esta ocasión, no es un email de módulo sino del núcleo

Lo podéis modificar o personalizar también desde Internacional -> Traducciones -> Modificar Traducciones 

Modificar traducciones
Email núcleo
Email núcleo
Modificar Email

Respecto al envío de este email en concreto para personas más avanzadas si os apetece investigar ir al fichero: “src/Core/Stock/StockManager.php” y revisar la función: protected function sendLowStockAlert

Documento válido hasta Prestashop 1.7.3.0 beta

Print Friendly, PDF & Email

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *