# \[API\] Fehlermeldung bei API-Call (Customer is not logged in.)

**URL:** <https://forum.shopware.com/t/api-fehlermeldung-bei-api-call-customer-is-not-logged-in/93989>\
**Category:** Programmierung\
**Created:** [19. April 2022 um 22:21 UTC](https://forum.shopware.com/t/api-fehlermeldung-bei-api-call-customer-is-not-logged-in/93989 "2022-04-19T22:21:34Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![rheydenr](https://avatars.discourse-cdn.com/v4/letter/r/94ad74/32.png) [@rheydenr](https://forum.shopware.com/u/rheydenr)\
**Post date:** [19. April 2022 um 22:21 UTC](https://forum.shopware.com/t/api-fehlermeldung-bei-api-call-customer-is-not-logged-in/93989/1 "2022-04-19T22:21:34Z")

</div>

Hallo zusammen,  
ich möchte Shopware über die REST-Schnittstelle ansprechen. Dazu habe ich folgenden Call abgesetzt:

```auto
curl --request POST \
  --url http://myshop.de/store-api/order \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --header 'sw-access-key: SWSCETL1Y23232KJHHESKXPVA' \
  --data '{
  "checkPromotion": true
}'

```

Der Access-Key stammt aus den Einstellungen für den entsprechenden User. Der Call liefert folgende Fehlermeldung:

```auto
"code":"CHECKOUT__CUSTOMER_NOT_LOGGED_IN","title":"Forbidden","detail":"Customer is not logged in."

```

Deswegen habe ich es dann mit einem „normalen“ Login-Call probiert:

```auto
curl --request POST --url http://myshop.de/store-api/account/login \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --header 'sw-access-key: SWSCETL1Y23232KJHHESKXPVA' \
  --data '{
  "username": "myAPIuser",
  "password": "aPassw0rd"
}'

```

Dieser Call wiederum liefert ebenfalls eine Fehlermeldung:

```auto
,"code":"FRAMEWORK__MISSING_REQUEST_PARAMETER","title":"Bad Request","detail":"Parameter \u0022sw-context-token\u0022 is missing."

```

Ich dachte, daß ich das Context-Token erst bekomme, wenn ich mich eingeloggt habe? Das _kann_ ich doch noch gar nicht eingeben?!

Wenn ich einen Context-Call absetze, kommt prompt eine valide Antwort. Also hier der Call:

```auto
curl --request GET --url http://myshop.de/store-api/context \
  --header 'Content-Type: application/json' \
  --header 'sw-access-key: SWSCETL1Y23232KJHHESKXPVA'

```

Das liefert eine Unmenge an Daten und fängt mit

```auto
{"token":"i5A9d13z0H23gFsdsdWhW5bgWHg0n7vSC","currentCustomerGroup":{"name":"Standard customer group...

```

an. Ist es dieses Token, was ich als Context-Token nehmen muß? Bin hier für jeden Hinweis dankbar.

Viele Grüße,  
Ralf.

---

<div class="post-metadata">

**Author:** ![Boas](https://avatars.discourse-cdn.com/v4/letter/b/dfb087/32.png) [@Boas](https://forum.shopware.com/u/Boas)\
**Post date:** [4. August 2022 um 08:31 UTC](https://forum.shopware.com/t/api-fehlermeldung-bei-api-call-customer-is-not-logged-in/93989/2 "2022-08-04T08:31:31Z")

</div>

Wie hast du es gelöst? was war das problem?

---

<div class="post-metadata">

**Author:** ![andpi](https://avatars.discourse-cdn.com/v4/letter/a/d9b06d/32.png) [@andpi](https://forum.shopware.com/u/andpi)\
**Post date:** [6. Juli 2023 um 07:56 UTC](https://forum.shopware.com/t/api-fehlermeldung-bei-api-call-customer-is-not-logged-in/93989/3 "2023-07-06T07:56:49Z")

</div>

Ist nicht mehr aktuell, hilft aber eventuell jemanden.  
Er hat im Header den context-token nicht „abgefragt?“, einfach im Header sw-context-token als key angeben und als Wert einen leeren string übergeben.

```
    const options = {
                        method: 'POST',
                        headers: {
                            'sw-context-token': "",
                            'Content-Type': 'application/json',
                            Accept: 'application/json',
                            'sw-access-key': process.env.REACT_APP_SW_ACCESS_KEY
                                },
                        body: `{"username":"${loginMail}","password":"${loginPassword}"}`
                    };

```
