Skip to main content

Documentation Index

Fetch the complete documentation index at: https://dokumentation.websale.de/llms.txt

Use this file to discover all available pages before exploring further.

Über den API-Endpunkt für Formulare werden die im Shop verfügbaren Online-Formulare bereitgestellt und deren Felder, Pflichtangaben und Validierungen ausgeliefert. Über den Endpunkt können alle Formulare aufgelistet, ein einzelnes Formular oder Feld abgerufen und ausgefüllte Formulare übermittelt werden.

Unterstützte Methoden

Angabe aller unterstützten Methoden.
BefehlEndpunkteGETPUTPOSTDELETE
Alle Formulare abrufen.form/list
Ein bestimmtes Formular abrufen.form/get
Ein bestimmtes Formularfeld abrufen.form/getField
Eine Formularanfrage versenden.form/send
Details einer zuvor gesendeten Anfrage abrufen.form/loadInquiry

Methoden für Formulare

Diese Methoden decken den kompletten Lebenszyklus von Online-Formularen im Shop ab. Sie lesen alle konfigurierten Formulare einschließlich der Felder, der Pflichtkennzeichnung, der Validierungen und der E-Mail-Einstellungen aus. Bei Bedarf können ein einzelnes Formular oder ein einzelnes Feld gezielt nach ID geladen werden. Darüber hinaus ist das Übermitteln ausgefüllter Formulare möglich. Dabei wird eine Vorgangs-ID (inquiryId) bereitgestellt, die eine spätere Nachverfolgung bzw. Detailabfragen ermöglicht.

GET form/list

Der folgende Aufruf liefert alle im Shop konfigurierten Formulare inklusive Felddefinitionen und E-Mail-Einstellungen. Er kann zum Erstellen von Formularen inklusive Pflichtfeldern und Validierungen genutzt werden.
GET https://<ihr-shop>.de/api/v1/form/getAll

Parameterübersicht

ParameterTypBeschreibung
Keine zusätzlichen Parameter.

Beispiel-Response

[
  {
    "email": {
      "fromAddress": "contact@myshop.de",
      "fromName": "myshop Versender",
      "merchantEmail": "dev-test@websale.de",
      "subject": "Ihre Kontaktanfrage wurde aufgenommen.",
      "template": "contact.htm"
    },
    "fields": [
      { "label": "Vorname", "name": "firstName", "required": false, "validations": [ { "name": "minLength", "type": "dataChecker" }, { "name": "maxLength", "type": "dataChecker" } ] },
      { "label": "Nachname", "name": "lastName", "required": false, "validations": [ { "name": "minLength", "type": "dataChecker" }, { "name": "maxLength", "type": "dataChecker" } ] },
      { "label": "Betreff", "name": "subject", "required": true,  "validations": [ { "name": "maxLength", "type": "dataChecker" } ] },
      { "label": "Kundennummer", "name": "customerNumber", "required": false, "validations": [ { "name": "maxLength", "type": "dataChecker" } ] },
      { "label": "Text", "name": "text", "required": true, "validations": [ { "name": "minLength", "type": "dataChecker" }, { "name": "maxLength", "type": "dataChecker" } ] }
    ],
    "name": "contact"
  },
  {
    "email": {
      "fromAddress": "contact@myshop.de",
      "fromName": "myshop Versender",
      "merchantEmail": "dev-test@websale.de",
      "subject": "Ihre Kontaktanfrage wurde aufgenommen.",
      "template": "contact.htm"
    },
    "fields": [
      { "label": "Vorname", "name": "firstName", "required": false, "validations": [ { "name": "minLength", "type": "dataChecker" }, { "name": "maxLength", "type": "dataChecker" } ] },
      { "label": "Nachname", "name": "lastName", "required": false, "validations": [ { "name": "minLength", "type": "dataChecker" }, { "name": "maxLength", "type": "dataChecker" } ] },
      { "label": "Betreff", "name": "subject", "required": true,  "validations": [ { "name": "maxLength", "type": "dataChecker" } ] },
      { "label": "Kundennummer", "name": "customerNumber", "required": false, "validations": [ { "name": "maxLength", "type": "dataChecker" } ] },
      { "label": "Text", "name": "text", "required": true, "validations": [ { "name": "minLength", "type": "dataChecker" }, { "name": "maxLength", "type": "dataChecker" } ] }
    ],
    "name": "contact_friendlycaptcha"
  }
]

GET form/get

Mit folgendem Aufruf kann ein einzelnes Formular anhand seiner technischen ID (abrufbar über „form/getAll”) inklusive Felddefinitionen, Pflichtangaben, Validierungen und E-Mail-Einstellungen geladen werden. Er kann zum gezielten Anzeigen eines Formulars verwendet werden. Beispiel-Aufruf, der ein Formular mit der formId contact lädt:
GET https://<ihr-shop>.de/api/v1/form/get?formId=contact

Parameterübersicht

ParameterTypBeschreibung
formIdstringPflichtfeld
Technische ID des Formulars (abrufbar über form/getAll)

Beispiel-Response

