Hallo zusammen,
ich arbeite aktuell an einem Synesty-Flow, der folgende Anforderungen erfüllen soll:
Zielstellung:
- Die Lieferscheine sollen auf Basis der physischen Pakete erstellt werden, die über Pulpo WMS gepackt wurden.
- Für jedes Paket muss ein separater Lieferschein erzeugt werden.
- Die Lieferscheinnummer muss fortlaufend generiert werden.
- Die Lieferscheine sollen sowohl an Pulpo WMS als auch an PlentyMarkets übertragen werden.
- Die Datenquelle ist ein JSON-Objekt, das über einen Webhook von Pulpo WMS empfangen wird. Zusätzlich werden Auftragsdaten aus PlentyMarkets per PlentySearchOrders abgerufen.
Aktueller Stand:
- Ich habe die Daten aus Pulpo WMS erfolgreich per JSON-Reader ausgelesen. Die Struktur umfasst die Pakete, Artikel und Versandinformationen.
- Die Plenty-Daten (order_id, order_marking, shipping_method, order_date, etc.) habe ich ebenfalls per PlentySearchOrders abgerufen.
- Der Datastore
DeliveryNoteData
ist bereits erstellt und umfasst folgende Spalten:order_id
package_id
delivery_note_number
box_number
box_weight
box_name
items
(JSON)shipping_address
(JSON)order_marking
shipping_method
order_origin
order_date
external_order_id
Problematik / Fragen:
- Wie füge ich dynamisch Pakete in den Datastore hinzu?
- Ich weiß nicht im Voraus, wie viele Pakete in
packing_boxes
vorhanden sind. Daher muss der DatastoreWriter die Pakete dynamisch verarbeiten und für jedes Paket einen Datensatz anlegen.
- Wie generiere ich die fortlaufende Lieferscheinnummer?
- Die Lieferscheinnummer muss für jedes Paket einmalig und fortlaufend sein. Kann ich das über einen Datastore lösen oder gibt es eine bessere Methode?
- Datenzusammenführung:
- Die Daten aus PlentySearchOrders (z. B.
order_marking
,shipping_method
, etc.) müssen pro Paket in den DatastoreWriter integriert werden. Hier habe ich aktuell Probleme, da der Mapper Step scheinbar nicht sauber zusammengeführt wird.
Was bereits funktioniert:
- JSON-Reader liest die Pakete und Artikel aus Pulpo WMS ein.
- PlentySearchOrders holt die Auftragsdaten ab.
- StopFlowIf filtert Aufträge, die nicht
order_marking = 11
sind (Galaxus Lagerlieferungen). - Der Datastore
DeliveryNoteData
ist erstellt, aber noch nicht befüllt.
Nächste Schritte:
- Pakete dynamisch in den Datastore schreiben – Wie setze ich das korrekt um?
- Fortlaufende Lieferscheinnummer – Wie löse ich das am besten?
- PDF-Generierung für jedes Paket – Wie gehe ich am effizientesten vor?
Ich hoffe, jemand aus der Community hat einen hilfreichen Ansatz oder ein Beispiel für diese Konstellation. Vielen Dank vorab für eure Unterstützung!
Beste Grüße
Frank