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 on a technical level.

Management of customers
-----------------------

The initial creation and subsequent updating of customers is carried out by you via the PunchCommerce web interface. You must maintain the following parameters for each customer:

ParameterDescriptionField mappingField mapping to be used for the customerEntry addressAddress to which the customer is forwarded after successful authenticationCustomer IDValue that is transferred to the entry address to identify the customerAuthentication and forwarding to your online shop
-------------------------------------------------

Authentication at the gateway is carried out as usual by calling the PunchCommerce entry address and transferring the following parameters.

ParameterValueusernameCustomer user name from the PunchCommerce interfacepasswordcustomer password from the PunchCommerce interfaceHOOK\_URLReturn address in the ERP system, default is "SAPEVENT:POST"actions\[\]List of OCI actions (detail, search, background-search)ordernumberOrder number, is transferred for the detail actionkeywordSearch term, passed for search and background-search actionOnce the customer has been successfully authenticated, they are forwarded to the entry address defined in the customer configuration (see Customer management).

The entry address is extended by 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}
```

The supplier is responsible for authentication in the supplier system. We offer ready-made extensions for Shopware, JTL and Magento 2, which you can obtain from the respective plugin store.

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

PunchCommerce supports the PunchOut in an iFrame within the calling system and the PunchOut in a separate browser. The functional extensions of the OCI standard, which were supplemented by 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 purchasing process, the supplier's e-commerce application must transmit the shopping basket back to our gateway solution as a JSON object together with the session identifier (sID).

An http-POST request to the address } must be executed here. The request body should contain the shopping basket analogue to the following structure.

```
{
  "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": "network_direction",
                "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
---------------------

You can find the current API specification 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!")
