Arquitectura de la integración
Un middleware intermedio orquesta las dos plataformas: mantiene la sesión con SAP, encola y reintenta, y deja trazabilidad de cada transacción. Ningún sistema escribe directo sobre el otro.
Pedidos · Facturación"] end subgraph MID["MIDDLEWARE EQAPLA"] MW["Orquestador
sesión · colas · reintentos · logs"] end subgraph STORE["SHOPIFY — TIENDA CREMA"] SH["Contenido · Carrito
Checkout · Pagos"] end SAP -->|"Service Layer · REST/OData"| MW MW -->|"Admin API"| SH SH -->|"Webhooks orders/paid"| MW MW -->|"Pedido de venta"| SAP
Catálogo — alta y cambios de producto
Catálogo
SAP → ShopifyEl alta de un artículo siempre nace en SAP. El middleware lo replica a Shopify, que le agrega foto y contenido encima sin que el maestro lo pise. Shopify nunca crea artículos hacia SAP.
Precios
Precios
SAP → ShopifyLa lista de precios de SAP aplicable a la tienda actualiza el precio de cada variante en Shopify. A confirmar con TI si el precio de SAP ya incluye IGV.
Sincronización de stock
El requisito clave de TI. Doble objetivo: no vender lo que no hay (evitar sobreventa) y que SAP quede como registro único del inventario. Es un flujo bidireccional.
Stock
BidireccionalRefresco periódico SAP→Shopify, descuento en tiempo real por venta, y una reconciliación nocturna que alerta pero no autocorrige.
Pedidos relacionados a SAP
Todos los pedidos que tocan el ERP: el estándar, el personalizado (arma tu camiseta) y el post-compra/logística. Los tres nacen en Shopify y se materializan como documentos en SAP.
Pedido estándar
Shopify → SAP · tiempo realAl pagar, un webhook crea la orden de venta en SAP con el cliente (DNI/RUC) y las líneas de personalización (estampado, parche). Luego el ciclo en SAP: orden de venta → orden de despacho → entrega. Al entregarse se emite la boleta o factura según lo que el cliente pidió, y el middleware la refleja en la tienda. Idempotente: si el webhook se repite, no se duplica el pedido.
Pedido personalizado · "Arma tu camiseta"
Shopify → SAP · producciónEl pedido incluye SKUs de servicio por la personalización (estampado del dorsal, parche de liga). En SAP se agregan como líneas del pedido y disparan una orden de producción antes del despacho (+2 días).
EST-*, PARCHE-*) — si no, hay que darlos de alta. Estos pedidos no admiten devolución.
Post-compra · despacho y logística
SAP → PITS → ShopifyCuando SAP marca el pedido como despachado, el middleware gestiona la guía y el tracking con PITS y devuelve el estado a la cuenta del cliente en Shopify.
Lo que necesitamos de la U
Para construir el middleware hace falta que TI/el partner SAP nos entregue esto. Hoy nada está en mano todavía — la acción por cada fila es confirmar que su responsable sabe que debe pasárnoslo. Detalle en sap-solicitud-accesos-middleware.md.
| Qué necesitamos | ¿Necesario? | ¿Lo tenemos? | Qué falta / responsable |
|---|---|---|---|
| 1 · Acceso al Service Layer URL + puerto, alcance por red y certificado TLS |
Indispensable | No | Que sea alcanzable desde nuestro server (VPN / whitelist). TI / infra |
| 2 · Credenciales SAP usuario/clave + CompanyDB del torneo pruebas |
Indispensable | No | Que la U entregue las credenciales del ambiente. TI / admin SAP |
| 3 · Entorno de pruebas acceso al ambiente "torneo pruebas" |
Necesario | No | Confirmar acceso y que tenga datos representativos. TI |
| 4 · Modelo de datos SKUs, precios, almacenes, artículos de servicio |
Necesario (mapeo) | No | Se dijo que lo pueden pasar → confirmar el responsable |
| 5 · Facturación electrónica emisión de boleta/factura desde SAP |
Necesario (comprobante) | No | Confirmar mecanismo/accesos. Ángel Pinto |
| 6 · Operación y contactos frescura de stock, contacto del partner |
Informativo | — | No bloquea el arranque |
Principios técnicos que sostienen todo
SKU = clave de cruce
El ItemCode de SAP debe ser idéntico al SKU de Shopify. Es la precondición de toda la integración.
Sesión reutilizable
La sesión de SAP expira a los ~30 min. Se mantiene un pool con re-login perezoso — nunca autenticar por request.
Nada se pierde
Colas con reintentos y backoff. Si el Service Layer cae, las transacciones se recuperan; no se pierden en silencio.
Acceso seguro
El Service Layer casi nunca está expuesto a internet. Resolver el acceso (VPN / whitelist) es prerrequisito bloqueante.