Protocol Compatibility
Choose the protocol and version on the Buyer Profile before exchanging test documents. An inbound request cannot switch a profile to another protocol or OCI version.
cXML
| Capability | cXML 1.0 | cXML 1.1 | cXML 1.2 |
|---|---|---|---|
PunchOutSetupRequest and PunchOutSetupResponse |
Yes | Yes | Yes |
PunchOutOrderMessage cart return |
Yes | Yes | Yes |
| ProfileRequest/ProfileResponse | No | Yes | Yes |
Inbound OrderRequest |
Yes | Yes | Yes |
| Confirmation, ship-notice and invoice documents | No | No | Yes, from 1.2.001 |
Magento preserves a supported request version when it builds the corresponding setup, profile or order response. Confirmation, ship-notice and invoice documents require cXML 1.2.001 or newer. Older OrderRequests can still be processed, but they do not start the outbound fulfilment-document loop.
The request extractor recognizes current schema URLs and the older xml.cxml.org/dtd/<version>/cXML.dtd form used by some established systems. XML parsing blocks external network access and unsafe document constructs.
OCI
| Function | OCI 4.0 | OCI 5.0 | Behavior |
|---|---|---|---|
| Normal catalog entry | Yes | Yes | Opens a PunchOut shopping session. |
DETAIL |
Yes | Yes | Opens the resolved product page without allowing a cart change. |
DETAILADD |
No | Yes | Opens one product, permits one add and immediately returns it to the procurement system. |
QUANTITYCHECK |
No | Yes | Returns the product's available quantity and lead time as JSON without opening a session. |
VALIDATE |
No | No | Rejected as unsupported. |
BACKGROUND_SEARCH |
No | No | Rejected as unsupported. |
SOURCING |
No | No | Rejected as unsupported. |
For product functions, PRODUCTID is resolved through the Buyer Profile's external product ID source. Use Magento SKU or a globally unique product attribute maintained for every relevant Store View.
QUANTITYCHECK is an availability query on /punchout/oci/login, not a shopping session. The request authenticates the buyer as usual but does not require HOOK_URL, creates no context token and involves no storefront operation policy. EXT_PRODUCT_ID is resolved through the profile's external product ID source; QUANTITY is optional and defaults to 1. The JSON response returns AVAILABLE_QUANTITY from the resolved store's MSI salable quantity and LEADTIME in whole days from the product attribute selected as OCI Quantity Check Lead Time Attribute on the Buyer Profile. See the OCI Flow for the request and response details.
Mapping and buyer contracts
Protocol versions do not make a generic mapping automatically valid for a buyer. Confirm required fields, units, decimal precision, classification domains, custom fields and return behavior against the procurement platform's current integration specification.
Use separate Buyer Profiles when two procurement accounts require different protocols, OCI versions, credentials, Store Views or field contracts.