📦 Guía de Integración de Almacenes Personalizados
Esta guía te mostrará cómo integrar tu propio sistema de almacenes y stock con el módulo Estimated Delivery en PrestaShop. No se necesita experiencia en programación: explicaremos todo claramente para que cualquiera pueda seguirlo.
📝 ¿Qué Son los Almacenes Personalizados?
En algunas tiendas, los productos pueden enviarse desde diferentes ubicaciones (almacenes). Cada almacén puede tener diferentes niveles de stock y tiempos de envío.
El módulo Estimated Delivery te permite conectar tu propio sistema de almacenes usando dos hooks simples.
🔧 Lo Que Necesitas Hacer
Necesitas crear un pequeño módulo (o usar nuestra muestra) que:
- Indique a Estimated Delivery qué almacenes existen.
- Proporcione la cantidad de stock de cada producto en cada almacén.
📌 Los Dos Hooks Que Debes Usar
1. actionEDGetWarehousesList
Este hook envía una lista de tus almacenes.
2. actionEDGetWarehouseQuantities
Este hook envía la cantidad de stock de un producto, dividida por almacén.
📂 Ejemplo de Salida para Cada Hook
Hook 1: Lista de Almacenes
Tu módulo debe devolver datos como estos:
[
[
'id_warehouse' => 1,
'name' => 'Almacén Principal',
'priority' => 0, // Menor = mayor prioridad
'default_warehouse' => true, // Solo un almacén puede ser true
'location' => 'Barcelona'
],
[
'id_warehouse' => 2,
'name' => 'Almacén de Respaldo',
'priority' => 1,
'default_warehouse' => false,
'location' => 'Madrid'
]
];
Nota: Solo un almacén puede tener
default_warehouse => true.
Hook 2: Cantidades de Producto por Almacén
Cuando Estimated Delivery solicita el stock, tu módulo debe devolver algo como:
[
1 => 25, // El Almacén ID 1 tiene 25 unidades
2 => 10 // El Almacén ID 2 tiene 10 unidades
];
Lo Que Recibes en $params
Cuando se llama a este hook, recibirás:
| Clave | Descripción |
|---|---|
id_product | El ID del producto que PrestaShop está verificando |
id_product_attribute | El ID de la combinación (0 si el producto no tiene ninguna) |
🚀 Usa Nuestro Módulo de Ejemplo
Creamos un módulo listo para usar llamado edcustomwarehouses. Muestra exactamente cómo usar los hooks con datos de ejemplo.
Puedes comenzar con esto y reemplazar los datos estáticos con información real del almacén.
¿Quieres el módulo? Descargar Aquí (Enlace a ZIP o repositorio)
✅ Lista de Verificación Final
- Crea o usa el módulo de ejemplo (
edcustomwarehouses). - Registra los dos hooks requeridos en tu módulo:
actionEDGetWarehousesListactionEDGetWarehouseQuantities
- Devuelve una lista de almacenes válida con la estructura correcta:
- Solo un almacén debe tener
'default_warehouse' => true. - Todos los almacenes deben tener un
id_warehouseúnico.
- Solo un almacén debe tener
- Devuelve el stock correcto del producto por almacén.
- Reemplaza los datos de ejemplo estáticos con tus datos dinámicos de almacén y stock.
- Prueba y verifica que las estimaciones de entrega se muestren correctamente en las páginas de producto y carrito.
Módulos Relacionados
Estimated Delivery
Consúltalo en 🌐smart-modules.com Consúltalo en 🌐PrestaShop Addons
¿Necesito escribir un módulo completo para usar almacenes personalizados?
Necesitas un pequeño módulo de PrestaShop que registre los dos hooks y devuelva los datos correctos. El módulo de ejemplo edcustomwarehouses se proporciona como punto de partida listo para usar: solo reemplaza los datos estáticos con la información real de tus almacenes y stock.
¿Puedo tener más de dos almacenes?
Sí. El hook actionEDGetWarehousesList puede devolver tantos almacenes como necesites. Cada uno debe tener un id_warehouse único y un valor de prioridad. Solo un almacén puede tener default_warehouse establecido en true.
¿Qué controla el campo de prioridad?
La prioridad determina qué almacén comprueba primero el módulo al calcular las estimaciones de entrega. Los números más bajos significan mayor prioridad: un almacén con prioridad 0 se comprueba antes que uno con prioridad 1. Cuando el almacén de mayor prioridad tiene stock suficiente, el módulo usa su configuración de entrega.
¿Qué ocurre si un producto no tiene stock en ningún almacén?
Si todos los almacenes devuelven stock cero para un producto y los pedidos anticipados están habilitados en PrestaShop, el módulo aplica las reglas de retraso por agotado configuradas. Si los pedidos anticipados no están habilitados, no se muestra estimación de entrega.
¿Pueden diferentes almacenes tener diferentes días de preparación o horarios de corte?
Sí. Cada almacén de tu lista puede tener su propia configuración de entrega en el módulo. El módulo utiliza la configuración del almacén desde el que se enviará el producto, determinado por el stock y la prioridad.
💬 ¿Necesitas Ayuda?
¡Contacta con el soporte de Smart Modules, estaremos encantados de ayudarte!
🌐 Soporte para Compras en smart-modules.com 🌐 Soporte para Compras en el Marketplace de Addons