REST API: Bestellungen filtern nach mehreren Bestellstatus

Hallo,

ich möchte per REST API alle Bestellungen einlesen die im Bestellstatus 0, 1, oder 5 sind.

Ich habe es mit folgendem Aufruf hinbekommen:

/orders?filter[0][property]=orderStatusId&filter[0][value][0]=0&filter[0][value][1]=1&filter[0][value][2]=5

Ist das eine offizielle Funktion, ist die irgendwo dokumentiert? Spricht etwas dagegen, das so zu verwenden?

 

lg

manuel
 

Noch eine Anmerkung: das scheint nur in Shopware 5 zu funktionieren, in Shopware 4 funktioniert folgender Aufruf:

/orders?filter[0][property]=orderStatusId&filter[0][expression]=IN+(0,1,5)

 

Hallo,

 

Ich bekomme einen Fehler wenn ich auf das Feld “orderStatusId” filtere:

{“success”:false,“message”:“Errormesage: [Semantical Error] line 0, col 179 near ‘orderStatusId’: Error: Class Shopware\Models\Order\Order has no field or association named orderStatusId”}

Der Restcall:

api/orders?filter[0][property]=orderStatusId&filter[0][expression]=0

Jemand eine Idee?

Wenn du auf status 0 filtern willst, müsste die 0 in [value], nicht in [expression] - ob das der Grund für die Fehlermeldung ist, ist aber eine andere Frage

filter[0][value]=0

lg

manuel

1 Like

Hallo Manuel,

danke für den Hinweis! Aber wie du schon vermutet hast … das war es leider nicht.
Das System sagt ja auch “Order has no field or association named orderStatusId”.
Es kennt das Feld quasi nicht, obwohl es im GET auf die Orders geliefert wird.

 

Ah - versuch es mal mit status statt orderStatusId (und cleared statt paymentStatusId ).

lg

1 Like

PERFEKT !!! VIELEN DANK!!!

Wäre gut wenn ShopWare das mal so dokumentieren würde :wink:

Find ich auch - es finden sich dazu nur hier in der Sektion “Further examples” versteckte Hinweise. Sonst wärs auch zu einfach Wink

lg

manuel