Skip to main content

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

Hallo @David Niermann ,

entschuldige bitte die späte Antwort. Wir sind bereits im Hintergrund dran, deine Frage vielleicht noch genauer beantworten zu können. Für den Moment habe ich leider nur diese zwei Vorschläge:

  • Nutze einen täglichen Bericht per Email oder FTP aus der Versandtabelle 
  • Benutze das Übertragungen-Modul um alle Lieferscheine eines bestimmten Status an den Lieferanten mit modifiziertem CSV-Export zu senden

Vielleicht weiß ja einer unserer Partner aktuell dazu noch mehr, ansonsten müsstest du dich ggf. leider noch gedulden, bis wir intern vielleicht weiter gekommen sind. 


Hallo David,

über den WebHook deliveryNote.protocolCreated könntest du nach dem Protokolleintrag “Verarbeitung im Versandzentrum“ schauen. Sobald du diesen hast, kannst du dir über GET https://{xentralId}.xentral.biz/api/deliveryNotes/{id}/deliveries die Trackings holen.

Hierfür benötigst du allerdings eine kleine Anwendung, die die WebHooks entgegennimmt. Sobald du diese hast, würde ich die übermittelten Daten in einer Datenbank speichern und diese dann befüllen. Aus dieser Datenbank würde ich dann das Drittsystem befüllen.

Gruß

Artem


Hi David,

die IDs neu erstellter Entitäten erhältst du in allen Endpunkten (der neuen API) immer über den Response Header

zB siehe hier für Sales Order Import

 

 

Die URI enthält dabei jeweils die URI des VIEW Endpunkt inkl. der Datensatz-ID 

 

Grüße

Fabian


Hallo David,

du kannst jederzeit Anfragen bezüglich unserer API an api@xentral.com senden. Wir prüfen jede Anfrage und leiten daraus potenzielle Optimierungen und Erweiterungen unserer API ab. 

Wir haben deinen Engpass bezüglich der Filterung von Lieferscheinen auf Projekte bereits auf unserer Improvement-Liste stehen für den Delivery note list-Endpunkt. 

Ich habe soeben einen weiteren Eintrag auf die Liste gesetzt, um entsprechende Filter in den List delivery-Endpunkt einzubauen für das Versanddatum und auch die den Lieferschein.

 

Falls du weitere Anregungen hast, lass es uns gerne über api@xentral.com wissen.

 

 


Antworten