Übertragbar sind eine einzelne Bestellung oder eine Liste von Bestellungen, die letzte Shop-Bestellnummer, PDF-Dateien, der Lagerbestand eines Produkts oder einer Filiale in Echtzeit sowie allgemeine Zusatzinformationen über einen Kunden.
Allgemeines
Im Folgenden wird eine REST-basierte Schnittstelle beschrieben, mit deren Hilfe ein WEBSALE Shop kundenspezifische Bestellungen von einem ERP-System in Echtzeit übermittelt bekommt und diese dem Kunden/Besteller im Shop anzeigt. Insbesondere dient diese Schnittstelle dazu, dem Kunden alle Bestellungen anzuzeigen, also auch die Bestellungen, die nicht im Shop getätigt wurden, sondern beispielsweise per Callcenter, Brief oder Fax aufgegeben wurden. Des Weiteren können dem ERP-System Stornos und Retouren übermittelt werden. Falls das ERP-System nicht direkt über das Internet erreichbar ist, dann kann die WEBSALE AG einen VPN-Tunnel zur Verfügung stellen. Über diesen VPN-Tunnel kann das ERP-System eine sichere TCP/IP-Verbindung ins Internet herstellen.REST-Funktionen
Alle hier aufgelistete Funktionen werden mittels POST aufgerufen. Bei Erfolg liefert das ERP-System den Http-Code 200 zurück.Übertragung einer Liste von Bestellungen (Kopf- und optionale Positionsdaten)
- Der Shop fordert eine Liste von Bestellungen vom ERP-System an.
- Das ERP-System liefert eine Liste von Bestellungen zurück.
Übertragung einer einzelnen Bestellung (Kopf- und Positionsdaten)
- Der Shop fordert eine einzelne Bestellung vom ERP-System an.
- Das ERP-System liefert die Kopf- und alle Positionsdaten der Bestellung zurück.
Übertragung einer PDF-Datei
- Der Shop fordert die PDF-Datei vom ERP-System an.
- Das ERP-System liefert die PDF-Datei zurück.
- Der Shop bietet die PDF-Datei dem Kunden als Download an.
Storno/Retoure von einer oder mehreren Positionen
- Der Besteller storniert/retourniert eine oder mehrere Positionen.
- Der Shop sendet die Stornierung/Retoure an das ERP-System.
- Das ERP-System bestätigt die Stornierung/Retoure oder lehnt diese ab.
Übertragung der letzten Shop-Bestellnummer
- Der Shop fordert die letzte Shop-Bestellnummer vom ERP-System an.
- Das ERP-System liefert die letzte Shop-Bestellnummer zurück.
Übertragung des Lagerbestands/Filialbestandes eines einzelnen Produkts
- Der Shop fordert den Lagerbestand zu einem einzelnen Produkt an.
- Das ERP-System liefert den Lagerbestand des Produktes zurück.
Übertragung von allgemeinen Kundendaten
- Der Shop fordert allgemeine Kundendaten vom ERP-System an.
- Das ERP-System liefert die allgemeinen Kundendaten zurück.
Ausschließlich verschlüsselter Abruf
Der Webservice wird ausschließlich über SSL aufgerufen. Unverschlüsselte Verbindungen müssen auf beiden Seiten (Shop/ERP-System) abgelehnt werden.UTF-8-Codierung
Alle Daten werden im UTF-8 Format übergeben.Fehler
Das ERP-System antwortet mit einem Http-Code ungleich 200, wenn es keine Daten liefern kann. Dies ist beispielsweise in den folgenden Fällen gegeben:- falsches REST-Passwort
- unbekannte Kundennummer
- unbekannte ShopID/SubshopID
- unbekannter Typ
- interner Fehler
- etc.
- 0001: falsches REST-Passwort
- 0002: unbekannte Kundennummer
- 0003: unbekannte ShopID
- 0004: unbekannte SubshopID
- 0005: unbekannter Typ
- 1000: interner Fehler X
- 1001: interner Fehler Y
- 1002: interner Fehler Z
- etc.
Übertragung einer Liste von Bestellungen /GetOrderList
Bei der Übertragung liefert das ERP-System dem Shop- fest vorgegebene Daten
- beliebige Daten
Anfrage vom Shop für eine Liste von Bestellungen
Vom ERP-System vorgegebene freie Suchfilter
Optional können dem ERP-System bis zu 10 freie Suchfilter übergeben werden. Die möglichen Filter und die dazugehörigen Codes werden vom ERP-System vorgegeben.
Anfrage /GetOrderList
Antwort vom ERP-System
Das ERP-System liefert dem Shop fest vorgegebene und im Shop frei konfigurierbare Daten zurück.Fest vorgegebene Kopfdaten
Im Shop frei konfigurierbare Kopfdaten
Im Shop werden maximal 1000 verschiedene Kopfdaten H1…H1000 unterstützt. Die maximale Länge eines einzelnen Datensatzes beträgt 4096 Zeichen. Die Kopfdaten sind im Shop (optional je Typ) frei konfigurierbar. Beispiel einer Konfigurationsdatei im Shop unabhängig des Daten-Typs:<HeadData>
H1 = Kundennummer
H2 = Auftragsdatum
H3 = Auftragsnummer
H4 = Rechnungsnummer
...
</HeadData>
Fest vorgegebene Positionsdaten
Im Shop frei konfigurierbare Positionsdaten
Im Shop werden maximal 1000 verschiedene Positionsdaten P1…P1000 unterstützt. Die maximale Länge eines einzelnen Datensatzes beträgt 4096 Zeichen. Die Positionsdaten sind im Shop (optional je Typ) frei konfigurierbar. Beispiel einer Konfigurationsdatei im Shop unabhängig des Daten-Typs:<PositionData>
P1 = Artikelnummer
P2 = Bezeichnung
P3 = Farbe
P4 = Gewicht
P5 = Stückpreis
...
</PositionData>
Antwort /GetOrderList:
Übertragung einer einzelnen Bestellung /GetOrder
Anfrage vom Shop für eine einzelne Bestellung
Anfrage /GetOrder:
Antwort vom ERP-System /GetOrder:
(Siehe auch Kopfdaten und Positionsdaten)Übertragung der möglichen Begründungen bei Storno/Retoure
Optional kann das ERP-System in den Kopfdaten des Auftrags die möglichen Begründungen mitliefern, die der Kunde im Shop bei einem Storno oder einer Retoure auswählen kann. Dies überschreibt alle in der Konfiguration des Shops hinterlegten Begründungen.- Zum Überschreiben der Storno-Begründungen muss das CancellationReasons-Array übertragen werden.
- Zum Überschreiben der Retoure-Begründungen muss das ReturnReasons-Array übertragen werden.
Übertragung einer PDF-Datei
Wird beispielsweise eine Rechnung per PDF angefordert, so liefert das ERP-System alle Daten einer Bestellung:- komplette Rechnungsadresse
- komplette Lieferadresse
- alle Artikel der Bestellung
- Gesamtsumme
- Zahlungsart
- Versandart/Zusteller
- usw.
Anfrage vom Shop für eine einzelne Bestellung als PDF-Datei /GetFile
Anfrage /GetFile:
Antwort vom ERP-System als PDF-Datei /GetFile
Das ERP-System liefert folgende Daten zurück:
Antwort vom ERP-System /GetFile:
Storno/Retoure von Positionen einer Bestellung
Wie oben beschrieben gibt das ERP-System je Position bekannt, ob und wie viele Stücke storniert/retourniert werden können.- Storno-Checkbox
- Mengeneingabefeld, falls MaxCancellations > 1
- DropDown-Liste für eine Begründung
- Retouren-Checkbox
- Mengeneingabefeld, falls MaxReturns > 1
- DropDown-Liste für eine Begründung
- Name der Bank
- Kontoinhaber
- IBAN
- BIC
Senden einer Retoure oder eines Stornos an das ERP-System /CancelOrder
Anfrage /CancelOrder:
Antwort vom ERP-System /CancelOrder
Das ERP-System liefert alle Daten (Kopf- und alle Positionsdaten) der Bestellung zurück. Zusätzliche Kopfdaten In den Kopfdaten kann das ERP-System jetzt und in späteren Anfragen zu dieser Bestellung mitteilen, dass eine Retouren-PDF-Datei, bzw. Storno-PDF-Datei abgeholt werden kann.
Zusätzliche Positionsdaten
Das ERP-System meldet für jede Position, welche Aktion durchgeführt wurde und ob die Aktion erfolgreich bzw. nicht erfolgreich war. Diese Werte sollten nur einmal gesendet werden. Bei späteren Anfragen sollten diese dann entfallen.
Bitte beachten Sie:
Wurde eine Position erfolgreich retourniert, so muss das ERP-System die Werte für
Übertragung der letzten Shop-Bestellnummer /GetLastOrderNumber
Damit der Shop die Bestellungen anzeigen kann, die noch nicht in das ERP-System importiert wurden, ist es erforderlich, dass das ERP-System dem Shop die letzte Shop-Bestellnummer mitteilt, welches das ERP-System importiert hat bzw. dem ERP-System bekannt ist. Die Anfrage des Shops enthält folgende Parameter:
Anfrage vom Shop /GetLastOrderNumber:
Antwort vom ERP-System für die letzte Shop-Bestellnummer /GetLastOrderNumber
Das ERP-System liefert folgende Daten zurück:
Antwort vom ERP-System /GetLastOrderNumber:
Abfrage eines einzelnen Lagerbestandes (einer Filiale) /GetStockAmount
Diese Funktion eignet sich für die Abfrage in Echtzeit, ob ein Produkt in einer ausgewählten Filiale verfügbar ist. Die Anfrage des Shops enthält folgende Parameter:
Die Filial-ID ist optional. Wird keine Filial-ID übergeben, dann liefert das ERP-System den Lagerbestand des Artikels bzgl. des Subshops. Wird eine Filial-ID übergeben, dann liefert das ERP-System den Lagerbestand bzgl. der Filiale.
Anfrage vom Shop /GetStockAmount:
Antwort vom ERP-System für den einzelnen Lagerbestand /GetStockAmount
Das ERP-System liefert folgende Daten zurück:
Antwort vom ERP-System /GetStockAmount:
Übertragung von allgemeinen, zusätzlichen Kundendaten /GetCommonData
Bei diesen Informationen geht es nicht um Bestelldaten, sondern um zusätzliche, frei konfigurierbare Kundendaten, wie beispielsweise die angesammelten Bonuspunkte oder die Rabatte eines Kunden bei einem Kauf. Die Anfrage des Shops enthält folgende Parameter:
Anfrage vom Shop /GetCommonData:
Antwort vom ERP-System für allgemeine Daten /GetCommonData
Das ERP-System liefert im Shop frei konfigurierbare Daten zurück.Im Shop frei konfigurierbare Daten:
Im Shop werden maximal 1000 verschiedene Commondaten C1…C1000 unterstützt. Die maximale Länge eines einzelnen Datensatzes beträgt 4096 Zeichen. Commondaten sind im Shop (optional je Typ) frei konfigurierbar. Beispiel einer Konfigurationsdatei im Shop unabhängig des Daten-Typs:<CommonData>
C1 = Bonuspunkte
C2 = Kundenspezifische Rabatte nach Kalenderjahr
...
</CommonData>
Antwort vom ERP-System /GetCommonData:
