PunchOut via OCI Gateway | Create OCI and cXML PunchOut Catalogues | PunchCommerce                            ![](//analytics.punchcommerce.de/matomo.php?idsite=1&rec=1)

PunchOut via OCI Gateway
========================

Gateway mode enables direct purchasing within your e-commerce application without it having to deal with the OCI protocol at a technical level.

Customer management
-------------------

You create customers initially and update their details later via the PunchCommerce web interface. You must maintain the following parameters for each customer:

ParameterDescriptionField mappingField mapping to be used for the customerLanding pageAddress to which the customer is redirected following successful authenticationCustomer IDValue passed to the entry URL to identify the customerAuthentication and Redirection to Your Online Shop
--------------------------------------------------

Authentication at the gateway takes place as usual by calling the PunchCommerce entry URL and passing the following parameters.

ParameterValueusernameCustomer username from the PunchCommerce interfacepasswordCustomer password from the PunchCommerce interfaceHOOK\_URLRedirect URL to the ERP system; the default is “SAPEVENT:POST”actions\[\]List of OCI actions (detail, search, background-search)ordernumberOrder number; passed for the ‘detail’ actionkeywordSearch term, passed for the search and background-search actionsOnce the customer has been successfully authenticated, they are redirected to the entry URL defined in the customer configuration (see Managing Customers).

The entry URL is expanded to include the parameters sID (session identifier) and uID (customer identifier), so that the final URL is structured according to the following scheme:

```
    https://{hostname}.{domain}.{tld}?sID={UUID}&uID={customer.identifier}
```

Authentication within the supplier’s system is the responsibility of the supplier. For Shopware, JTL and Magento 2, we offer ready-made extensions which you can download from the respective plugin store.

Supported OCI functionality
---------------------------

PunchCommerce supports PunchOut in an iFrame within the calling system and PunchOut in a separate browser. The functional extensions to the OCI standard, which were added in version 5.0 of the OCI protocol, are supported for gateway operation as follows:

- DETAIL
- SOURCING
- BACKGROUND\_SEARCH

The SAP OCI 5.0 specification is available at [https://www.punchcommerce.de/static/OCI\_50\_EN20130121.pdf](https://www.punchcommerce.de/static/OCI_50_EN20130121.pdf)

Transmission of the shopping basket (PunchOut)
----------------------------------------------

Once the customer has completed their purchase process, the supplier’s e-commerce application must transmit the shopping basket as a JSON object, together with the session identifier (sID), back to our gateway solution.

An HTTP POST request must be sent to the address }; the request body should contain the shopping basket in accordance with the structure shown below.

```
{
"basket":[
```

{ "product\_ordernumber": "10001", "product\_name": "Climbing frame", "quantity": 1.50, "item\_price": 100, "price": 178.50, "price\_net": 150, "tax\_rate": 19, "product": { "id": "42", "ordernumber": "10001", "brand": "Netzdirektion", "brand\_ordernumber": "999999", "customer\_ordernumber": "2342343295649586" "title": "Climbing frame", "category": "Children’s play equipment", "description": "An educational climbing frame.", "description\_long": "Nullam quis risus eget urna mollis ornare vel eu leo. Donec ullamcorper nulla non metus auctor fringilla. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Vestibulum id ligula porta felis euismod semper. Donec id elit non mi porta gravida at eget metus.", "image\_url": "", "price": 2623, "tax\_rate": 19, "purchase\_unit": null, "reference\_unit": null, "unit": null, "unit\_name": null, "packaging\_unit": "Pallet", "weight": 230, "shipping\_time": 23, "classification\_type": "ECLASS", "classification": "90909090", "custom\_field1": "0.19", "custom\_field2": "BX", ... "custom\_field10": null } } \] }

PunchCommerce applies the field mapping defined for your customer to the shopping basket and transmits the shopping basket to the calling ERP system via the OCI protocol.

Swagger documentation
---------------------

The latest API specification can be found at:

 [ PunchCommerce® ist ein Produkt der ![Netzdirektion GmbH](https://www.punchcommerce.de/static/netzdirektion-logo.png "PunchCommerce® ist ein Produkt der netzdirektion | Gesellschaft für digitale Wertarbeit mbH") ](https://netzdirektion.de)

 [Give feedback now - your opinion helps us to become even better!](https://easy-feedback.de/umfrage/1883200/5FuM95 "Your opinion helps us to become even better!")
