REST-API: Wie komme ich an die Varianten eines Artikels?

Hallo!

Ich habe hier das Problem, dass ich beim Auslesen der Artikel über die API nicht an die Varianten eines Artikels komme. 

/api/articles/ listet mir die Artikel. /api/articles/[ID] listet mir die Details zum Artikel. Das funktioniert mit variantenlosen Artikeln auch problemlos. Sobald der Artikel aber mehrere Varianten hat ist die Ausgabe von /api/articles/[ID] einfach leer. Es gibt keine Fehlermeldung, es gibt keine Mail mit einem Fehler, nichts. 

Von daher die Frage: Wie kommt man an die Varianten. Aktuell im Einsatz ist 5.2.9, trat aber auch schon vorher auf und in den Changelogs bis 5.2.17 habe ich nichts gesehen, dass dieses Problem adressieren würde.

Matt

Vermutlich wird dir das helfen: 

https://developers.shopware.com/developers-guide/rest-api/api-resource-variants/

http://my-shop-url/api/variants/id

Danke, das kenne ich. Um das zu benutzen muss ich ja aber die IDs aller Varianten kennen. Und das ist derzeit nicht der Fall.

Matt

Hallo,

ich habe mir das mal angeschaut. Ist wohl aktuell kein Feature von dem API Endpoint /api/aritcles/[id]. Dort kann man sich laut Quellcode, der ja recht sprechend ist, immer nur einen Artikel mit den Hauptdetails holen. Also quasi nur den Eintrag aus der Datebank Tabelle s_articles und die damit verknüpfte mainID aus s_articles_details.

 

Diese Möglichkeit sich alle Artikelvarianten, also alle Einträge aus der s_articles_details Tabelle zu holen, die mit der gleichen articleID verknüpft sind, gibt es wohl aktuell nichts. Ich habe jetzt beim groben Durchsehen der API Endpoints auch nichts anderes gefunden, wo das möglich wäre. Also entweder eigene Endpoints schreiben, die das können oder ein Feature Request erstellen und hoffen, dass es in der nächsten Shopware Version enthalten ist…

 

 

MFG

 

derwunner

Ist zwar bisschen spät, aber habe den Artikel gerade eben erst gefunden, als ich wegen meines Problems etwas recherchieren wollte…

Die Artikel können recht einfach über die Api abgefragt werden, dabei macht Shopware allerdings KEINEN Unterschied zwischen Artikeln, welche als Variante angelegt wurden oder nicht. Die weiße Seite ist natürlich äußerst schlecht zu debuggen, allerdings spricht das sehr stark dafür, dass es ein logisches/internes Problem mit dem Artikel und seinen Varianten gibt.

Das kann vor allem dann schnell passieren, wenn man Artikel (und deren Varianten) vorher über die Api eingelesen hat und dabei einige Felder nicht richtig befüllt waren, hatten wir hier auch alles schon gehabt.

Normalerweise hat man bei den Artikeldetails (nicht in der Liste!) einen Knotenpunkt mit den einzelnen Varianten darunter, kann also entweder für einen Artikel direkt oder nach Schleife für alle Artikel der Liste einzeln noch einmal auf die Varianten des Artikels zugreifen.

Wir hatten den Artikel gelöscht und neu angelegt, was genau das Problem beim Anlegen war und wie wir dieses gelöst haben weis ich leider auch nicht mehr…

Wichtig ist darauf zu achten, dass man bei den Informationen für die Api im Api-Array in Zahlenwerten immer Punkte anstelle von Kommas verwendet und ggf. die Texte maskiert. Kommt halt darauf an, wie du die Artikel und Varianten anlegst, wenn das über ein PHP-Skript passiert kannst du vor dem Abschicken an die Api ja einfach mal das Array für die Daten per echo "

".print\_r($daten,true)."

" ausgeben lassen und mit den voraussetzungen der Rest-Api abgleichen.

Fehler wegen Zeichencodierung sollten dieses Phänomen eigentlich nicht verursachen können, ist aber immer besser mit darauf zu achten :wink:

 

[Edit]

 Wichtig scheint auch zu sein, dass Artikel- und Variantennummern (also die ordernummer) nicht doppelt vergeben wurde!

[/Edit]