PunchOut über cXML-Gateway | OCI und cXML PunchOut-Kataloge erstellen | PunchCommerce                           ![](//analytics.punchcommerce.de/matomo.php?idsite=1&rec=1)

PunchOut über cXML-Gateway
==========================

Der Gateway-Modus ermöglicht den direkten Einkauf innerhalb Ihrer E-Commerce-Anwendung, ohne, dass diese sich auf einer technischen Ebene mit dem cXML-Protokoll auseinandersetzen muss.

Verwaltung von Kunden
---------------------

Die initiale Anlage und die spätere Aktualisierung von Kunden erfolgt durch Sie über die PunchCommerce-Weboberfläche. Für jeden Kunden sind durch Sie die nachfolgenden Parameter zu pflegen:

ParameterBeschreibungFeldmappingFür den Kunden zu verwendendes FeldmappingEinsprungadresseAdresse zu der der Kunde nach erfolgreicher Authentifizierung weitergeleitet wirdKundenkennungWert der zur Identifizierung des Kunden an die Einsprungadresse übergeben wirdUnterstützte cXML-Funktionalität
--------------------------------

PunchCommerce unterstützt den **PunchOut Level 1 und Level 2** direkt aus Ariba oder anderen Systemen, die auf das cXML-Protokoll unterstützen.

Authentifizierung und Weiterleitung in Lieferanten-System
---------------------------------------------------------

Die Authentifizierung an unserem Gateway erfolgt wie üblich durch Aufruf der PunchCommerce Einsprungadresse und Übergabe der nachfolgenden Parameter. Nach der erfolgreichen Authentifizierung des Kunden erfolgt die Weiterleitung an die, in der Kundenkonfiguration (siehe Verwaltung von Kunden) definierte, Einsprungadresse.

Die Einsprungadresse wird hierbei um die Parameter sID (Session-Identifier) und uID (Kundenkennung) erweitert, sodass die endgültige URL nach dem nachfolgenden Schema aufgebaut ist:

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

Die Authentifizierung im Lieferantensystem obliegt dem Lieferanten. Für Shopware 5 und 6 stellen wir Plugins über den Shopware Store zur Verfügung:

-
-

Übermittlung des Warenkorbes (PunchOut)
---------------------------------------

Nachdem der Kunde seinen Einkaufsprozess abgeschlossen hat, muss die E-Commerce-Anwendung des Lieferanten den Warenkorb als JSON-Objekt gemeinsam mit dem Session-Identifer (sID) zurück an unsere Gateway-Lösung übermitteln.

Hier ist ein http-POST-Request auf die Adresse } auszuführen der Request-Body sollte den Warenkorb analog der nachfolgenden Struktur enthalten.

```
{
  "basket":[
        {
            "product_ordernumber": "10001",
            "product_name": "Klettergerüst",
            "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": "Klettergerüst",
                "category": "Kinderspielgeräte",
                "description": "Ein pädagogisch wertvolles Klettergerüst.",
                "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 wendet die für Ihren Kunden definierte Feldzuordnung auf den Warenkorb an und übermittelt den Warenkorb an das aufrufende ERP-System über das cXML-Protokoll.

Swagger-Dokumentation
---------------------

Die jeweils aktuelle API-Spezifikation finden Sie unter:

 [ 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)

 [Feedback erwünscht - Ihre Meinung hilft uns, noch besser zu werden!](https://easy-feedback.de/umfrage/1883200/5FuM95 "Ihre Meinung hilft uns, noch besser zu werden!")
