Si el concepto de punchout es nuevo para usted, le recomendamos revisar primero cómo funciona el punchout. Esta guía está orientada a definir qué protocolo requiere su proyecto comercial. En resumen: sus compradores deciden por usted. Ariba, Coupa, Jaggaer, Oracle y Workday exigen cXML. SAP SRM, S/4HANA y la mayoría de empresas con sede en Europa recurren a OCI. A continuación desglosamos las implicaciones de cada estándar.
¿Qué protocolo necesita?
- Empresas norteamericanas y multinacionales (Ariba, Coupa, Oracle): Necesita cXML con recepción electrónica de órdenes de compra.
- Compradores europeos con SAP (SRM, ECC, S/4HANA): Necesita OCI para transferir el carrito mediante formulario HTML.
- Proveedores internacionales: A medio plazo necesitará ambos. Conectarlos a un catálogo centralizado de Shopify B2B evita discrepancias de precios.
Dos modelos para un mismo fin
cXML se estructura en documentos. Cada interacción es un archivo XML validable: PunchOutSetupRequest para iniciar sesión, PunchOutOrderMessage para devolver el carrito y OrderRequest para la orden de compra. Los datos se envían tipificados: códigos UNSPSC, unidades de medida ISO, impuestos y centros de coste.
OCI (Open Catalog Interface) funciona mediante envío de formulario HTML. El ERP del comprador abre la tienda con una dirección de retorno HOOK_URL. Al tramitar el pedido, su tienda devuelve un formulario HTML con campos indexados NEW_ITEM-*. Es rápido de implementar, pero carece de esquemas formales para validar campos personalizados.
| Criterio | cXML (Commerce XML) | OCI (Open Catalog Interface) |
|---|---|---|
| Arquitectura | Intercambio de documentos XML vía HTTP POST | Envío de formulario HTML en navegador (HOOK_URL) |
| Retorno del Carrito | PunchOutOrderMessage (cxml-urlencoded o cxml-base64) | Formulario HTML con envío automático y campos NEW_ITEM-* |
| Recepción de Orden (PO) | cXML OrderRequest directo al endpoint | Solo carrito. La orden llega por vía separada (EDI, email, cXML) |
| Validación de Esquema | Validación estricta DTD/XSD en ambos extremos | Ninguna. Nombres de campo y longitudes variables |
| UNSPSC y Unidades | Elementos XML obligatorios para clasificación y unidades ISO | Campos opcionales NEW_ITEM-MATGROUP y NEW_ITEM-UNIT |
| Sistemas Principales | SAP Ariba, Coupa, Jaggaer, Oracle, Workday | SAP SRM, SAP ERP (ECC, S/4HANA), corporaciones europeas |
| Puntos Críticos | Falta de mapeo de unidades (PZA vs EA), pérdida de ID auxiliar | Pérdida de sesión en iframes (requiere returntarget), credenciales en GET |
La orden de compra: la gran diferencia
En cXML, las órdenes de compra se procesan, se validan contra el carrito y se colocan en la bandeja «Purchase orders» de la app PunchRelay. No se crea nada en Shopify hasta que alguien de su equipo revisa la orden y pulsa «Create Shopify order». Entonces el pedido se crea sin pagar, con el pago pendiente, listo para preparar y enviar. En OCI, el estándar solo contempla el retorno del carrito; el canal para recibir la orden debe pactarse con cada cliente.
El vacío de la orden de retorno en OCI
Como OCI no define un formato estándar para órdenes de compra, muchos proveedores de punchout se limitan al carrito. El comerciante se ve obligado a transcribir pedidos a mano desde PDFs. En PunchRelay, cXML OrderRequest es nativo. Los compradores de OCI que envían órdenes cXML siguen el mismo camino: la orden llega a su bandeja de entrada y su equipo crea el pedido Shopify.
Detalles técnicos del día a día
- La transferencia del carrito cXML llega como
cxml-urlencodedpara algunos clientes y comocxml-base64para otros; cada conexión debe configurarse a medida. - cXML exige unidades de medida ISO y códigos UNSPSC; disponer de una tabla de equivalencias es imprescindible antes de la primera prueba.
- cXML no cuenta con un campo nativo para asociar la orden con la sesión de carrito; suele utilizarse
SupplierPartAuxiliaryIDsiempre que el comprador lo mantenga. - OCI no incluye ningún campo de correlación por defecto; OCI 4.0 incorpora
NEW_ITEM-CUST_FIELD1a 5, cuya persistencia debe comprobarse en el SAP del cliente. - SAP suele incrustar el catálogo en un iframe; el formulario de retorno debe respetar el parámetro
returntargetpara evitar bloqueos de interfaz. - Las solicitudes OCI pueden recibirse vía HTTP GET, exponiendo credenciales en la URL. Es vital enmascarar los registros y recomendar a los compradores la migración a POST.
Elija según su mercado, prepare ambos
En Norteamérica y en multinacionales predomina cXML (Ariba, Coupa, Oracle). En Europa, OCI es el estándar allí donde SAP gestiona las compras.
PunchRelay resuelve ambos protocolos sobre su catálogo de Shopify B2B. Visite nuestras guías: Ariba, Coupa o OCI para SAP.