Der Webservice ist ausschließlich über SSL erreichbar. Unverschlüsselte Verbindungen lehnt er ab.
Das Abrufmuster
Jeder Abruf besteht aus zwei Schritten: Das externe System schickt einen Request, das WEBSALE-System antwortet mit den angeforderten Daten. Damit kein Datensatz doppelt oder gar nicht ankommt, muss das externe System zwei Dinge leisten: Es übergibt bei jedem Aufruf ShopID und Passwort, und es merkt sich die zuletzt empfangene Datensatznummer.Erster Abruf gegen laufenden Betrieb
Beim allerersten Abruf gibt es noch keine gemerkte Nummer. Der Request nennt dann Datum und Uhrzeit, ab denen gelesen werden soll, und setztSkipFirstMatch auf false.
Im laufenden Betrieb übergeben Sie stattdessen die zuletzt empfangene Nummer und setzen SkipFirstMatch auf true. Die Übertragung beginnt dann mit dem darauf folgenden Datensatz, der bereits verarbeitete wird also nicht erneut geliefert.
Einen einzelnen Datensatz holen Sie, indem Sie seine Nummer übergeben, das jeweilige Max…Count-Feld auf 1 setzen und SkipFirstMatch auf false lassen.
Enthält ein Request sowohl eine Datensatznummer als auch Datum und Uhrzeit, gewinnt die Nummer. Datum und Uhrzeit werden dann ignoriert.
Blättern, bis Finished true ist
Liegen mehr Datensätze vor, als Sie angefordert haben, liefert die AntwortFinished=false. In diesem Fall wiederholen Sie den Request mit der zuletzt empfangenen Nummer, bis Finished auf true steht. Wer diese Schleife weglässt, holt bei hohem Aufkommen dauerhaft nur den jeweils ersten Block ab und merkt es nicht, weil kein Fehler auftritt.
Pro Aufruf lassen sich maximal 1000 Datensätze abrufen, voreingestellt sind 100.
Die vier Kommandos im Vergleich
Parameter des Requests
Diese Parameter gelten für alle vier Kommandos:
Nur bei
GetOrders kommt ein weiterer Parameter hinzu:
Serverseitig kann der Zugriff auf bestimmte Subshops eingeschränkt sein. Steht in der Liste ein Subshop, der nicht freigeschaltet ist, bricht die Übertragung mit
ES013 ab.
Beispiel: maximal 100 Bestellungen abrufen, die seit dem 11.05.2013 um 11:00 Uhr eingegangen sind:
Parameter der Antwort
Die Antwort ist bei allen vier Kommandos gleich aufgebaut. Ein Sammelelement enthält je Datensatz ein Einzelelement, dieses wiederum Datum, Uhrzeit, Nummer und die eigentlichen Nutzdaten als XML.
Bei
GetOrders kommt SubshopIDs hinzu. Das Feld wird zurückgegeben, wenn im Request SubshopIDs gesetzt waren oder die Shop-Konfiguration das Abholen auf bestimmte Subshops einschränkt. Es enthält dann die Liste der SubshopIDs, für die Bestelldaten abgerufen werden können.
Bei Gutscheinen beziehen sich Date und Time auf den Zeitpunkt der Generierung des Gutscheins, nicht auf eine Bestellung.
Fehlerbehandlung
Tritt ein Fehler auf, antwortet die Schnittstelle mit einem SOAP Fault:WSDL-Dateien und Server-URLs
Zu jedem der vier Abrufe gehört eine eigene WSDL-Datei:order.wsdl, inquiry.wsdl, address.wsdl und voucher.wsdl. Damit lässt sich der Anbindungscode je nach Programmiersprache automatisiert erzeugen.
Die WSDL-Dateien und die URLs des SOAP-Servers erhalten Sie von Ihrem WEBSALE-Ansprechpartner.
Verwandte Themen
- Wegweiser: Übertragung: Trigger für Import und Export
- Wegweiser: WS-Bestelldaten
- Wegweiser: WSOM-from-Shop
