Hallo,
ich hab ein etwas ungewöhnliches Verhalten im SpreadsheetUrlDownload Step festgestellt, wenn ich einen bestimmten Endpunkt in der Shopware API anspreche. Ich kann dabei nicht ganz feststellen, ob es mit der Shopware API oder Synesty zusammehängt.
Und zwar möchte ich in Shopware den Namen und die Produktnummer einer Bestellposition ändern.
Dabei spreche ich den Endpunkt https:/domain.com/api/order-line-item/${oderLineItemID!} an und übergebe den Requestbody:
{
"label":"${label!}",
"payload": {
"productNumber": "${productNumber!}"
}
}
Wenn ich den Flow oder die Step-Vorschau ausführe erhalte ich von der API folgenden Fehler zurück und die Bestellpostionen werden nicht angepasst:
„HTTP status: 400 (Bad Request), Response Content: {„errors“:[{„code“:„0“,„status“:„400“,„title“:„Bad Request“,„detail“:„The JSON payload is malformed.“}]}“
Wenn ich den Flow oder die Step-Vorschau direkt danach gleich nochmal ausführe dann funktioniert alles ohne Fehler und die Bestellpositionen werden angepasst.
Wenn ich das Ganze über Postman teste funktioniert es immer beim ersten Mal was mich etwas verwirrt mit was es zusammenhängt.
Viele Grüße,
Patrick
Hallo Patrick,
schwer zu sagen woran es liegt. Vermutlich ist einer der Werte label
und/oder productNumber
leer. Eventuell werden Daten mit einem vorherigen Request / Step geschrieben und sind dann erst bei der zweiten / nächsten Ausführung vorhanden. Woher bekommst du die Daten label
und productNumber
?
Wie sieht denn der requestBody
des SpreadsheetUrlDownload Step im Fehlerfall aus?
VG Torsten
Hallo @synesty-Torsten,
den requestBody hatte ich überprüft und auch im Postman getestet, was funktionierte.
So sieht der requestBody im Fehlerfall aus:
Und so im Erfolgsfall:
VG Patrick
Hallo Patrick,
der 1. request scheint auch zu funktionieren. Der Fehler passiert erst beim 2. Request:
Kannst du dir mal bitte 10 Zeilen in der Vorschau anzeigen lassen:

VG Torsten
Oh stimmt, das hatte ich übersehen:
Der zweite requestBody sollte aber eigentlich auch valide sein.
Hmm, der requestBody sieht auf den 1. Blick gut aus. Zwei Ideen hab ich noch:
-
eventuell liegt es am Umlaut im label
→ kannst du bitte mal den „bodyContentType“ auf den Wert application/json; charset=UTF-8
stellen (siehe Encoding bei APICall - #3 von spawn)
-
oderLineItemID
ist in der Zeile vorhanden? Sonst würde als API Route https:/domain.com/api/order-line-item/ rauskommen
VG Torsten
1 „Gefällt mir“
Durch die Umstellung auf UTF-8 scheint jetzt kein Problem mehr aufzutreten. Ich werde es mal weiter beobachten.
Vielen Dank für deine Hilfe!
VG
Patrick
1 „Gefällt mir“