REST-API Bestellungen Details

Hi zusammen, ich bin relativ neu in dem Gebiet der Shopware API und generell Schnittstellen. Ich muss für unseren Spediteur alle Daten wie folgt filtern bzw. ausgeben:

  • Zahlstatus: Komplett bezahlt
  • Versandstatus: In Bearbeitung
  • Versandart: Spedition 

Das regel ich ganz einfach über:

$params = [
    'filter' => [
        [
            'property' => 'dispatchId',
            'value' => 10
        ],
		[
			'property' => 'cleared',
            'value' => 12
        ],
		[
            'property' => 'status',
            'value' => 1
        ]
    ]
];

Nun  habe ich aber das Problem, dass im JSON nur dann das „details“ property ausgegeben wird, wenn ich einzelne Bestellungen ausgebe wie z.B. „/api/orders/12345?useNumberAsId=true“. Genau so bräuchte ich  die Properties „customer“ und generelle Daten über die einzelnen Positionen. So benötigt die Spedition z.B. das Gewicht der Produkte und die Maße. 

Ich habe mich jetzt schon einige Zeit durch die Doku gekämpft und auch durch das Forum. Bisher konnte ich auch kein Plugin finden das mir bei meinen Anforderungen gerecht wird. Über jede Hilfe wäre ich euch dankbar.

Viele Grüße, 
Denis

Du bekommst ja beim Request auf /orders eine Liste mit IDs zurück, dazu musst du dir halt noch die details abholen. Das musst du halt in einem separaten Call machen.

1 „Gefällt mir“

@Moritz Naczenski schrieb:

Du bekommst ja beim Request auf /orders eine Liste mit IDs zurück, dazu musst du dir halt noch die details abholen. Das musst du halt in einem separaten Call machen.

Danke :slight_smile: Auf die Idee bin ich vorhin auch gekommen. Jetzt muss ich nur noch überlegen wie ich die Ausgabe dann so hinbekomme, dass ich nicht zig verschiedene Arrays habe. 

Was mir jetzt nur noch fehlt sind Angaben wie Gewicht und Maße der Produkte die bestellt wurden. Gibt es hierzu auch noch einen Weg über /orders oder sollte ich mir diese via Product ID dann aus den Articles holen? 

@dechateau‍ ich nutze viel array_push. Dazu erstelle immer ein „master“ PHP-Array, in das pushe ich alle einzelnen orders (foreach) . Innerhalb dieser foreachs habe ich weitere API-Requests für Customer und Articles-Details. So habe ich dann unter einem Master PHP-Array viele Kleinere Verschachtelte. Zum Schluss alles mit json-encoded.

1 „Gefällt mir“

@brettvormkopp schrieb:

@dechateau‍ ich nutze viel array_push. Dazu erstelle immer ein „master“ PHP-Array, in das pushe ich alle einzelnen orders (foreach) . Innerhalb dieser foreachs habe ich weitere API-Requests für Customer und Articles-Details. So habe ich dann unter einem Master PHP-Array viele Kleinere Verschachtelte. Zum Schluss alles mit json-encoded.

Gute Idee, danke! 

Letzte Frage noch: Da ich ja bereits filter, bekomme ich die ID’s aller nicht versendeten aber bezahlten Bestellungen zurück und kann diese in einem Array speichern. Gibt es eine Möglichkeit diese ID’s dann z.B. wie folgt abzufragen? „/api/orders/12345+12346+12347“, also dass ich mit einem call direkt mehrere ID’s abfrage?