# Orderanlage mit Zahlungsstatus und Lieferstatus via API

**URL:** <https://forum.shopware.com/t/orderanlage-mit-zahlungsstatus-und-lieferstatus-via-api/68786>\
**Category:** Programmierung\
**Created:** [5. August 2020 um 10:14 UTC](https://forum.shopware.com/t/orderanlage-mit-zahlungsstatus-und-lieferstatus-via-api/68786 "2020-08-05T10:14:56Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![Christian\_K](https://avatars.discourse-cdn.com/v4/letter/c/9f8e36/32.png) [@Christian\_K](https://forum.shopware.com/u/Christian_K)\
**Post date:** [5. August 2020 um 10:14 UTC](https://forum.shopware.com/t/orderanlage-mit-zahlungsstatus-und-lieferstatus-via-api/68786/1 "2020-08-05T10:14:56Z")

</div>

Hallo Zusammen,

ich habe über die Suchfunktion jetzt nichts finden können und hoffe, das landet jetzt auch in der richtigen Kategorie, falls nicht, schon einmal Entschuldigung für mein Unwissen.

Aktuell versuche ich eine Schnittstelle für die Orderanlage via API zu bauen und renne in das Problem, dass ich via Post Request zwar eine Order angelegt bekomme, allerdings ohne Zahlungs- und Lieferstatus.&nbsp;

Wie wäre denn der korrekte Weg über die API den Liefer- und Zahlungsstatus in eine via API erstellte Order initial&nbsp;hineinzubekommen?

Vllt hat ja jemand einmal ein anonymisiertes Beispiel. Das wäre super!

Viele Grüße,

Christian

&nbsp;

---

<div class="post-metadata">

**Author:** ![Krispin](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/krispin/32/12849_2.png) [@Krispin](https://forum.shopware.com/u/Krispin)\
**Post date:** [6. August 2020 um 13:48 UTC](https://forum.shopware.com/t/orderanlage-mit-zahlungsstatus-und-lieferstatus-via-api/68786/2 "2020-08-06T13:48:49Z")

</div>

Hi Christian,

für den Zahlungsstatus musst du eine transaction mit einer passenden StateId und beim Lieferstatus eine delivery mit einer passenden StateId angeben.  
Solch ein Request kannst du dir z.B. selbst beim Erstellen im Admin anschauen und nachbauen, oder in die Swagger-API-Dokumentation dir das Schema des Requests anschauen. (Swagger-API ist auch online einzusehen:&nbsp;[https://api-doc.friendsofshopware.com/#/Order/createOrder](https://api-doc.friendsofshopware.com/#/Order/createOrder))

Ich hoffe das hilft dir erstmal weiter.

Gruß

Krispin

---

<div class="post-metadata">

**Author:** ![Christian\_K](https://avatars.discourse-cdn.com/v4/letter/c/9f8e36/32.png) [@Christian\_K](https://forum.shopware.com/u/Christian_K)\
**Post date:** [7. August 2020 um 12:09 UTC](https://forum.shopware.com/t/orderanlage-mit-zahlungsstatus-und-lieferstatus-via-api/68786/3 "2020-08-07T12:09:27Z")

</div>

Hallo Krispin,

danke für deine Antwort, genau das hatte ich versucht. Als Beispiel für den Lieferstatus: Leider bekomme ich permanent den Fehler:

 ![](https://europe1.discourse-cdn.com/flex013/uploads/shopware/original/2X/d/d1b6d100aa5cd16aeeb1dda0eadd51de65bde13a.png)

Vermutlich habe ich einen Denkfehler. Gibts da einen Kniff?

Das order\_delivery Objekt schaut so aus:

```
 {'shippingOrderAddressId': 'd07f814907814942aa8f36049f8afa97', 'shippingMethodId': '48ab4fff5d454c079611d2129f078de9', 'stateId': '78e6db1e89024c1f85c8a0383bb55adb', 'stateMachineState': {'technicalName': 'open', 'stateMachineId': '277c6700ddf64e1eb34af7298775f314', 'translated': {'name': 'Offen', 'customFields': []}, 'id': '78e6db1e89024c1f85c8a0383bb55adb'}, 'orderId': '25178a73d7bc40b2b4fad8959ad885e8'}

```

Um es vorweg zu nehmen: selbst, wenn ich ‚stateId‘ oder ‚stateMachineState‘ weglasse, bekomme ich immernoch selbige Meldung.

Wo gucke ich denn falsch?

Vielen Dank für die Hilfe!

&nbsp;

&nbsp;

---

<div class="post-metadata">

**Author:** ![Krispin](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/krispin/32/12849_2.png) [@Krispin](https://forum.shopware.com/u/Krispin)\
**Post date:** [7. August 2020 um 13:28 UTC](https://forum.shopware.com/t/orderanlage-mit-zahlungsstatus-und-lieferstatus-via-api/68786/4 "2020-08-07T13:28:07Z")

</div>

Hi Christian,

okay, per POST über die API bist du in einem falschen Context und kannst somit den State nicht ändern.  
Hierfür nutze die Transition-Routes:&nbsp;[https://docs.shopware.com/en/shopware-platform-dev-en/admin-api-guide/action-routes](https://docs.shopware.com/en/shopware-platform-dev-en/admin-api-guide/action-routes)  
Hier wird dann überprüft, ob die Transition valide ist und ändert dann den State.

Hoffe das hilft dir weiter.

Gruß

Krispin

---

<div class="post-metadata">

**Author:** ![Christian\_K](https://avatars.discourse-cdn.com/v4/letter/c/9f8e36/32.png) [@Christian\_K](https://forum.shopware.com/u/Christian_K)\
**Post date:** [10. August 2020 um 07:47 UTC](https://forum.shopware.com/t/orderanlage-mit-zahlungsstatus-und-lieferstatus-via-api/68786/5 "2020-08-10T07:47:31Z")

</div>

Hallo Krispin,

da bin ich auch schon einmal vorbei gekommen. Wenn ich allerdings per Post meinen Auftrag anlege, hat dieser ja zunächst weder Zahlungsstatus noch Lieferstatus. Die müssten dann ja irgendwie erst eingepflegt werden. Die Action Route erwartet ja die ID&nbsp; der Order Delivery.&nbsp;

Da der Status ja noch nicht existiert, kann ich diesen ja auch nicht ändern.&nbsp;

Ein initiales Anlegen des Lieferstatus über die Order oder auch separat überd die order\_deliveries Route&nbsp;führt bei mir wiederum zu obigem Problem. Hast du vielleicht einen Beispielrequest - oder kannst mir meinen Order Request so zusammenbauen, dass es geht?&nbsp;

&nbsp;

Meine funktionierende Order Anlage per POST auf Order sieht so aus:

```
 {'orderNumber': 'testOrder123', 'billingAddressId': 'd07f814907814942aa8f36049f8afb97', 'currencyId': 'b7d2554b0ce847cd82f3ac9bd1c0dfba', 'salesChannelId': 'e4d589d07f814942aa8f360b9f8bfa97', 'addresses': [{'firstName': 'Max', 'lastName': 'Musterkunde', 'zipcode': '27498', 'salutationId': '57b054f197a948e2800dc0111b7b272b', 'city': 'Helgoland', 'street': 'Große Aal Str. 1337', 'countryId': 'f4b4d28afe5a47a3acb90dabe29831b6', 'id': 'd07f814907814942aa8f36049f8afab7'}], 'orderDateTime': '2020-08-10T09:39:36+00:00', 'stateId': '2cc826373f4d4a859d81b1cd664d7fb3', 'currencyFactor': 1, 'price': {'positionPrice': 2345.95, 'netPrice': 5345.76, 'totalPrice': 5124.95, 'taxStatus': 'gross', 'calculatedTaxes': [{'tax': 79.19, 'taxRate': 19}], 'taxRules': [{'taxRate': 19, 'percentage': 100}]}, 'shippingCosts': {'unitPrice': 0, 'quantity': 1, 'totalPrice': 0, 'calculatedTaxes': [{'tax': 0}], 'taxRules': [{'taxRate': 19, 'percentage': 100.00}]}, 'lineItems': [{'identifier': 'TestIdentifier213', 'quantity': 1, 'label': 'Hauptprodukt mit erweiterten Preisen', 'price': {'unitPrice': 800, 'quantity': 1, 'totalPrice': 800, 'calculatedTaxes': [{'tax': 127.73}], 'taxRules': [{'taxRate': 19}]}}], 'orderCustomer': {'id': '635c4db68fff4dca92399b11711ddfb5', 'salutationId': '57b054f197a948e2800dc0111b7f27bb', 'email': 'max.musterkunde@trallala.com', 'lastName': 'Musterkunde', 'firstName': 'Max'}, 'stateMachineState': {'technicalName': 'open', 'stateMachineId': 'c70eb789357f40f2af4bf2831bceffbe', 'translated': {'name': 'Offen', 'customFields': []}, 'id': '6a0f64aa34194356ad9fa262c0bae7bd'}} 

```

tausend Dank!

Christian

---

<div class="post-metadata">

**Author:** ![Christian\_K](https://avatars.discourse-cdn.com/v4/letter/c/9f8e36/32.png) [@Christian\_K](https://forum.shopware.com/u/Christian_K)\
**Post date:** [14. August 2020 um 07:58 UTC](https://forum.shopware.com/t/orderanlage-mit-zahlungsstatus-und-lieferstatus-via-api/68786/6 "2020-08-14T07:58:15Z")

</div>

Hallo Zusammen,

hat hier vllt. noch jemand eine Idee, wie ich den Zahlungs- und Lieferstatus initial in meine Order bekomme? Ich bin nach zahllosen&nbsp;erfolglosen&nbsp;Tests&nbsp;bereits leicht verzweifelt.

Beste Grüße,

Christian

---

<div class="post-metadata">

**Author:** ![Christian\_K](https://avatars.discourse-cdn.com/v4/letter/c/9f8e36/32.png) [@Christian\_K](https://forum.shopware.com/u/Christian_K)\
**Post date:** [5. Januar 2021 um 14:14 UTC](https://forum.shopware.com/t/orderanlage-mit-zahlungsstatus-und-lieferstatus-via-api/68786/7 "2021-01-05T14:14:21Z")

</div>

Hallo Zusammen,

ich pinge einfach nochmal in den Raum.

Gibt es hier denn mittlerweile eine Lösung/Workaround?

beste Grüße,

Christian