{
  "email": {
    "fromAddress": "contact@myshop.de",
    "fromName": "myshop Versender",
    "merchantEmail": "dev-test@websale.de",
    "subject": "Ihre Kontaktanfrage wurde aufgenommen.",
    "template": "contact.htm"
  },
  "fields": [
    {
      "label": "Vorname",
      "name": "firstName",
      "required": false,
      "validations": [
        { "name": "minLength", "type": "dataChecker" },
        { "name": "maxLength", "type": "dataChecker" }
      ]
    },
    {
      "label": "Nachname",
      "name": "lastName",
      "required": false,
      "validations": [
        { "name": "minLength", "type": "dataChecker" },
        { "name": "maxLength", "type": "dataChecker" }
      ]
    },
    {
      "label": "Betreff",
      "name": "subject",
      "required": true,
      "validations": [
        { "name": "maxLength", "type": "dataChecker" }
      ]
    },
    {
      "label": "Kundennummer",
      "name": "customerNumber",
      "required": false,
      "validations": [
        { "name": "maxLength", "type": "dataChecker" }
      ]
    },
    {
      "label": "Text",
      "name": "text",
      "required": true,
      "validations": [
        { "name": "minLength", "type": "dataChecker" },
        { "name": "maxLength", "type": "dataChecker" }
      ]
    }
  ],
  "name": "contact"
}

GET form/getField

Mit dem folgenden Aufruf wird ein Formularfeld mit Label, Pflichtstatus und Validierungen geladen. Er kann verwendet werden, um das Feld gezielt anzuzeigen, ohne das ganze Formular neu zu laden. Beispiel-Aufruf, der das Feld firstName aus dem Formular contact lädt:
GET https://<ihr-shop>.de/api/v1/form/getField?formId=contact&fieldId=firstName

Parameterübersicht

ParameterTypBeschreibung
formIdstringPflichtfeld
Technische ID des Formulars (abrufbar über form/getAll)
fieldIdstringPflichtfeld
ID/Name des Feldes im Formular (z.B. firstName)

Beispiel-Response

{
  "label": "Vorname",
  "name": "firstName",
  "required": false,
  "validations": [
    { "name": "minLength", "type": "dataChecker" },
    { "name": "maxLength", "type": "dataChecker" }
  ]
}

GET form/loadInquiry

Mit folgendem Aufruf kann eine bereits versendete Anfrage anhand ihrer Vorgangs-ID geladen werden. Er kann verwendet werden, um nach dem Absenden des Formulars eine Bestätigungsseite anzuzeigen oder um eine Anfrage später erneut anzusehen. Beispiel-Aufruf, der die Anfrage mit der ID 7930f7e9fa7bb07b lädt:
GET https://<ihr-shop>.de/api/v1/form/loadInquiry?inquiryId=7930f7e9fa7bb07b

Parameterübersicht

ParameterTypBeschreibung
inquiryIdstringPflichtfeld
Vorgangs-ID der Anfrage (erhältlich z.B. aus dem Response von form/send)
 

Beispiel-Response

{
  "createdAt": "2025-11-11T14:36:03Z",
  "form": {
    "customerNumber": { "label": "Kundennummer", "value": "" },
    "firstName":      { "label": "Vorname",      "value": "Eren" },
    "lastName":       { "label": "Nachname",     "value": "Jäger" },
    "subject":        { "label": "Betreff",      "value": "Wichtige Mitteilung" },
    "text":           { "label": "Text",         "value": "tatakae!" }
  },
  "formId": "contact",
  "id": "7930f7e9fa7bb07b",
  "submitter": {
    "email": "test@example.de",
    "ipAddress": "172.18.0.XXX",
    "sessionId": "4d1536fe...cd07d"
  }
}

POST form/send

Mit folgendem Aufruf wird eine Formularanfrage (z. B. ein Kontaktformular) an den Shop gesendet und dafür ein Vorgang erzeugt. Er ist zum Absenden eines Formulars und zum Anzeigen einer Bestätigung inklusive Vorgangsnummer verwendbar.
POST https://<ihr-shop>.de/api/v1/form/send

Beispiel-Request

{
  "formId": "contact",
  "email": "test@example.de",
  "form": {
    "firstName": "Eren",
    "lastName": "Jäger",
    "subject": "Wichtige Mitteilung",
    "text": "tatakae!"
  }
}

Parameterübersicht

ParameterTypBeschreibung
formIdstringPflichtfeld
Technische ID des Formulars (abrufbar über form/getAll)
emailstringPflichtfeld
Absender-/Antwort-E-Mail-Adresse der anfragenden Person.
formobjectPflichtfeld
Hier werden die Feld-IDs aus der Formular-Definition (z.B. firstName, subject, text) inklusive ihres Wertes (Vorname, Betreff etc.) angegeben.

Beispiel-Response

{
  "inquiryId": "7930f7e9fa7bb07b"
}
InquiryId ist die Vorgangs-ID der gesendeten Anfrage.

Fehlercodes

CodeBeschreibung
captchaFailedFür das Formular ist ein Captcha konfiguriert und das mitgegebene Captcha ist falsch.
invalidFormIdDie angegebene Formular-ID ist ungültig.
createInquiryFailedInterner Fehler. Bitte wende dich an den WEBSALE-Support.