drazenbebicdrazenbebic MemberComments: 4 Received thanks: 0 Member since: May 2019

Hallo alle zusammen,

Ich versuche gerade herauszufinden, wie ich über die /api/v1/search/order mittels eines POST requests die Bestellungen nach den verschiedenen Status filtern kann? Ich denke, dass der Request irgendwie so aussehen müsst:

{
    "total-count-mode": 1,
    "limit": 10,
    "page": 1,
    "sort": "orderNumber",
    "term": null,
    "filter": [
        {
            "type": "equals",
            "field": "???",
            "value": "???"
        }
    ]
}

Nur weiß ich nicht, was ich hier als field, und was als value übergeben muss. Bitte um hilfe.

 

Answers

  • jaschaLehmannjaschaLehmann MemberComments: 4 Received thanks: 0 Member since: July 2020

    Hi, der request, den du haben willst sieht so aus :

    {"filter": [
                {
                 "type": "equals",
                 "field": "order.stateMachineState.technicalName",
                 "value": "open"
    }

     

  • c0r3su1t3c0r3su1t3 MemberComments: 2 Received thanks: 1 Member since: July 2020

    Hallo Zusammen, 

    die Lösung von @jaschaLehmann‍ funktioniert super, nur fehlt mir dort ein weiterer Schritt. 

    Die Eingagsfrage von @drazenbebic war: "Bestell-, Liefer-, oder Zahlungsstatus". 

    Wir versuchen gerade offene Bestellungen mit Zahlstatus "paid" zu bekommen. 

    Mit dem oben stehenden Filter bekommen wir die offenen, aber wie bekomme ich jetzt die bezahlten Bestellungen? 

    Mein Ansatz war, aus der state_machine_state den Status "paid" ebenfalls abzufragen, aber da kommt gar nichts. Weder in Kombination, noch einzeln:

    {"filter": [
         {
          "type": "equals",
          "field": "order.stateMachineState.technicalName",
          "value": "paid"
         }

    Das "lustige" daran ist, dass selbst das Backend in der Bestellliste nicht nach Zahlstatus filtern kann und einen 400er wirft ;) 

    Weiß jemand Rat? 

    Danke schon mal... 

    Grüße

    Thanked by 1jaschaLehmann
  • jaschaLehmannjaschaLehmann MemberComments: 4 Received thanks: 0 Member since: July 2020

    Hi, kurzer Exkurs. stateMachineState meint "status im Allgemeinen" order.stateMachineState.technicalName von der Bestellung der status und davon der technische Name.
    Shopware teilt das ganze in drei Ebenen: Bestellstatus / Lieferstatus / Zahlungsstatus /

    Wenn du nun nach dem Zahlungsstatus filtern möchtest, dann brauchst du folgendes?

    {"filter": [
                   {
                    "type": "equals",
                    "field": "transactions.stateMachineState.technicalName",
                    "value": "open"
                    }
                 ]
    }

     In deinem Fall steht als value natürlich "paid". 

Sign In or Register to comment.