# API -Bestell, Zahlungs- und Lieferstatus von Bestellung auslesen

**URL:** <https://forum.shopware.com/t/api-bestell-zahlungs-und-lieferstatus-von-bestellung-auslesen/71263>\
**Category:** Programmierung\
**Created:** [30. November 2020 um 18:36 UTC](https://forum.shopware.com/t/api-bestell-zahlungs-und-lieferstatus-von-bestellung-auslesen/71263 "2020-11-30T18:36:27Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![stormerMike](https://avatars.discourse-cdn.com/v4/letter/s/e0b2c6/32.png) [@stormerMike](https://forum.shopware.com/u/stormerMike)\
**Post date:** [30. November 2020 um 18:36 UTC](https://forum.shopware.com/t/api-bestell-zahlungs-und-lieferstatus-von-bestellung-auslesen/71263/1 "2020-11-30T18:36:27Z")

</div>

Ich habe leider die Logik hinter den Stati in der API noch nicht durchschaut (StateMachine, StateMachineState, StateMachineStateHistory).

Für einen Abgleich der Bestellungen in unser ERP will ich zusätzlich zu den Bestelldaten (Preis, LineItems) auch jeweils den aktuellen Status der Bestellung, Bezahlung und Lieferung holen.  
Genauer gesagt fehlt mir die Verknüpfung der Stati zu einer spezifischen Bestellung.  
In einer Bestellung (z.B. über Route /api/v3/order/48f65153d5af462686a102a5e813766e) sehe ich nur das Property “stateId” aber mehr nicht. Wie komme ich da auf die 3 aktuellen Statuswerte der Bestellung?

Vermutlich stehe ich am Schlauch daher wäre ich über einen “Schubsa” sehr dankbar.

---

<div class="post-metadata">

**Author:** ![ThomasChr](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/thomaschr/32/10466_2.png) [@ThomasChr](https://forum.shopware.com/u/ThomasChr)\
**Post date:** [1. Dezember 2020 um 08:42 UTC](https://forum.shopware.com/t/api-bestell-zahlungs-und-lieferstatus-von-bestellung-auslesen/71263/2 "2020-12-01T08:42:14Z")

</div>

Also wir machen das so (es geht vielleicht einfacher wenn man beim holen der Bestellungen mit „Associations“ noch gleich weitere Daten holt…

1. /search/order

-\> Suche mit der OrderNumber gibt uns hier die Bestellung

1. /customer

-\> Gibt uns die Kundendetails zu der Bestellung

1. /order/ORDERID/transaktions

-\> Gibt uns den Bezahlstatus

---

<div class="post-metadata">

**Author:** ![stormerMike](https://avatars.discourse-cdn.com/v4/letter/s/e0b2c6/32.png) [@stormerMike](https://forum.shopware.com/u/stormerMike)\
**Post date:** [1. Dezember 2020 um 10:45 UTC](https://forum.shopware.com/t/api-bestell-zahlungs-und-lieferstatus-von-bestellung-auslesen/71263/3 "2020-12-01T10:45:00Z")

</div>

Danke für deine Antwort die mich jetzt in die richtige Richtung gebracht hat.

Hab mir jetzt den Request so zusammen gebaut das ich möglichst alles auf einmal bereits bekomme.  
Als Key für in den **associations** Properties ist jeweils der Key aus **relationships** zu verwenden.

POST /api/v3/search/order  
Body:

```
{
    "filter": [
        {
            "type": "equals",
            "field": "orderNumber",
            "value": 10001
        }
    ],
    "associations": {
        "orderCustomer": {
            "associations": {
                "customer": {},
                "salutation": {}
            }
        },
        "transactions": {
            "associations": {
                "paymentMethod": {}
            }
        },
        "deliveries": {},
        "addresses": {
            "associations": {
                "country": {}
            }
        },
        "lineItems": {
            "associations": {
                "product": {}
            }
        }
    },
    "includes": {
        "order_customer": ["customerId", "customerNumber", "email", "salutationId", "title", "firstName", "lastName", "createdAt", "updatedAt"],
        "country": ["name", "iso", "iso3"]
    }
}

```

Zu finden sind die zusätzlich geladenen Daten in der Response unter dem Property **included**.  
Mit dem **includes** [Property](https://docs.shopware.com/en/shopware-platform-dev-en/admin-api-guide/reading-entities#includes-parameter) kann man die Felder einschränken das ich im Beispiel mal angeführt habe als Anhaltspunkt für andere die das vielleicht auch brauchen.

---

<div class="post-metadata">

**Author:** ![ThomasChr](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/thomaschr/32/10466_2.png) [@ThomasChr](https://forum.shopware.com/u/ThomasChr)\
**Post date:** [1. Dezember 2020 um 10:54 UTC](https://forum.shopware.com/t/api-bestell-zahlungs-und-lieferstatus-von-bestellung-auslesen/71263/4 "2020-12-01T10:54:57Z")

</div>

Freut mich dass ich helfen konnte und freut mich noch mehr dass du hier gleich ne Musterlösung präsentierst!

Die Shopware API mag wühl für Leute die jeden Tag seit 5 Jahren nur mit APIs arbeiten vollkommen klar und logisch und selbsterklärend sein, aber ich freu mich über jedes bisschen Dokumentation!
