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:
Parameter |
Beschreibung |
Feldmapping |
Für den Kunden zu verwendendes Feldmapping |
Einsprungadresse |
Adresse zu der der Kunde nach erfolgreicher Authentifizierung weitergeleitet wird |
Kundenkennung |
Wert der zur Identifizierung des Kunden an die Einsprungadresse übergeben wird |
Unterstü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 https://www.punchcommerce.de/gateway/v3/return?sID={UUID} 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: https://www.punchcommerce.de/swagger