# sales-channel-api - Gastkonto über Schnittstelle bekommen

**URL:** <https://forum.shopware.com/t/sales-channel-api-gastkonto-uber-schnittstelle-bekommen/69948>\
**Category:** Programmierung\
**Created:** [30. September 2020 um 12:58 UTC](https://forum.shopware.com/t/sales-channel-api-gastkonto-uber-schnittstelle-bekommen/69948 "2020-09-30T12:58:55Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Vmadmax](https://avatars.discourse-cdn.com/v4/letter/v/50afbb/32.png) [@Vmadmax](https://forum.shopware.com/u/Vmadmax)\
**Post date:** [30. September 2020 um 12:58 UTC](https://forum.shopware.com/t/sales-channel-api-gastkonto-uber-schnittstelle-bekommen/69948/1 "2020-09-30T12:58:55Z")

</div>

Hallo zusammen,  
ich habe ein Problem beim Abrufen der Kundendaten, wenn ich als Gast-Registriert bin.

Also registrierter Kunde greife ich auf folgende Schnittstelle zu:  
&nbsp;

```
$api_endpoint_url = 'sales-channel-api/v3/customer';

$request = $client->get($api_endpoint_url, [
                'headers' => [
                    'sw-access-key' => config('shopware.api_key'),
                    'Accept' => 'application/json',
                    'sw-context-token' => session('sw-context-token'),
                ]
            ]);

```

Wenn ich das ganze aber als registrierter Gast mache, bekomme ich folgende Meldung:

```
"status": "403"
"code": "CHECKOUT__CUSTOMER_NOT_LOGGED_IN"
"title": "Forbidden"
"detail": "Customer is not logged in."

```

Kann man als Gast nicht auf seine „registrierten“ Daten zugreifen? Muss ich die selbst persistieren?

Viele Grüße

Max

---

<div class="post-metadata">

**Author:** ![AlexGalax](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/alexgalax/32/9925_2.png) [@AlexGalax](https://forum.shopware.com/u/AlexGalax)\
**Post date:** [1. Oktober 2020 um 07:02 UTC](https://forum.shopware.com/t/sales-channel-api-gastkonto-uber-schnittstelle-bekommen/69948/2 "2020-10-01T07:02:28Z")

</div>

Um Daten von `/customer` zu bekommen, muss ein echtes Kundenkonto mit Login & Passwort existieren. Das kann man über `/account/register` anlegen, in das Konto einloggen mit `/customer/login` und über `/checkout/guest-order` die Bestellung ausführen. Nach dem einloggen kannst du dann auch Kontodaten mit `/customer` abfragen.

Welche Daten willst du eigentlich abfragen, die du nicht eh schon beim Anlegen der Gast-Bestellung hast?

---

<div class="post-metadata">

**Author:** ![Vmadmax](https://avatars.discourse-cdn.com/v4/letter/v/50afbb/32.png) [@Vmadmax](https://forum.shopware.com/u/Vmadmax)\
**Post date:** [4. Oktober 2020 um 12:12 UTC](https://forum.shopware.com/t/sales-channel-api-gastkonto-uber-schnittstelle-bekommen/69948/3 "2020-10-04T12:12:05Z")

</div>

Danke @AlexGalax‍ für deine Antwort.

> Um Daten von /customer zu bekommen, muss ein echtes Kundenkonto mit Login & Passwort existieren. Das kann man über /account/register anlegen

Die Registrierung für registrierte Kunden habe ich schon angelegt. Dort hatte ich gesehen, dass es ein „Gast“-Parameter gibt.  
Daher dachte ich, dass ich einen Gast über Guest =\> True anlegen und die Daten über /customer bekomme.

> Welche Daten willst du eigentlich abfragen, die du nicht eh schon beim Anlegen der Gast-Bestellung hast?

Im Moment ist es so:

- Produkt wird in den Warenkorb gelegt
- Klick auf Checkout leitet auf Login-Seite
- Login-Seite: Hier kann entschieden werden, ob Login/Registrierung/Gastbestellung
- Bei Auswahl „Gastbestellung“ werden direkt Daten eingetragen, wie oben beschrieben über /customer mit Guest=\>True angelegt
- Im Checkout gibt es nun die Funktion, die Lieferadresse noch einmal anzupassen. Daher hatte ich die Hoffnung, dass ich das so machen kann, wie bei einem registriertem&nbsp;Kunden (Adresse hinzufügen/updaten usw.)

---

<div class="post-metadata">

**Author:** ![cptfuture123](https://avatars.discourse-cdn.com/v4/letter/c/c0e974/32.png) [@cptfuture123](https://forum.shopware.com/u/cptfuture123)\
**Post date:** [25. März 2021 um 13:10 UTC](https://forum.shopware.com/t/sales-channel-api-gastkonto-uber-schnittstelle-bekommen/69948/4 "2021-03-25T13:10:55Z")

</div>

Über die Store-API kann ich ebenfalls keine Adressen eines Gast-Accounts auslesen/anlegen. Ein Blick in den Quellcode zeigt mir auch warum:

> <https://github.com/shopware/platform/blob/trunk/src/Core/Checkout/Customer/SalesChannel/ListAddressRoute.php#L61>

Hier steht:  
`@LoginRequired()`

Möglich wäre hier ja auch:  
`@LoginRequired(allowGuest=true)`

Gibt es sonst eine andere Möglichkeit, die Adressen auszulesen bzw. zu ändern? Das Shopware-Frontend macht das übrigens nicht über die Store-API, sondern mit einer Storefront Route `/widgets/account/address-book`, die ja nur HTML zurück liefert. Diese hat übrigens die Annotation `@LoginRequired(allowGuest=true)`.

---

<div class="post-metadata">

**Author:** ![cptfuture123](https://avatars.discourse-cdn.com/v4/letter/c/c0e974/32.png) [@cptfuture123](https://forum.shopware.com/u/cptfuture123)\
**Post date:** [6. April 2021 um 12:57 UTC](https://forum.shopware.com/t/sales-channel-api-gastkonto-uber-schnittstelle-bekommen/69948/5 "2021-04-06T12:57:42Z")

</div>

Update: Shopware hat eine entsprechendes Ticket erstellt: [Shopware Issuetracker](https://issues.shopware.com/issues/NEXT-14585)
