Módulo PrestaShop: Impresión automática de pedidos (Cloud Print)

Imprime automáticamente los nuevos pedidos en cuanto se realizan (o una vez aceptado el pago). Sin ordenador, tablet, smartphone, servidor de impresión local ni controlador que instalar. Tu impresora se conecta directamente a tu tienda PrestaShop a través del Servidor Cloud Print de Expedy por Wi-Fi, Ethernet o tarjeta SIM 3G/4G.

Esta documentación cubre ExpedyPRINT v2, nuestro módulo actual reconstruido sobre la API ExpedyPRINT v2. No ofrecemos soporte para versiones anteriores a la v2.

⚠️ Tu tienda PrestaShop debe tener el SSL activado y no debe ejecutarse en modo dev o debug. Estos modos pueden bloquear las solicitudes de la API e impedir el envío de las impresiones.

Impresoras compatibles:

¿Necesitas comprobar la compatibilidad con otra impresora? Crea un ticket de soporte.


Requisitos

Mínimo
PrestaShop 1.6 (probado hasta 8.x)
PHP 7.2

También necesitas una cuenta Expedy gratuita con un SID de API, un token de API y al menos una impresora cloud registrada en la cuenta.


Descarga

Descarga la última versión de expedyprint.zip desde la página de releases de GitHub:

👉 github.com/ExpedyDev/expedyprint-prestashop-addon/releases

Cada release incluye el zip listo para instalar y su changelog. Ese único archivo es todo lo que necesitas.

El código fuente completo es abierto y está disponible aquí:

👉 github.com/ExpedyDev/expedyprint-prestashop-addon


Instalación

  1. Descarga expedyprint.zip desde la última release.
  2. En el back office de PrestaShop, abre Módulos → Gestor de módulos.
  3. Haz clic en Subir un módulo y selecciona el expedyprint.zip que descargaste. El módulo se instala automáticamente.
  4. Una vez instalado, haz clic en Configurar.

Sin controladores, sin línea de comandos, sin software adicional.


Configuración

Abre Módulos → Gestor de módulos → ExpedyPRINT → Configurar. El panel de ajustes está organizado en secciones claramente etiquetadas, y las herramientas de conexión, impresora y vista previa funcionan todas sin necesidad de guardar el formulario antes.

1. Conexión API

Pega tu SID de API y tu token de API, luego haz clic en Probar conexión.

Ajuste Descripción
SID de API Tu identificador de cuenta, disponible en la consola Expedy en API.
Token de API Tu clave secreta, disponible en la misma sección API. Trátala como una contraseña. Se almacena de forma segura y en modo solo escritura, por lo que nunca se vuelve a mostrar. Deja el campo vacío al guardar para conservar el token ya almacenado.

Si la prueba tiene éxito, la lista de impresoras se obtiene de tu cuenta y el menú desplegable de impresoras se rellena automáticamente.

2. Impresora

Ajuste Descripción
Impresora Elige tu impresora en el menú desplegable cargado desde tu cuenta (muestra el nombre, el ancho del papel y el UID).
UID de la impresora de respaldo Opcional. Una segunda impresora que recibe el mismo ticket, útil para redundancia.
Ancho del papel 58 mm o 80 mm, según el rollo de tu impresora.

Usa Enviar impresión de prueba para imprimir un ticket de muestra en la impresora seleccionada y confirmar que todo está conectado.

3. Activación de la impresión

Ajuste Descripción
Imprimir el ticket Elige cuándo se produce la impresión: en cuanto se realiza un pedido, o cuando el estado del pedido pasa a "Pago aceptado".
Número de copias De 1 a 5 copias por pedido.
Cortar el papel después de cada ticket Corta automáticamente el papel al final de cada impresión, en las impresoras que lo admiten.

4. Contenido del ticket

Elige cómo se muestran los productos y los importes y qué bloques se imprimen:

  • Visualización del producto: nombre del producto y atributos, referencia del producto y atributos, solo el nombre, o solo la referencia.
  • Importes: importes de línea con IVA, sin IVA, o sin importes por línea. Los importes se imprimen sin símbolo de moneda para una máxima compatibilidad con las impresoras térmicas.
  • Totales: imprime el total con IVA, el total sin IVA y/o el detalle de impuestos.
  • Códigos de barras EAN-13: imprime el código de barras del producto en cada línea.
  • Número de artículos, método de pago, método de envío/transportista, nota del cliente: activa o desactiva cada bloque.

5. Encabezado y pie de página de la tienda

URL del logotipo opcional (HTTPS, GIF/JPG/PNG, ancho máx. 570px), título de la tienda, nombre de la empresa, dirección, código postal, ciudad, teléfono e identificación de la empresa, todo impreso en el ticket.

6. Textos del ticket

Cada etiqueta impresa en el ticket (Pedido, Producto, Precio, etc.) es totalmente editable, en el idioma que prefieras.

7. Avanzado: asignación multitienda

Enruta las recogidas en tienda a una impresora específica con el formato store_id:printer_uid||store_id:printer_uid. Por ejemplo, los pedidos de tu tienda de Londres pueden imprimirse automáticamente en una impresora mientras que los de Edimburgo van a otra, totalmente automatizado, sin clasificación manual.


Vista previa de un ticket de pedido

En la parte inferior de la página de ajustes, la herramienta Vista previa de un ticket de pedido genera el ticket exacto de cualquier pedido existente. Solo tienes que introducir el ID del pedido y hacer clic en Vista previa. No se necesita impresora.


Cómo funciona

El módulo vigila los eventos de tus pedidos y, cuando se alcanza el disparador que configuraste, construye el ticket y lo envía a tu impresora a través de la API cloud de ExpedyPRINT.

Un pedido se imprime una sola vez: un indicador de idempotencia evita que el mismo pedido se imprima dos veces. Si un intento de impresión falla, el pedido no se marca, por lo que puede reintentar en el siguiente cambio de estado. Cada intento, con éxito o no, se registra en Parámetros avanzados → Registros (Logs) (origen expedyprint).


Módulos compatibles

ExpedyPRINT puede leer datos de otros módulos de PrestaShop para imprimir información adicional como el tipo de recogida o entrega, la fecha y la franja horaria, además de las opciones de producto. Las integraciones admitidas incluyen:

  • Franjas de entrega y recogida: prestatilldrive, prestadrive, prestatillhomedelivery, fspickupatstorecarrier, preferreddeliverytime
  • Opciones de producto y campos personalizados: configurator, an_productfields, idxrcustomproduct

Esta lista no es exhaustiva. No podemos garantizar una impresión correcta si tu instalación de PrestaShop está muy personalizada o usa módulos que alteran las funciones nativas de pedido.


Crea tu propia integración

Para imprimir desde tu propia aplicación u otra plataforma, usa el SDK oficial de Node.js y los ejemplos de la API:

👉 github.com/ExpedyDev/expedy-sdk-node

Muestra cómo autenticarte, listar tus impresoras y enviar trabajos de impresión a través de la API ExpedyPRINT v2.


Personalización y soporte

El módulo es de código abierto bajo la licencia Open Software License (OSL 3.0), por lo que puedes modificar libremente el código para adaptarlo a tus necesidades. Expedy ya no ofrece desarrollo a medida ni servicios de personalización.

El soporte se ofrece únicamente para ExpedyPRINT v2. Las versiones anteriores a la v2 ya no son compatibles.