Inhaltsverzeichnis

Dies ist die Dokumentation zum aktuell implementierten Web-Service:

Fachlicher Teil der Dokumentation

Dieser Absatz umfasst den fachlichen Teil der API-Dokumentation. Es werden alle möglichen Anwendungsfälle der Web-Service-SSt. nacheinander aufgeführt und kurz erläutert. Danach erfolgt eine Auflistung der übertragenen Daten und deren Konventionen hinsichtlich Bezeichnung, Typ und Länge. Pflichtangaben werden durch Fettschrift hervorgehoben. Möglicherweise an der Schnittstelle auftretende Fehler werden aufgeführt.

Verwendete Datentypen

Die anzuwendenden Datentypen befinden sich direkt nach dem Namen der zu übertragenden Daten. Sie korrelieren mit den Standard-SOAP-Datentypen. Weitere Einschränkungen bezüglich der Länge bzw. des Gültigkeitsbereiches befinden sich in Klammern. Eine Überschreitung dieser Einschränkungen führt nicht zur Ablehnung der Transaktion, verändert aber den Inhalt der übertragenen Daten.

Einfache Datentypen

Komplexe Datentypen

Zugangsdaten

Jeder Zugriff auf den Webservice erfolgt über die Angabe von Zugangsdaten. Diese stellen Pflichtangaben für jeden Request dar. Sie werden von Serversystem zur Verfügung gestellt. Der Response sind Meldungen im Fehlerfall und können ebenfalls als Antwort bei jeder Transaktion auftreten.

Anwendungsfälle der Schnittstelle

Die im Folgenden aufgeführten Anwendungsfälle sind im SOAP-Server implementiert. Sie können vom Client mit dem Namen der Transaktion als Methode aufgerufen werden. Der Aufbau der Anfrage als SOAP-Request und die Antwort des Servers als SOAP-Response sind je Anwendungsfall nachstehend dokumentiert. Im Fehlerfall erfolgt die Antwort als SOAP-Server-Fehler mit der dokumentierten Fehlermeldung als Faultstring.

Artikelbestand abholen

Diese Transaktion dient der Prüfung des aktuellen Artikelbestandes und der aktuellen Verfügbarkeit. Zur Identifizierung des Artikels wird bevorzugt das Feld clientOptionId verwendet, die Angabe der beim Anlegen des Artikels zurückgemeldete serverOptionId ist aber ebenfalls möglich.

Bestellung übergeben

Diese Transaktion dient der Übergabe einer Bestellung. Sie besteht aus genau einer Struktur für die Bestellungsdaten, genau einer Struktur für die Kundendaten und einem Array aus (theoretisch) beliebig vielen Strukturen für die Daten jeweils eines Artikels. Zur Identifizierung der Artikel wird bevorzugt das Feld clientOptionId verwendet, die Angabe der beim Anlegen des Artikels zurückgemeldete serverOptionId ist aber ebenfalls möglich. Wird ein Artikel nicht gefunden, ist die Bestellung nicht korrekt und muss komplett abgewiesen werden.

Bestellungsstatus anfragen

Diese Transaktion dient der Anfrage beim Serversystem zum aktuellen Status einer Bestellung. Dabei sind folgende Status möglich:

Die Trackingnummer kann erst geliefert werden, wenn Sie dem Serversystem bekannt ist. Dies erfolgt im Allgemeinen erst, wenn die Bestellung versendet wurde.

Artikelimport

Diese Transaktion dient der Übergabe von Artikeldaten an das Serversystem. Das Feld clientOptionId dient als eindeutige ID des Artikels bzw. der Artikelvariante. Anhand dieser ID erfolgt eine Prüfung auf Vorhandensein dieser Artikeloption. Ist sie nicht vorhanden wird diese Artikeloption angelegt (mode = new), sonst werden seine Daten aktualisiert (mode = update). Das Feld clientArticleId dient der Zuordnung mehrerer Artikelvarianten zu einem Artikel. Nur wenn diese übermittelt wird ist das Serversystem in der Lage die Artikelvarianten einem Artikel zuzuordnen. Sonst wird mit jeder Artikeloption ein kompletter neuer Artikel erzeugt.

vorhandene Artikel anfragen

ACHTUNG: Diese Transaktion steht erst ab myty4.1 Build:6832 (4. November 2009) zur Verfügung.

Diese Transaktion dient der Übergabe aller im Serversystem vorhandenen ArtikelIDs. Dabei können sowohl alle Artikel des Shops angefragt werden als auch nur die Artikel eines bestimmten Navigationspunktes. Dabei werden die IDs aller vorhandenen Artikel ausgeliefert unabhängig von deren Status oder Verfügbarkeit. Das Weg- bzw. Leerlassen der Daten des Navigationspunktes führt zur Auslieferung aller Artikel dieses Shops. Sind die Daten des Navigationspunktes ausgefüllt wird die id bevorzugt. Diese hat beispielhaft das Aussehen „tyNavigationTopicID_[ID]“. Sonst wird die URL verwendet. Nutzen sie dazu die im Frontend des myty-Shop verwendete URL ab dem Domainnamen (Beispiel: “/fashion/damen“). Falsch geschriebene ID bzw. URL führen zur Auslieferung eines leeren Arrays.

Technischer Teil der Dokumentation

Dieser Absatz umfasst den technischen Teil der API-Dokumentation. Es wird die eingesetzte Technologie erläutert und die Anforderungen an die Partnerseite definiert.

Eingesetzte Technologie

Die Allgemein zur Anwendung kommende Technologie ist ein Web-Service. Diese Technologie ist in der Lage Anwendungen plattform- und programmiersprachenunabhängig miteinander zu verbinden und deren Kommunikation auf XML-Basis über Internetprotokolle zu ermöglichen. Konkret zum Einsatz kommt die Technologie SOAP, welche Objekte über diesen Webservice austauschen kann. Die Firma tyclipso stellt einen SOAP-Server auf Basis der SOAP-Erweiterung von PHP5 zur Verfügung, welcher unter einer festgelegten URI auf SOAP-Anfragen „lauscht“ und die im fachlichen Teil dokumentierten Transaktionen als Methoden zur Verfügung stellt. Die Partnerseite kann diesen SOAP-Server mit einem beliebigen SOAP-Client auf der festgelegten URI ansprechen und die definierten Methoden aufrufen.

Wichtiger Hinweis zur Implementation des SOAP-Clients:

Bei der Verarbeitung des SOAP-Request durch den Server können die im fachlichen Teil der Dokumentation definierten Fehler auftreten. Die Fehlermeldung erfolgt als SOAP-Exception an den Client. Der SOAP-Standard schreibt das Senden eines zur SOAP-Abarbeitung passenden HTTP-Headers vor (w3.org Definition des SOAP-Standards, Kapitel: 6.2 SOAP HTTP Response). Die SOAP-Erweiterung von PHP5 setzt darum korrekterweise im HTTP-Header des Response den HTTP-Fehlercode 500. Einige SOAP-Client interpretieren den HTTP-Fehlercode und verweigern eine Weiterverarbeitung. In diesem Fall muss jedoch der SOAP-Client den HTTP-Fehlercode ignorieren um an den SOAP-Response zu gelangen. Sollte dies Ihrem SOAP-Client nicht möglich sein, nehmen Sie bitte zeitnah mit der Firma Tyclipso Kontakt auf.

Eine kurze FAQ:

Weitergehende Erläuterungen sind unter folgenden Links zu finden: