The gateway mode enables direct purchasing within your e-commerce application without having to deal with the OCI protocol on a technical level.
Management of customers
You initially create and later update customers via the PunchCommerce web interface. You have to maintain the following parameters for each customer:
Parameters |
Description |
field mapping |
Field mapping to be used for the customer |
entry address |
Address to which the customer is forwarded after successful authentication |
Customer ID |
Value that is passed to the entry address to identify the customer |
Support 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 currently only supported as follows:
See also The SAP OCI 5.0 specification is available at https://wiki.scn.sap.com/wiki/download/attachments/395284636/OCI_50_EN20130121.pdf
Authentication and forwarding in supplier system
The authentication at the gateway takes place as usual by calling up the PunchCommerce entry address and transferring the following parameters.
Parameters |
value |
username |
Customer username from the PunchCommerce interface |
password |
Customer password from the PunchCommerce interface |
HOOK_URL |
Return address to the ERP system, standard is "SAPEVENT:POST" |
After the customer has been successfully authenticated, it is 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 ID), 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.
Transmission of the shopping cart (PunchOut)
After the customer has completed their shopping process, the supplier's e-commerce application must transmit the shopping cart as a JSON object together with the session identifier (sID) back to our gateway solution.
A http-POST-Request to the address https://www.punchcommerce.de/gateway/v3/return?sID={UUID} is to be executed here. The request body should contain the shopping cart in the same way as the structure 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": "A pedagogically valuable 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": "palette",
"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 cart and transmits the shopping cart to the calling ERP system via the OCI protocol.
Swagger documentation
The current API specification can be found at: https://www.punchcommerce.de/swagger