Store-API des FAQ Managers – Headless & PWA (Shopware 6)
Hinweis: Suche, Aufruf-Zähler und die Auflösung der Erlebniswelten-Elemente sind ab Version 2.11.0 verfügbar. Die übrigen Endpunkte bestehen seit älteren Versionen.
Wenn Sie Ihren Shop nicht mit der Shopware-Storefront, sondern mit einem eigenen Frontend betreiben – etwa einer PWA, einem Next.js- oder Nuxt-Projekt – erreichen Sie sämtliche FAQ-Inhalte über die Store-API. Die Storefront-Templates werden dafür nicht benötigt.
Alle Endpunkte erwarten den üblichen sw-access-key-Header Ihres Verkaufskanals.
Übersicht der Endpunkte
| Methode | Pfad | Zweck |
|---|---|---|
| POST | /store-api/faq-categories | Kategorien inklusive zugeordneter Einträge und Medien |
| POST | /store-api/faq-items | FAQ-Einträge, optional auf bestimmte IDs eingegrenzt |
| GET | /store-api/faq/page/{pageId} | Einzelne FAQ-Seite inklusive Kategorien |
| GET | /store-api/faq/category/{categoryId} | Einzelne Kategorie inklusive Einträgen |
| GET | /store-api/faq/item/{itemId} | Einzelner FAQ-Eintrag |
| POST | /store-api/faq/search | Volltextsuche über Fragen und Antworten |
| POST | /store-api/faq/view | Aufruf-Zähler eines Eintrags erhöhen |
Listen abrufen
Die beiden POST-Endpunkte für Kategorien und Einträge nehmen die üblichen Criteria-Parameter von Shopware entgegen – also limit, page, filter, sort und associations.
curl -X POST https://ihr-shop.de/store-api/faq-categories \
-H "sw-access-key: IHR-ACCESS-KEY" \
-H "Content-Type: application/json" \
-d '{ "limit": 10 }'Die Kategorien werden inklusive ihrer Einträge (list) und der zugehörigen Medien geliefert; die Einträge sind nach ihrer Position sortiert.
Für einzelne Einträge lässt sich der Abruf über ids eingrenzen:
curl -X POST https://ihr-shop.de/store-api/faq-items \
-H "sw-access-key: IHR-ACCESS-KEY" \
-H "Content-Type: application/json" \
-d '{ "ids": ["0192...", "0193..."] }'Einzelne Datensätze abrufen
curl https://ihr-shop.de/store-api/faq/page/0192abc... \
-H "sw-access-key: IHR-ACCESS-KEY"Existiert der Datensatz nicht, antwortet die Route mit HTTP 404.
Volltextsuche
Die Suche durchsucht Frage und Antwort. Der Parameter term ist Pflicht.
curl -X POST https://ihr-shop.de/store-api/faq/search \
-H "sw-access-key: IHR-ACCESS-KEY" \
-H "Content-Type: application/json" \
-d '{ "term": "Versand", "limit": 20 }'Zwei Dinge übernimmt die Route automatisch:
- Es werden nur aktive Einträge zurückgegeben.
- Es werden nur Einträge zurückgegeben, die über ihre Kategorien und FAQ-Seiten im aufrufenden Verkaufskanal sichtbar sind.
Sie müssen in Ihrem Frontend also nicht selbst nachfiltern. Zusätzliche Criteria-Parameter wie limit, page und sort funktionieren wie gewohnt.
Aufruf-Zähler erhöhen
Damit die Statistik im Admin auch im Headless-Betrieb gefüllt wird, meldet Ihr Frontend das Aufklappen einer Frage an diese Route:
curl -X POST https://ihr-shop.de/store-api/faq/view \
-H "sw-access-key: IHR-ACCESS-KEY" \
-H "Content-Type: application/json" \
-d '{ "faqid": "0192abc..." }'Die Antwort enthält den neuen Zählerstand. Weitere Informationen zur Auswertung finden Sie unter Statistik-Dashboard.
Erlebniswelten-Elemente
Die beiden CMS-Elemente „FAQ Manager – Kategorien" und „FAQ Manager – Einträge" werden serverseitig aufgelöst. Rufen Sie eine Erlebniswelt über /store-api/cms/{id} ab, enthalten die entsprechenden Slots ihre FAQ-Daten direkt im Feld data:
- Kategorien-Element:
slot.data.categories - Einträge-Element:
slot.data.items
Die Reihenfolge entspricht der Auswahl im Admin. Die Inhalte werden bei jedem Abruf frisch geladen, spiegeln also immer den aktuellen Stand Ihrer FAQs samt Übersetzungen wider.
Hinweis: Vor Version 2.11.0 lieferten diese Elemente über die Store-API keine FAQ-Daten aus. Wenn Sie ein Headless-Frontend betreiben, ist ein Update auf 2.11.0 oder neuer erforderlich.
SEO-URLs auflösen
Die FAQ-Seiten, -Kategorien und -Einträge erzeugen eigene SEO-URLs. Diese lassen sich im Headless-Betrieb über die Standard-Route von Shopware auflösen:
curl -X POST https://ihr-shop.de/store-api/seo-url \
-H "sw-access-key: IHR-ACCESS-KEY" \
-H "Content-Type: application/json" \
-d '{ "filter": [{ "type": "equals", "field": "routeName", "value": "frontend.faq.page" }] }'Die Routennamen lauten frontend.faq.page, frontend.faq.category und frontend.faq.list. Mehr zur Struktur der Pfade finden Sie unter SEO-Pfade.
Nächster Schritt: Statistik-Dashboard →
War diese Seite hilfreich?
Support
Gemietete Plugins (Shopware Store)
Für Support zu im Shopware Store gemieteten Plugins erstellen Sie bitte ein Support-Ticket in Ihrem Shopware-Konto.
Shopware-Ticket erstellenAllgemeine Anfragen
Für allgemeine Fragen oder Kauflizenzen erreichen Sie uns per E-Mail.
E-Mail senden