Recalculate via API

Hallo,

ich würde gerne über die API per POST an /api/v3/_action/order/e12f4565aa2b40c0873b565e7f2f7b38/recalculate die Bestellung neu berechnen lassen, nachdem ich retournierte Ware von der Bestellung runter genommen habe. Die Modifikation der Bestellung klappt, jedoch aktualisiert sich der Betrag nicht. Wenn ich daher den oben gannenten POST ausführe, bekomme ich folgende Meldung:

{

"errors": [

    {

        "status": "400",

        "code": "CHECKOUT__ORDER_RECALCULATION_FAILED",

        "title": "Bad Request",

        "detail": "Order with id \"e12f4565aa2b40c0873b565e7f2f7b38\" could not be recalculated. Live versions can't be recalculated. Please create a new version.",

        "meta": {

            "parameters": {

                "orderId": "e12f4565aa2b40c0873b565e7f2f7b38",

                "details": "Live versions can't be recalculated. Please create a new version."

            }

        }

    }

]

}

Hat jemand eine Idee wie ich die erneute Berechnung anstoßen kann? Das Backend selbst kanns ja scheinbar mit dem API Request.

Vielen Dank

Wenn du eine Bestellung im Admin editierst, kannst du dir ja die API-Requests im Browser ansehen. Der Admin spricht ja auch nur mit der API. Am besten da einfach abschauen, wie das gemacht wird.
Grundsätzlich erzeugt ein „Edit“ eine neue Version der Bestellung, soweit ich das weiß.

Danke @Moritz_Naczenski

Wieso krieg ich dann die geschriebene Fehlermeldung? An der ID der Bestellung ändert sich ja scheinbar nichts. Die API Requests im Browser habe ich zu Testzwecken auch einfach mal in Postman Copy/Pasted. Bekomme ich den selben Fehler.

Änderung an der Bestellung funktioniert, Neukalkulation direkt im Anschluss nicht.

Legst du denn eine neue Version der Order an und arbeitest mit dieser Version?
Das sagt die Fehlermeldung dir ja auch.

Kann dir keine Lösung aufzeigen, aber wenn du es in der gleichen Reihenfolge machst und die entsprechende neue Version UUID mit übergibst, sollte es so funktionieren. Wie du sagst macht der Admin ja das gleiche.

Soweit ich sehe, startet alles mit dem Version Call: /api/v3/_action/version/order/76a466770f8b4189b6ab2085fba25bfd

Beim Editieren im Adminbereich ist mir nach längerem Debugging aufgefallen dass beim /recalculate Request die UUID der neuen Order-Version im Header „sw-version-id“ übergeben wird.