SHOPIFY × OCI / SAP
El punchout OCI para Shopify (SAP SRM, S/4HANA)
Parte de Europa compra en OCI. Conecte su catálogo Shopify con ciclos HOOK_URL, precios de contrato y los campos NEW_ITEM personalizados que exige el ERP de su cliente.
HOOK_URL=https://buyer-erp.example.com/oci/return
USERNAME=shop_user
PASSWORD=***
OCI_VERSION=4.0
returntarget=_parent
<form method="post" action="{HOOK_URL}">
<input name="NEW_ITEM-DESCRIPTION[1]" value="Nitrile gloves, box of 100">
<input name="NEW_ITEM-VENDORMAT[1]" value="SKU-4711">
<input name="NEW_ITEM-QUANTITY[1]" value="50">
<input name="NEW_ITEM-UNIT[1]" value="BX">
<input name="NEW_ITEM-PRICE[1]" value="25.00">
<input name="NEW_ITEM-CURRENCY[1]" value="USD">
<input name="NEW_ITEM-MATGROUP[1]" value="46181504">
</form>El cXML se lleva la atención, pero una parte importante de las compras europeas, con el área germanohablante a la cabeza, corre sobre el Open Catalog Interface de SAP. OCI es más viejo y más simple: el ERP llama a la URL de su catálogo con una HOOK_URL como dirección de retorno, el comprador llena el carrito, y el carrito vuelve como campos de formulario NEW_ITEM.
Lo simple es donde se esconden los problemas. Cada ERP habla su propio dialecto de campos: unidades ISO, grupos de materiales, MATNR vacío o relleno, y las extensiones NEW_ITEM personalizadas que deciden si un carrito se registra limpio como solicitud de compra o acaba en una mesa de soporte. PunchRelay mapea los campos cliente por cliente, en vez de cablear las expectativas de un solo sistema SAP.
Ningún proveedor de punchout cubre en serio Shopify más OCI hoy. Si sus clientes usan SAP SRM o S/4HANA y su tienda corre en Shopify, esta página existe para usted.
Funciona con
- SAP Ariba
- Coupa
- Jaggaer
- Oracle Procurement
- Workday
- SAP SRM
- Unimarket
- confirmación de la orden de compra
- <150ms
- protocolos, cXML + OCI
- 2
- documentos cXML, ciclo completo
- 4
- precios de contrato desde catálogos B2B de Shopify
- 100%
Cómo funciona con OCI
- 01
El ERP llama a su URL OCI
SAP SRM, S/4HANA u otro sistema OCI abre su URL de PunchRelay por HTTP GET o POST de formulario, con HOOK_URL, USERNAME, PASSWORD y OCI_VERSION. Validamos las credenciales y abrimos una sesión asociada a la company location de Shopify B2B del cliente.
- 02
El comprador compra con precios de contrato
El comprador trabaja en su tienda Shopify, con el catálogo y la lista de precios de su company location. Los precios de contrato salen de Shopify B2B, la misma fuente que usted cuida para todos sus otros canales.
- 03
El carrito vuelve como campos NEW_ITEM
PunchRelay genera el formulario de retorno autoenviado hacia la HOOK_URL: NEW_ITEM-DESCRIPTION, VENDORMAT, QUANTITY, unidades ISO, PRICE, MATGROUP, indexados por línea, más los campos personalizados que el ERP de su cliente exige.
- 04
La solicitud de compra vive en el ERP
El carrito transferido se convierte en SAP en un carrito de compras o una solicitud de compra y allí atraviesa la aprobación. OCI solo mueve el carrito. La orden de compra es un paso aparte, en los términos del cliente.
- 05
La orden vuelve por el canal que el ERP domina
Si el sistema del cliente sabe enviar un OrderRequest cXML, y muchas instalaciones SAP saben, el pedido Shopify nace automáticamente, confirmado en menos de 150 ms. Si no sabe, el carrito transferido está a un clic, en PunchRelay, de convertirse en un draft order de Shopify.
Pensado para la checklist de IT de sus clientes
Mapeo NEW_ITEM por cliente
Unidades ISO, taxonomías MATGROUP, EXT_PRODUCT_ID, campos propios: cada cliente OCI recibe exactamente el juego de campos que su ERP exige, mapeado desde sus datos de producto de Shopify, conexión por conexión.
Reglas de cantidad antes de la transferencia
Mínimos, máximos y unidades de empaque de su configuración B2B corren en el carrito, antes de que salga el POST NEW_ITEM. Los carritos llegan al ERP listos para registrarse.
Logs de sesión completos, en ambas direcciones
Las llamadas de setup y los POST NEW_ITEM se registran en bruto. Cuando el equipo SAP de su cliente quiere saber qué se envió, usted reenvía el payload real, campo por campo.
Punchout OCI, preguntas y respuestas
- ¿Qué es OCI?
- El Open Catalog Interface de SAP, el estándar punchout del mundo SAP y todavía hoy el valor por defecto de las compras germanohablantes. El ERP abre su catálogo con una HOOK_URL como dirección de retorno, y el carrito vuelve como campos de formulario NEW_ITEM. En la práctica corren las versiones 4.0 y 5.0.
- ¿GET o POST? ¿Qué versiones de OCI?
- Ambos. Las llamadas de setup OCI llegan como HTTP GET o POST de formulario con USERNAME, PASSWORD, HOOK_URL y OCI_VERSION. PunchRelay maneja los dialectos 4.0 y 5.0 y las particularidades del returntarget entre medias.
- ¿Pueden mapear campos NEW_ITEM personalizados?
- Sí, por cliente. Algunos ERP exigen NEW_ITEM-EXT_PRODUCT_ID, una taxonomía MATGROUP concreta o campos propios antes de registrar un carrito limpio. PunchRelay mapea los datos de producto de Shopify al juego exacto de campos que exige el ERP de cada cliente, por conexión, sin código a medida.
- ¿Cómo vuelven las órdenes de compra a Shopify?
- OCI transfiere carritos, no órdenes de compra; la respuesta honesta depende del ERP del cliente. Si sabe enviar un OrderRequest cXML, la orden se convierte automáticamente en un pedido Shopify. Si no sabe, un clic transforma la sesión del carrito transferido en un draft order de Shopify, con precios y cantidades ya alineados.
- ¿Qué ERP cubren?
- SAP SRM y S/4HANA son el núcleo. Onventis y las demás plataformas que hablan OCI pasan por la misma interfaz. Si el sistema de su cliente sabe llamar a una URL de catálogo OCI, sabe llamar a una tienda Shopify en PunchRelay.
- ¿Soportan también cXML?
- Sí, los dos protocolos en una sola app. En la práctica, un proveedor europeo suele tener un cliente en SAP OCI y el siguiente en Ariba o Coupa con cXML, y la tienda no debería tener que ocuparse de quién habla qué.
Solicitar acceso anticipado
Estamos acompañando a un grupo pequeño de comercios Shopify B2B y construimos con ellos sus primeras conexiones con compradores. Díganos dónde contactarle.