# Shopware 6 Store-Api Erlebniswelt

**URL:** <https://forum.shopware.com/t/shopware-6-store-api-erlebniswelt/67356>\
**Category:** Programmierung\
**Created:** [2. Juni 2020 um 11:47 UTC](https://forum.shopware.com/t/shopware-6-store-api-erlebniswelt/67356 "2020-06-02T11:47:09Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![CallMeAlex](https://avatars.discourse-cdn.com/v4/letter/c/e9a140/32.png) [@CallMeAlex](https://forum.shopware.com/u/CallMeAlex)\
**Post date:** [2. Juni 2020 um 11:47 UTC](https://forum.shopware.com/t/shopware-6-store-api-erlebniswelt/67356/1 "2020-06-02T11:47:09Z")

</div>

Hallo Shopware-Community,

ich versuche momentan mit der Store-Api die Erlebniswelten (cms\_page) zu holen. In der Dokumentation braucht man dafür die cmsPage ID.

[https://docs.shopware.com/en/shopware-platform-dev-en/store-api-guide/navigation#get-cms-page](https://docs.shopware.com/en/shopware-platform-dev-en/store-api-guide/navigation#get-cms-page)

Diese bekomme ich beim besten willen aus keinem request / finde ich nichts in der Dokumentation & vendor Ordner wo ich rückschlüsse raus ziehen kann, wie ich an die cmsPage ID komme.

&nbsp;

Hoffe Ihr könnt mir helfen.

Grüße

---

<div class="post-metadata">

**Author:** ![shyim](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/shyim/32/7681_2.png) [@shyim](https://forum.shopware.com/u/shyim)\
**Post date:** [2. Juni 2020 um 11:58 UTC](https://forum.shopware.com/t/shopware-6-store-api-erlebniswelt/67356/2 "2020-06-02T11:58:01Z")

</div>

Du kommst über die Navigation wenn sie cms Elemente enthält an die ID. Wenn du nur eine Kategorie hast, kannst du von dort aus auch die CMS Page laden

---

<div class="post-metadata">

**Author:** ![CallMeAlex](https://avatars.discourse-cdn.com/v4/letter/c/e9a140/32.png) [@CallMeAlex](https://forum.shopware.com/u/CallMeAlex)\
**Post date:** [2. Juni 2020 um 12:21 UTC](https://forum.shopware.com/t/shopware-6-store-api-erlebniswelt/67356/3 "2020-06-02T12:21:19Z")

</div>

> [@Shyim schrieb:](https://forum.shopware.com/profile/20792/Shyim "Shyim")
> 
> Du kommst über die Navigation wenn sie cms Elemente enthält an die ID. Wenn du nur eine Kategorie hast, kannst du von dort aus auch die CMS Page laden

&nbsp;Gibt es eine Möglichkeit nur die „landingpage“ oder die normalen „pages“ zu holen? Habe es jetzt geschafft (sofern ich genug Memory size habe) die Category durch die main-navigation zu holen.

```
{
    "parentId": "2a227ad46fe44937aa2b87bab4848543",
    "name": "Batterien",
    "cmsPageId": "d3370ce7a4ab4dbba355527ba0efc961",
    "id": "5dd19de6c0904d29bea76952f47bf401",
    "apiAlias": "category"
},

```

Abfrage Url:

> /store-api/v1/navigation/main-navigation/main-navigation

&nbsp;

Update: Was ich vor habe, ist über die API einzelne cmsPages direkt zu laden. Komplettes HTML. Habe jetzt mal über die Datenbank die cmsPage ID von der Startseite genommen, dort ist zwar alles verschachtelt, aber gibt es eine Möglichkeit direkt die schon gerenderte Seite sich via API zu holen?

---

<div class="post-metadata">

**Author:** ![shyim](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/shyim/32/7681_2.png) [@shyim](https://forum.shopware.com/u/shyim)\
**Post date:** [2. Juni 2020 um 12:45 UTC](https://forum.shopware.com/t/shopware-6-store-api-erlebniswelt/67356/4 "2020-06-02T12:45:26Z")

</div>

&nbsp;

Du kriegst kein HTML. Du kriegst nur die Daten als JSON. Die API ist für den Headless Betrieb entwickelt, von daher gibt es kein HTML zurück.

Du kannst entweder Die Page über die Kategorie holen (/store-api/v1/category/xxxxxx) oder die Cms Seite direkt (/store-api/v1/cms/xxxxxxx).

---

<div class="post-metadata">

**Author:** ![CallMeAlex](https://avatars.discourse-cdn.com/v4/letter/c/e9a140/32.png) [@CallMeAlex](https://forum.shopware.com/u/CallMeAlex)\
**Post date:** [2. Juni 2020 um 12:58 UTC](https://forum.shopware.com/t/shopware-6-store-api-erlebniswelt/67356/5 "2020-06-02T12:58:33Z")

</div>

> [@Shyim schrieb:](https://forum.shopware.com/profile/20792/Shyim "Shyim")
> 
> &nbsp;
> 
> Du kriegst kein HTML. Du kriegst nur die Daten als JSON. Die API ist für den Headless Betrieb entwickelt, von daher gibt es kein HTML zurück.
> 
> Du kannst entweder Die Page über die Kategorie holen (/store-api/v1/category/xxxxxx) oder die Cms Seite direkt (/store-api/v1/cms/xxxxxxx).

Für die /store-api/cms/ brauch ich ja schon die cmsPageId. Wenn ich jetzt main-navigation abfrage, bekomme ich alle Categories und deren cmsPageIds zurück.

Welche route muss ich denn benutzen um die Landingpages zu bekommen? Bzw. was würde am meisten Sinn machen um komplett die Storefront gerendet zurück zu bekommen? Die API ist für den Headless Betrieb gemacht, klar. Nur würde ich gerne vereinzelnt die gepflegten Erlebniswelten zurück geben. Das man nicht zusätzlich irgendwo das Frontend pflegen muss.

HTML bekomme ich in „maßen“ zurück. Halt alles irgendwie zerkleinert in den einzelnen Blöcken.

```
"name": "Startseite",
    "sections": [
        {
            "type": "default",
            "blocks": [
                {
                    "type": "text-on-image",
                    "slots": [
                        {
                            "data": {
                                "content": "\n\nMitgliedschaftVersandkostenfreie Lieferung für einmalig 0€ übers ganze Jahr & viele weitere Vorteile!",
                                "apiAlias": "cms_text"
                            },
                            "id": "a9b2c3f64fc446778c4f29c542bd8c66",
                            "apiAlias": "cms_page_slot"
                        }
                    ],
                    "apiAlias": "cms_page_block"
                }
            ],
            "apiAlias": "cms_page_section"
        },
        [...]
    },
}

```

&nbsp;

---

<div class="post-metadata">

**Author:** ![shyim](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/shyim/32/7681_2.png) [@shyim](https://forum.shopware.com/u/shyim)\
**Post date:** [2. Juni 2020 um 13:12 UTC](https://forum.shopware.com/t/shopware-6-store-api-erlebniswelt/67356/6 "2020-06-02T13:12:16Z")

</div>

Wenn du die Landingpage gerendert zurückhaben möchtest ist die Store-API der falsche weg. Du kriegst hier nur die die eingesetzen Blöcke und ihre Konfiguration um daraus selber eine zu rendern mit custom templates oder so.

Für die gerenderte Seite kannst du&nbsp;/widgets/cms/navigation/ID verwenden.&nbsp;

---

<div class="post-metadata">

**Author:** ![CallMeAlex](https://avatars.discourse-cdn.com/v4/letter/c/e9a140/32.png) [@CallMeAlex](https://forum.shopware.com/u/CallMeAlex)\
**Post date:** [3. Juni 2020 um 07:50 UTC](https://forum.shopware.com/t/shopware-6-store-api-erlebniswelt/67356/7 "2020-06-03T07:50:33Z")

</div>

> [@Shyim schrieb:](https://forum.shopware.com/profile/20792/Shyim "Shyim")
> 
> Wenn du die Landingpage gerendert zurückhaben möchtest ist die Store-API der falsche weg. Du kriegst hier nur die die eingesetzen Blöcke und ihre Konfiguration um daraus selber eine zu rendern mit custom templates oder so.
> 
> Für die gerenderte Seite kannst du&nbsp;/widgets/cms/navigation/ID verwenden.&nbsp;

Genau das habe ich gesucht, dankeschön. Kann ja doch so einfach sein.&nbsp;

---

<div class="post-metadata">

**Author:** ![bettenundwohnen](https://avatars.discourse-cdn.com/v4/letter/b/ea666f/32.png) [@bettenundwohnen](https://forum.shopware.com/u/bettenundwohnen)\
**Post date:** [24. Dezember 2022 um 20:36 UTC](https://forum.shopware.com/t/shopware-6-store-api-erlebniswelt/67356/8 "2022-12-24T20:36:06Z")

</div>

Darf ich das nochmal aufgreifen, das ist interessant! Was genau möchtest du mit der API und der Storefront anfangen? Also was war der Plan ? Ging es um automatisierungen von Content bzw. Verweisen?

---

<div class="post-metadata">

**Author:** ![CallMeAlex](https://avatars.discourse-cdn.com/v4/letter/c/e9a140/32.png) [@CallMeAlex](https://forum.shopware.com/u/CallMeAlex)\
**Post date:** [2. Januar 2023 um 08:09 UTC](https://forum.shopware.com/t/shopware-6-store-api-erlebniswelt/67356/9 "2023-01-02T08:09:55Z")

</div>

Das ist nun 2 Jahre her, sorry das weiß ich nicht mehr.

---

<div class="post-metadata">

**Author:** ![ambi-dev](https://avatars.discourse-cdn.com/v4/letter/a/ecc23a/32.png) [@ambi-dev](https://forum.shopware.com/u/ambi-dev)\
**Post date:** [21. Dezember 2023 um 15:09 UTC](https://forum.shopware.com/t/shopware-6-store-api-erlebniswelt/67356/10 "2023-12-21T15:09:13Z")

</div>

Ich würde das Thema gerne noch einmal aufgreifen. Im Endeffekt stehe ich vor dem selben Problem.

Alle Seiten welche sich in der Navigation und somit in den Kategorien befinden bekomme ich über den Endpunkt: `/navigation/main-navigation/main-navigation` ODER über „/category“.

Allerdings bekomme ich die Landingpages nicht, bzw. finde ich keinerlei Endpunkte welche mir all meine Landingpages zurückgeben.

Ich habe lediglich diesen Endpunkt gefunden:  
„/store-api/landing-page/{landingPageId}“

Der bringt mir aber nichts weil ich die ID ja garnicht bekomme.  
Nehmen wir an der User legt eine Landingpage an und verlinkt diese nicht über eine Kategorie, sondern über einen Link in einem Rich Text zB. Dann habe ich ein Problem weil ich dann die Landingpage nicht kenne. Ich bräuchte also einen GET Endpoint alá „/store-api/landing-pages“, gibt es sowas?

LG  
Alex und Frohe Weihnachten an Alle 😉

---

<div class="post-metadata">

**Author:** ![ambi-dev](https://avatars.discourse-cdn.com/v4/letter/a/ecc23a/32.png) [@ambi-dev](https://forum.shopware.com/u/ambi-dev)\
**Post date:** [21. Dezember 2023 um 15:59 UTC](https://forum.shopware.com/t/shopware-6-store-api-erlebniswelt/67356/11 "2023-12-21T15:59:34Z")

</div>

Okay habe die Lösung:

Man muss die Landingpage anlegen und muss diese dann auch in der Navigation verlinken. Sofern man das nicht tut klappt es nicht.

Wenn das getan ist, reicht der „/category“ API Endpunkt aus und man hat die Landingpage ID.
