SpreadsheetURLDownload - Felder werden nicht mehr ausgelesen

Moin @Synesty,

Wir haben leider ein großes Problem mit einem SpreadsheetURLDownload-Step.

Wir fragen alle Bestellungen aus Mirakl ab und bestätigen diese dann automatisch.

Ausgabe Filter:

In dem Filter-Step sind alle Daten vorhanden und trotzdem kriegen wir diesen Fehler:

Der Fehler ist ganz klar. Die Order ID wird nicht mehr ausgelesen…

In der Vorschau für die URL sieht man es.

Was wurde probiert:

  • in einem TextHTMLWriter wurde verifiziert dass ich die Order IDs auslesen und in einer JSON anzeigen lassen kann
  • ich habe auch versucht den Step von neu aufzubauen

Beides erfolglos und ein Fehler ist für mich nicht erkennbar. Der Flow hat die ganze Zeit funktioniert und ist seit mehreren Monaten im Betrieb. Die Bestellungen müssen dringend reinlaufen. Ein manueller Import ist nicht möglich.

Kunde: Riess-Ambiente

Ich freue mich auf eure Rückmeldung!
René

Hi @reneno-reneno

hattest du bereits einmal probiert den Request, der hier fehlschlägt Manuell (über Postman) abzugeben?

Tatsächlich stellt Mirakl sogar dafür ein Postman / OpenAPI Projekt dafür bereit.
Diese sind zu finden unter:

Vielleicht könntest du auch mal deine fertige Payload hier posten, damit man sich die näher anschauen kann.

Wahrscheinlich ist der Fehler aber folgender:
Wenn der Check item.get("order_id") == order_id beim letzten Element negativ ist, dann hast du immer noch das , vom vorherigen Element drin, obwohl es kein entsprechendes order_line Objekt gibt.
Das daraus resultierende JSON wäre somit invalide.
Dieser Fehler sollte eigentlich immer in dem Moment auftreten wo du mehrere Orders in einem Flow-Run zu verarbeiten.

Noch eine weitere Anmerkung:
Dein Approach mit dem Header und Positionen splitten und dann darüber zu iterieren scheint recht ineffizient.
Angenommen jede Order hat eine Position und du hast 10 Orders. Du würdest somit also 10*10 → 100 checks haben ob deine Order_ID matched.

Mein Vorschlag wäre es statt dessen, die Positionen vorher in einem Mapper zu guppieren und das Order_Line JSON direkt im Mapper zu gestalten und dann später in das SpreadsheetUrlDownload zu integrieren.
Siehe folgendes Beispiel:

Viele Grüße
Stefan

Hallo René,

Ich denke, dass @sHelme mit seiner Vermutung (siehe „Wahrscheinlich ist der Fehler aber folgender:“) richtig liegt. Zum Testen kannst du auch das Limit im SpreadsheetUrlDownload mal auf 1 setzen und dir den requestBody im Vorschau - Ergebnis anschauen.

Das ist aktuell noch ein Problem der input Vorschau des SpreadsheetUrlDownload. Die Daten aus dem input Spreadsheet sind bei der Vorschau des inputs nicht vorhanden, sodass sie immer leer ausgegeben werden (in deinem Fall ${order_id!} ).
In der Step Vorschau sollte aber die vollständige url vorhanden sein.

VG Torsten

Hallo @reneno-reneno,

nur noch ein Tipp zum Debuggen:
Du kannst temporär bei den Fehlercodes im SpreadsheetURLDownloader nur die 500 eintragen. Dann sorgen deine 400er Fehler nicht mehr für einen Flowabbruch und du kannst dir die abgeschickten Requests in eine Excel schreiben und ausgeben lassen.

Gruß
Gustav