Se il punchout è un argomento nuovo, vi consigliamo di partire dalla nostra guida su come funziona il punchout. Questa pagina è pensata per chiarire quale protocollo richieda concretamente il vostro progetto. In sintesi: decidono i vostri acquirenti. Ariba, Coupa, Jaggaer, Oracle e Workday richiedono cXML. SAP SRM, S/4HANA e molte grandi aziende europee utilizzano OCI. Ecco cosa comporta ciascuna scelta.
Quale protocollo vi occorre?
- Clienti nordamericani e multinazionali (Ariba, Coupa, Oracle): Vi occorre cXML con ricezione elettronica degli ordini d'acquisto.
- Aziende europee su SAP (SRM, ECC, S/4HANA): Vi occorre OCI per il rientro del carrello tramite form HTML.
- Fornitori con clientela globale: Prima o poi vi occorreranno entrambi. Gestirli da un unico catalogo Shopify evita disallineamenti di prezzo.
Due approcci per lo stesso obiettivo
cXML è strutturato a documenti. Ogni fase è un messaggio XML conforme a uno schema: PunchOutSetupRequest per iniziare, PunchOutOrderMessage per restituire il carrello e OrderRequest per ricevere l'ordine d'acquisto. I dati includono codici UNSPSC, unità di misura ISO, imposte e centri di costo.
OCI (Open Catalog Interface) si basa su un invio di form HTML. L'ERP dell'acquirente chiama il vostro catalogo passando il parametro HOOK_URL. Alla cassa, il vostro negozio restituisce un form HTML invisibile popolato con campi NEW_ITEM-*. È semplice e rapido, ma non dispone di schemi formali per la validazione di dati aggiuntivi.
| Caratteristica | cXML (Commerce XML) | OCI (Open Catalog Interface) |
|---|---|---|
| Architettura | Scambio documenti XML via HTTP POST | Post di form HTML via browser (parametro HOOK_URL) |
| Rientro Carrello | PunchOutOrderMessage (cxml-urlencoded o cxml-base64) | Form HTML auto-inviato con campi numerati NEW_ITEM-* |
| Ricezione Ordine (PO) | cXML OrderRequest diretto all'endpoint | Solo carrello. Ordine trasmesso su canale separato (EDI, cXML, email) |
| Validazione Schema | Validazione DTD/XSD rigorosa su entrambi i lati | Nessuna. Nomi campo e lunghezze stringa variabili |
| UNSPSC e Unità | Elementi XML obbligatori per classificazione e UOM | Campi facoltativi NEW_ITEM-MATGROUP e NEW_ITEM-UNIT |
| Sistemi Principali | SAP Ariba, Coupa, Jaggaer, Oracle, Workday | SAP SRM, SAP ERP (ECC, S/4HANA), grandi imprese europee |
| Criticità Tipiche | Mancata mappatura UOM (PZ vs EA), stripping ID ausiliario | Perdita sessione in iframe (richiede returntarget), credenziali in GET |
La ricezione dell'ordine: il vero spartiacque
Con cXML, gli ordini d'acquisto vengono ricevuti, controllati rispetto al carrello e messi nella inbox «Purchase orders» dell'app PunchRelay. In Shopify non viene creato nulla finché una persona del vostro team non verifica l'ordine e clicca su «Create Shopify order». L'ordine viene allora creato non pagato, con pagamento in sospeso, pronto per l'evasione. Con OCI, invece, lo standard copre unicamente il rientro del carrello; il canale di invio dell'ordine deve essere concordato caso per caso.
Il vuoto dell'ordine di ritorno in OCI
Poiché OCI non include un protocollo di ritorno per l'ordine d'acquisto, molti connettori tradizionali si fermano al carrello, costringendo i commerciali a inserire gli ordini a mano da PDF o email. Con PunchRelay, cXML OrderRequest è nativo. Gli acquirenti OCI in grado di inviare ordini cXML seguono lo stesso percorso: l'ordine arriva nella vostra inbox e il vostro team crea l'ordine Shopify.
Dettagli pratici sul campo
- Il carrello cXML viene inviato come
cxml-urlencodedper alcuni sistemi e comecxml-base64per altri; ogni connessione deve poter essere configurata singolarmente. - cXML richiede codici merceologici UNSPSC e unità ISO; una tabella di conversione è fondamentale prima del primo collaudo.
- cXML non ha un campo nativo per correlare l'ordine al carrello originario; spesso si ricorre a
SupplierPartAuxiliaryID, purché il sistema cliente non lo cancelli. - OCI non dispone di alcun campo di correlazione integrato; OCI 4.0 offre
NEW_ITEM-CUST_FIELD1fino a 5, la cui persistenza va verificata con l'amministratore SAP. - SAP carica spesso il catalogo all'interno di un iframe; il form di ritorno deve gestire il parametro
returntargetper non bloccare l'interfaccia. - Le chiamate OCI possono arrivare via GET con parametri nell'URL: i log devono mascherare i dati riservati e gli acquirenti vanno incoraggiati a utilizzare POST.
Scegliete per il vostro mercato, poi supportateli entrambi
Negli Stati Uniti e nelle multinazionali il protocollo dominante è cXML (Ariba, Coupa, Oracle). In Europa OCI è la norma negli ambienti SAP.
PunchRelay gestisce entrambi i protocolli direttamente dal vostro catalogo Shopify B2B. Approfondite nelle pagine dedicate: SAP Ariba, Coupa o OCI per SAP.