Wie kann ich über die Sales Channel API Produkte holen, die einen bestimmten Tag haben?

Filtern von Produkten nach Tags:

http://localhost:8000/sales-channel-api/v1/product/?associations[tags][]&filter[tags.name]=abc123

Weiterführende Literatur:

https://docs.shopware.com/en/shopware-platform-dev-en/api/admin-api-usage?category=shopware-platform-dev-en/api
https://docs.shopware.com/en/shopware-platform-dev-en/api/filter-search-limit?category=shopware-platform-dev-en/api
http://localhost:8000/api/v1/_info/swagger.html

Bei den Medien wird das schwieriger. Dafür gibt es nämlich (im Moment) scheinbar keinen Endpoint der Saleschannel API. D.h. den müsstest du dir selbst schreiben, bzw. das Shopware Medien Entity erweitern, siehe dazu als Referenz \Shopware\Core\Content\Product\SalesChannel\SalesChannelProductDefinition.  

Hier ist allerdings Vorsicht geboten. Die Saleschannel API erlaubt es bestimmte Entities bei der Abfrage zu verknüpfen. Wenn du also das Medien Entity per Saleschannel API öffentlich schaltest, solltest du sichergehen, dass man sich nicht durch eine gewiefte Abfrage an den Beziehungen der Medien zu anderen Entities (z.B. zu dem User, der das Medium hochgeladen hat) entlanghangeln und dadurch sensible Daten abgreifen kann.

Alternativ kannst du natürlich die Admin API verwenden. Diese ist aber für natürlich für andere Anwendungsfälle gedacht (z.B. Anbindung ERP, etc).

1 „Gefällt mir“