Hallo zusammen,
ich möchte täglich nach Versandschluss bei uns, die versendeten Lieferungen eines bestimmten Projekts abrufen und die Trackingnummern an ein externes System senden. Alles bestenfalls per API. Leider stellt sich das gar nicht als so einfach heraus, da man beim Delivery-Endpoint weder nach Datum noch nach Projekt filtern kann.
Bisheriger Workaround ist, dass ich die Lieferscheine (Delivery Notes) des Tages abrufe und dann die passenden Lieferungen (Delivery) dazu raussuche. Das funktioniert ganz gut. Probleme gibt es nur, wenn die Aufträge am einen Tag ins Versandzentrum übergeben, aber erst am nächsten Tag (oder noch später) verschickt werden. Die werden dann nicht berücksichtigt. Ich müsste sonst immer weiter in der Vergangenheit suchen und der Datensatz wird immer größer. Auch beim Endpunkt Delivery Note kann man nicht nach Projekt filtern. D.h. ich muss client-seitig filtern. Also sehr viele Daten erstmal über die API abrufen.
M.E. lassen die Endpunkte echt Basisfunktionen vermissen. Gerade solche Filter sind doch total wichtig. Leider tut sich da auch nix dran in der letzten Zeit. Die API scheint sich nur marginal weiterzuentwickeln, obwohl grundlegende Funktionalitäten immer noch brach liegen und die Endpunkte sehr zu wünschen übrig lassen.
Wie dem auch sei, suche ich nach der besten Lösung für mein Problem mit den mir zur Verfügung stehenden Mitteln. Hat da jemand einen guten Ansatz? Übersehe ich vielleicht sogar etwas und mache mir das Leben unnötig schwer?
P.S. Ich hatte noch den Ansatz, dass ich die Sales Order ID im Drittsystem abspeichere (wäre möglich), in dem Moment, wenn der Auftrag in Xentral angelegt wird. Dann könnte ich andersherum alle Aufträge mit leeren Trackingnummern immer wieder abfragen bis es eine Trackingnummer dazu gibt. Aber beim Sales Order Import-Endpunkt ist der Response leer bzw. null. Ich erhalte noch nicht mal die Sales Order ID zurück. Sowas sollte doch eigentlich automatisch im Response drin sein?! Stehe ich nur auf dem Schlauch oder ist das wirklich so? In der Dokumentation steht nur, dass String oder null returned wird (https://developer.xentral.com/reference/salesorderimport-1). Die ID erhalte ich nicht. Auch beim Testen in der rechten Spalte steht dort lediglich “Created”, wenn es geklappt hat.
Über neue Ansätze zu dieser Problematik würde ich mich freuen!
Viele Grüße
David