Hallo liebe Shopware-Community, wir fragen über die Shopware5-REST-API die Bestellungen im Shop ab um diese dann in unser ERP-System zu übernehmen. Leider ist es so, dass wir bisher nur die Möglichkeit haben ALLE Bestellungen im Shop ab zu rufen und wir müssen diese dann nachträglich sortieren ob diese neu eingegangen sind, oder ob diese schon „alt“ / bearbeitet sind. Das mag ja bei einem neu eingeführtem Shop mit einer übersichtlichen Bestelleranzahl noch gehen, aber wenn der Shop nach ein paar Jahren mal 100.000 Bestellungen+ hat, dann wird das mit dem Sortieren schwierig. Weiß jemand von Euch ob es möglich ist, über die REST-API nur die neuen Bestellungen ab zu fragen? Vielen Dank & viele Grüße, Benedikt
Hallo Benedikt, der orders-Endpunkt der API akzeptiert eine kleine Reihe von zusätzlichen GET-Parametern - für dich interessant wären wahrscheinlich “start” und “filter”. Am einfachsten zu Bedienen dabei wahrscheinlich “start” - du müsstest also den Index der zuletzt abgerufenen Bestellung zwischenspeichern (nicht die Bestellnr. sondern die wievielte Bestellung es ist) und kannst dann einfach folgendes aufrufen: /api/orders?start=deinOffset
Wenn das nicht reicht, solltest du dir “filter” anschauen. Ich hoffe, das hilft… Viele Grüße Marcus
Ein Abruf sieht bei uns etwa so aus: https://www.domain.de/api/orders?filter[1][property]=orders.cleared&filter[1][value]=17&filter[2][property]=orders.status&filter[2][value]=0&filter[3][property]=orders.paymentId&filter[3][value]=4
Heißt, es werden nur die Bestellungen abgefragt, die im Bestellstatus „offen“ haben (hier musst du nach dem einlesen der Bestellung den Status über die API ändern, sonst werden Bestellungen mehrfach geholt.) und im Zahlungsstatus „reserviert“ oder „Komplett bezahlt“. Zusätzlich gibt es bei uns noch einen Filter für die Zahlungsart-ID, da wir Zahlungsarten haben, die wir selbst verwalten und somit keine Updates zum Zahlungsstatus im Shop haben. Hoffe du kannst damit was anfangen. Grüße
Hallo zusammen, beide Methoden funktionieren wunderbar! Vielen, vielen Dank für Eure Hilfe!!! Viele Grüße, Benedikt