Hallo Zusammen,
wir haben folgende Herausforderung. Unser SaaS PIM läuft auf der Serverzeit UTC+0.
Wenn wir einen Datensatz jetzt (10:00 Uhr) in unserer Zeit verändern, wird am Datensatz als Zeitstempel im PIM 09:00 Uhr gesetzt.
Wenn ich jetzt über Synesty einen API Call absetze, mit dem Ziel mir alle Daten zurückzugeben, die innerhalb der letzten 30 Minuten (Zwischen 10:00 Uhr und 09:30 Uhr) verändert wurden, geht der Request auch mit der Zeit zwischen 10:00 und 09:30 Uhr raus. Aber da im PIM die Serverzeit um eine Stunde zurückliegt und der Zeitstempel am Datensatz 09:00 Uhr ist, bekomme ich keinen Datensatz zurück.
Also hab ich den API Call mit Hilfe von
${datecalc(current_timestamp?datetime, \"MINUTE\", -60)?string(\"yyyy-MM-dd'T'HH:mm:ss\")}\",\"${datecalc(current_timestamp?datetime, \"MINUTE\",-90)?string(\"yyyy-MM-dd'T'HH:mm:ss\")}
so verändert, dass der Call quasi eine Stunde abzieht. In diesem Fall wird an das PIM der API Call mit zwischen 09:00 Uhr und 08:30 Uhr gesendet und ich bekomme den veränderten Datensatz von 09:00 Uhr zurück. Das passt dann auch wunderbar.
Allerdings haben wir ja einmal im Jahr die Zeitumstellung und hier gibt es dann wieder ein Durcheinander. Denn wenn bei uns die Zeit um 1 Stunde nach vorne gestellt wird, also statt 10:00 Uhr haben wir jetzt bei uns 11:00 Uhr und ich schicke den API Call exakt wie oben beschrieben ab, geht der Request mit zwischen 10:00 uhr und 09:30 Uhr raus. Was dann wieder zu keinem Ergebnis führt, da die Serverzeit weiterhin UTC+0 ist und der Zeitstempel am Datensatz weiterhin 09:00 Uhr ist.
Also muss ich einmal im Jahr meinen API Call um „60 Minuten“ verändern.
${datecalc(current_timestamp?datetime, \"MINUTE\", -120)?string(\"yyyy-MM-dd'T'HH:mm:ss\")}\",\"${datecalc(current_timestamp?datetime, \"MINUTE\",-150)?string(\"yyyy-MM-dd'T'HH:mm:ss\")}
Frage, das kann man doch bestimmt eleganter lösen, oder?
Viele Grüße
Ramin