von Jan Griesel
Wie sie sicherlich in unseren Blog-Beiträgen gelesen haben, wird es in plentymarkets in Kürze große Veränderungen rund um den Artikel geben.
» Blog zur Artikelarchitektur lesen
Im Zuge dieser Anpassungen wird es auch Veränderungen und Anpassungen an der SOAP API geben. Die API muss an die neuen Strukturen im Bereich Artikel angepasst werden. Das bedeutet, für alle derzeit laufenden Integrationen sind eine oder mehrere Anpassungen notwendig. Da dies natürlich in einer laufenden Version nicht möglich ist, werden wir neue SOAP-API Versionen zur Verfügung stellen.
Für die SOAP-API Version 114 - die seit 6 Wochen stable ist – werden wir ein Mapping der relevanten Datenfelder auf die neue Artikelstruktur vornehmen. Ältere Versionen werden dieses Mapping nicht erhalten und werden komplett aus den Systemen entfernt.
Die ersten Änderungen an der Artikelarchitektur werden in einigen Wochen verfügbar sein, so dass Sie bis jetzt noch genügend Zeit haben, um auf die SOAP-API Version 114 zu wechseln. Wenn Sie zum Zeitpunkt an dem die ersten Änderungen an der Artikelarchitektur zur Verfügung gestellt werden nicht die SOAP API Version 114 nutzen, sondern eine ältere, ist ein automatisches Mapping nicht möglich und auch nicht nachträglich durchführbar. Es empfiehlt sich also zu diesem Zeitpunkt die Version 114 zu nutzen. Wechseln Sie daher spätestens bis zum 21.08.2015 auf die SOAP-API Version 114.
Leider stellen wir auch immer wieder fest, dass externe Integrationen zu selten auf aktuelle SOAP-API Versionen angehoben werden. Wir werden auch weiterhin dafür Sorge tragen, dass SOAP-API Versionen 12 Monate gepflegt werden. Die SOAP-API Version 113 wurde bereits Mitte vergangenen Jahres bereitgestellt, somit wird es Zeit, auf die neue Version zu wechseln:
Beachten Sie bitte, dass die Änderungen am Artikel, die in Richtung der neuen Struktur gehen, step-by-step in plentymarkets migriert werden. Die erste Anpassung wird voraussichtlich in 6 Wochen online gehen und die Artikelpreise betreffen.
Stellen Sie daher bitte umgehend Ihre Integrationen auf die neue API-Version 114 um, damit es hier nicht zu Problemen kommt.
Verwendete Version herausfinden
Sie müssen nur dann handeln, wenn die von Ihnen genutzten Integrationen noch nicht die aktuelle SOAP-API Version 114 verwenden.
Im folgenden Bereich unter SOAP-Log können Sie nachvollziehen, welche API Version von Ihren Integration verwendet wird:
Datenaustausch » API Log
Finden Sie dort Einträge, bei welchen in der Spalte Version nicht 114 steht, dann müssen Sie handeln.
SOAP-API Limitierungen
Wir haben in der Vergangenheit leider einige Probleme mit externen Partnern und eigens programmierten Kunden-Integrationen gehabt, welche durch Fehler oder mangelhafte Logik sehr viele SOAP Calls auf einzelne Systeme abgesetzt haben. Durch programmierte Endlosschleifen wurden teilweise Millionen von SOAP Calls auf mehrere Systeme parallel gefeuert. Dies hat zu erheblichen Beeinträchtigungen nicht nur des Zielsystem, sondern auch von Systemen auf dem gleichen Datenbankserver geführt. Somit sind wir gezwungen zu handeln und die SOAP Calls pro System zu limitieren.
Es wird 2 Arten von Limitierung geben:
- SOAP Calls pro Minute
Wir werden eine Limitierung der SOAP Calls pro Minute und pro IP einführen. Wird von einer IP das Limit pro Minute überschritten, wird diese IP geblockt. Diese Sperre wird 10 Minuten aufrecht erhalten. Danach wird die IP wieder frei gegeben. Im Falle dieser Sperre erhalten Sie die Antwort: HTTP/1.1 429 Too Many Requests. Diese Anpassung ist bereits fertig und teilweise aktiv und ist mit einem Wert von 150 Call pro Minute bemessen. In den kommenden Tagen werden wir die Calls pro Minute weiterhin zählen und auswerten, um so einen endgültigen Wert der maximal zulässigen Calls pro Minute zu ermitteln. Am 20. Juli werden wir diese Limitierung aktivieren. - SOAP Calls pro Tag
In den vergangenen Wochen haben die Nutzung der SOAP API überwacht und hier einige statistische Auswertungen vorgenommen. Die Mehrheit der SOAP API-Anwender liegt in einem normalen Bereich und die angebundenen Schnittstellen scheinen mit einer überschaubaren Anzahl an SOAP Calls auszukommen. Allerdings hat die Auswertung auch einige Ausreißer aufgezeigt, bei denen die Implementierung einer Überarbeitung bedarf. Wir haben einige Fälle genauer untersucht und konnten feststellen, dass man plentymarkets mit ca. 40.000 SOAP Calls am Tag mit einer Vielzahl an externen Systemen synchronisieren kann.
Ein Beispiel - Folgende SOAP-Anbindungen:
- externes Shopsystem
- Warenwirtschaftssystem
- Versanddienstleister
- Kassensystem
- Findologic
- eigene Implementierungen
Mit überlegter Implementierung und ausgewogener Synchronisation kann viel geleistet werden. Wir haben jedoch festgestellt, dass einige Systeme mit mehr als der drei- bis vierfachen Anzahl an SOAP Calls arbeiten und dies belastet die Systeme stark. Daher werden wir in naher Zukunft die Anzahl der SOAP Calls der Systeme limitieren.
Kontrollieren Sie daher in Ihrem System unter Datenaustausch » API Log » SOAP-Statistik die Anzahl der SOAP API Calls Ihres Systems. Liegt die Nutzung lesender und schreibender API Calls bei 30.000 und weniger, besteht kein Handlungsbedarf. Ab einem Durchschnitt von 40.000 und mehr Calls pro Tag, bitten wir Sie die Implementierungen zu kontrollieren und ggf. nachzubessern. Ab einer Anzahl von ca. 86.000 SOAP Calls pro Tag – das entspricht einem SOAP Call pro Sekunde - besteht akuter Handlungsbedarf, da es sich hierbei bereits um eine grenzwertige API-Nutzung handelt.
Weitere Informationen erhalten Sie in unserem Handbuch Hier können Sie die Doku zur SOAP Version 114 herunterladen.