Skip to content
FULLTime eCommerce

FAQ Manager Store API – Headless & PWA (Shopware 6)

Note: Search, view counter and the resolution of the shopping experience elements are available from version 2.11.0. The remaining endpoints have existed in earlier versions.

If you run your shop with your own frontend instead of the Shopware storefront – a PWA, a Next.js or Nuxt project – all FAQ content is available through the Store API. The storefront templates are not required.

Every endpoint expects the usual sw-access-key header of your sales channel.

Endpoint overview

MethodPathPurpose
POST/store-api/faq-categoriesCategories including their entries and media
POST/store-api/faq-itemsFAQ entries, optionally narrowed down to specific IDs
GET/store-api/faq/page/{pageId}Single FAQ page including categories
GET/store-api/faq/category/{categoryId}Single category including entries
GET/store-api/faq/item/{itemId}Single FAQ entry
POST/store-api/faq/searchFull-text search across questions and answers
POST/store-api/faq/viewIncrement the view counter of an entry

Fetching lists

The two POST endpoints for categories and entries accept the usual Shopware criteria parameters – limit, page, filter, sort and associations.

curl -X POST https://your-shop.com/store-api/faq-categories \
  -H "sw-access-key: YOUR-ACCESS-KEY" \
  -H "Content-Type: application/json" \
  -d '{ "limit": 10 }'

Categories are returned including their entries (list) and the related media; entries are sorted by their position.

Individual entries can be narrowed down through ids:

curl -X POST https://your-shop.com/store-api/faq-items \
  -H "sw-access-key: YOUR-ACCESS-KEY" \
  -H "Content-Type: application/json" \
  -d '{ "ids": ["0192...", "0193..."] }'

Fetching single records

curl https://your-shop.com/store-api/faq/page/0192abc... \
  -H "sw-access-key: YOUR-ACCESS-KEY"

If the record does not exist, the route responds with HTTP 404.

The search covers question and answer. The term parameter is required.

curl -X POST https://your-shop.com/store-api/faq/search \
  -H "sw-access-key: YOUR-ACCESS-KEY" \
  -H "Content-Type: application/json" \
  -d '{ "term": "shipping", "limit": 20 }'

The route takes care of two things automatically:

  • Only active entries are returned.
  • Only entries visible in the calling sales channel – through their categories and FAQ pages – are returned.

So there is no need to filter again in your frontend. Additional criteria parameters such as limit, page and sort work as usual.

Incrementing the view counter

To keep the admin statistics populated in a headless setup, have your frontend report the expansion of a question to this route:

curl -X POST https://your-shop.com/store-api/faq/view \
  -H "sw-access-key: YOUR-ACCESS-KEY" \
  -H "Content-Type: application/json" \
  -d '{ "faqid": "0192abc..." }'

The response contains the new counter value. See Statistics dashboard for more on the evaluation.

Shopping experience elements

The two CMS elements „FAQ Manager – Categories" and „FAQ Manager – Entries" are resolved server-side. When you fetch a shopping experience through /store-api/cms/{id}, the corresponding slots carry their FAQ data directly in the data field:

  • Categories element: slot.data.categories
  • Entries element: slot.data.items

The order matches the selection made in the admin. The content is loaded fresh on every request, so it always reflects the current state of your FAQs including translations.

Note: Before version 2.11.0 these elements returned no FAQ data through the Store API. If you run a headless frontend, an update to 2.11.0 or newer is required.

Resolving SEO URLs

FAQ pages, categories and entries generate their own SEO URLs. In a headless setup they can be resolved through the standard Shopware route:

curl -X POST https://your-shop.com/store-api/seo-url \
  -H "sw-access-key: YOUR-ACCESS-KEY" \
  -H "Content-Type: application/json" \
  -d '{ "filter": [{ "type": "equals", "field": "routeName", "value": "frontend.faq.page" }] }'

The route names are frontend.faq.page, frontend.faq.category and frontend.faq.list. See SEO paths for more on the path structure.

Next step: Statistics dashboard →

Was this page helpful?

Support

Rented Plugins (Shopware Store)

For support with plugins rented from the Shopware Store, please open a support ticket in your Shopware account.

Create Shopware Ticket

General Inquiries

For general questions or purchase licenses, reach us by email.

Send Email
FAQ Manager Store API – Headless & PWA (Shopware 6) | FULLTime eCommerce