🌐 Integración eCommerce con ERP LaborWasser
1. 🧩 Descripción General
La integración eCommerce–ERP permite que el ERP LaborWasser funcione como backend central de inventario, pedidos y clientes para una tienda en línea. El eCommerce actúa como frontend público para ventas minoristas o mayoristas, sincronizando productos, stock, precios y pedidos con el sistema principal.
2. 🔗 Objetivo de la Integración
- Permitir que el ERP gestione el inventario y reciba pedidos automáticamente desde la tienda.
- Asegurar consistencia en stock, precios, catálogos y entregas.
- Centralizar la administración comercial en el ERP, evitando duplicación de esfuerzos.
3. 🧱 Modelos de Datos Relevantes
a. En el ERP (expuestos por API)
Product: SKU, nombre, precio, descripción, stockCategory: agrupación de productosSalesOrder: generado por el eCommerce como pedido de clienteClient: creado desde el checkoutStock: control de existencia disponible
b. En el eCommerce
ProductView: representación visual y navegableCartItem: almacenamiento temporal de productos en carritoOrderDraft: antes de generar el pedido definitivoCustomer: datos públicos del cliente (correo, teléfono, dirección)
4. 🌐 Endpoints JSON:API para integración
| Método | Ruta | Descripción | Uso en eCommerce |
|---|---|---|---|
| GET | /api/products/public | Lista de productos activos | Carga catálogo inicial |
| GET | /api/products/{id} | Ver producto específico | Detalle en tienda |
| POST | /api/ecommerce/orders | Crear pedido | Checkout confirmado |
| POST | /api/ecommerce/customers | Crear cliente | Registro desde frontend |
| GET | /api/ecommerce/orders/{id}/status | Seguimiento de pedido | Mostrar estado en frontend |
| POST | /api/ecommerce/sync-stock | Consultar stock actual de productos | Validación de disponibilidad |
5. 🖥️ Flujo UX del eCommerce
a. Catálogo
- Página de productos → categorías, búsqueda, filtros
- Selección por precio, tipo, disponibilidad
b. Producto individual
- Información técnica, precio, disponibilidad
- Botón "Agregar al carrito"
c. Carrito y Checkout
- Resumen del pedido
- Formulario: datos del cliente (nombre, correo, dirección)
- Botón "Confirmar pedido"
d. Confirmación
- Pedido creado en ERP
- Mostrar número de pedido, estado inicial
6. 📄 Vistas sugeridas (tipo wireframe)
| Vista | Campos sugeridos |
|---|---|
| Catálogo | Imagen, nombre, categoría, precio, botón Agregar |
| Producto | Imagen, nombre, descripción, disponibilidad, cantidad |
| Checkout | Nombre, email, teléfono, dirección, resumen del carrito |
| Confirmación | Número de pedido, fecha, estado actual |
7. 🔌 Conexión Frontend ↔ API ERP
| Acción en frontend | Endpoint ERP | Resultado |
|---|---|---|
| Cargar catálogo | GET /api/products/public | Mostrar productos |
| Ver producto | GET /api/products/{id} | Ficha individual |
| Crear cliente | POST /api/ecommerce/customers | Guardar cliente |
| Crear pedido | POST /api/ecommerce/orders | Registrar venta |
| Consultar estado | GET /api/ecommerce/orders/{id}/status | Mostrar progreso |
📦 Esta integración asegura que el ERP reciba en tiempo real los pedidos creados en la tienda, manteniendo el control de inventario y facturación centralizado.
Se recomienda proteger los endpoints con autenticación por token o clave API para mitigar accesos no autorizados.