For the complete documentation index, see llms.txt. This page is also available as Markdown.

Store API

The Form Toolkit is fully headless-compatible. Every storefront feature — submission, confirmation logic, validation — is reachable through the Shopware Store API.

This page is aimed at developers building their own front-ends, mobile apps or integrating third-party systems.

Base URL & headers

Header
Value

Content-Type

multipart/form-data (with file upload) or application/x-www-form-urlencoded

sw-access-key

Storefront access key of the sales channel

sw-language-id

Optional, language UUID-hex

sw-context-token

Optional, for logged-in customers

Base URL: https://<shop>/store-api

Endpoint: submit form

POST /store-api/prems/form/submit

Body fields

Field
Required
Description

form_id

yes

UUID of the form

<identifier>

per definition

per form field the submitted value (key = technical name)

<identifier>[]

per definition

Checkbox groups send an array

shopware_basic_captcha_confirm

per captcha config

Basic Captcha response

g-recaptcha-response

per captcha config

reCAPTCHA token

Hidden inputs for the product inquiry:

Field
Meaning

__prems_product_id

Product UUID

__prems_product_number

Product number

__prems_product_name

Display name

__prems_product_price

Formatted price

__prems_product_url

Canonical URL

Response

On success (HTTP 200) the endpoint returns a JSON FormSubmitRouteResponse with the result:

On validation errors (HTTP 400) you receive a Shopware-standard ConstraintViolationException:

On captcha failure (HTTP 403) Shopware Core returns a CaptchaException.

If the plugin is disabled (HTTP 403) or the form id is unknown (HTTP 404) a FormSubmitException is returned.

Loading a form definition

To build your own front-end you need the form definition (fields, order, required flags, options). Load it via the DAL search endpoint:

Body:

The response contains the form with all fields, their translations and visibility conditions.

Entity aliases

Alias
Content

prems_form

Form

prems_form_field

Single field / structure element

prems_form_field_translation

Translatable properties per language

prems_form_entry

Submission

prems_form_mail_route

Mail route

Events (for custom backend extensions)

Event
Class
Triggered

prems_form.submitted

Prems\Plugin\PremsForm\Core\Event\PremsFormSubmittedEvent

after a successful submission (Store API included)

Hook into this event to trigger custom actions or forward data to external systems.

Was this helpful?