CHECKOUT__ CUSTOMER_NOT _LOGGED_IN beim Versuch, die Orders über Rest auszulesen

Ich nutze die store-api/order Route.

Es geht hier schief (in /vendor/shopware/core/Checkout/Order/SalesChannel/OrerRoute.php):

if ($context->getCustomer()) {
$criteria->addFilter(new EqualsFilter(‚order.orderCustomer.customerId‘, $context->getCustomer()->getId()));
} elseif (!$criteria->hasEqualsFilter(‚deepLinkCode‘)) {
throw new CustomerNotLoggedInException();
}

Ich sende keinen „deepLinkCode“ als Filter, warum sollte ich auch?

Ich habe ein Issue eröffnet, das geschlossen wurde, weil es angeblich korrekt funktioniert.

Ein Kunde muss eingeloggt sein, damit man die Liste seiner Bestellungen über die API abrufen kann. Ich möchte aber über REST die Liste ALLER Bestellungen eines Channels bekommen.

Klingt für mich als würdest du die falsche API benutzen. Die Store-API ist für Storefront-Funktionen, wenn du bspw. eine eigene Storefront oder PWA bauen willst. Damit kannst du bspw. einen Warenkorb erzeugen und einen Bestellabschluss durchführen. Da findest eigentlich alles im Scope des aktuellen Kunden statt. Wenn du allerdings einfach nur alle Bestellungen, Produkte usw. haben willst, dann ist die admin api die richtige: API Reference - Shopware Developer

Moritz…vielen Dank für deine Antwort. Ich war wohl verwirrt, weil ich eine Liste von Orders nur bei der Store-API gefunden habe. Aber scheint, als könnte ich das über die /api/order machen.