> ## 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.

# Inquiry

> Inquiry-Aktionen für Anfragen: Kontakt- und Anfrageformulare sowie Frage-zum-Produkt-Formulare im Frontend absenden und auswerten.

In diesem Abschnitt werden die verfügbaren Aktionen im Bereich Inquiry beschrieben. Mit diesen Aktionen können z.B. Kontakt- oder Anfrage-Formulare abgesendet werden.

***

## Aktionen im Überblick

| **Aktion**     | **Beschreibung**                                               |
| -------------- | -------------------------------------------------------------- |
| `InquirySend`  | Sendet ein Anfrage-Formular mit den angegebenen Parametern ab. |
| `InquiryCheck` | Prüft die Eingaben eines Formulars, ohne es abzusenden.        |

***

## Aktionen

### InquirySend

Mit dieser Aktion wird ein Anfrage-Formular abgesendet. Dabei werden die übermittelten Eingaben geprüft und die Anfrage verarbeitet. Schlägt die Verarbeitung fehl, wird ein entsprechender Fehler zurückgegeben, sodass der Nutzer seine Eingaben korrigieren kann.

**Anwendungsbeispiel**\
Nutzbar, um z.B. ein Kontaktformular auf einer Seite einzubinden, über das Kunden eine Anfrage stellen können. Nach dem Klick auf “Absenden” wird das Formular validiert und die Anfrage übermittelt.

**Parameter**

| **Parameter** | **Beschreibung**                    |
| ------------- | ----------------------------------- |
| `email`       | Die E-Mail-Adresse des Absenders.   |
| `formId`      | Die ID des abzusendenden Formulars. |

**Fehler**

| **Fehlercode**        | **Beschreibung**                                                             |
| --------------------- | ---------------------------------------------------------------------------- |
| `missingEmail`        | Es wurde keine E-Mail-Adresse angegeben.                                     |
| `emailCheckFailed`    | Die angegebene E-Mail-Adresse ist ungültig oder konnte nicht geprüft werden. |
| `emptyForm`           | Das Formular enthält keine Eingaben.                                         |
| `missingFormId`       | Es wurde keine Formular-ID übergeben.                                        |
| `invalidFormId`       | Die angegebene Formular-ID ist nicht gültig.                                 |
| `formCheckFailed`     | Die Formularprüfung ist fehlgeschlagen.                                      |
| `createInquiryFailed` | Die Anfrage konnte nicht erstellt werden.                                    |

**Zugehörige Module, Variablen & Methoden**

* [\$wsForm](/frontend/referenz/module/wsform)
* [\$wsForm.inquiryId](/frontend/referenz/module/wsform#\$wsform-inquiryid)
* [\$wsForm.loadType()](/frontend/referenz/module/wsform#\$wsform-loadtype)
* [\$wsForm.load()](/frontend/referenz/module/wsform#\$wsform-load)

**Beispiel,** das die Aktion erstellt, per Hidden-Input an das Formular bindet und nach dem Absenden auf Erfolg oder Fehler prüft.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{{ var $cMyInquirySendAction = $wsActions.create('InquirySend') }}

<form method="post" data-ws-ajax-form>
   <input type="hidden" name="wscsrf" value="{{= $cMyInquirySendAction.csrf }}">
   <input type="hidden" name="wsact"  value="{{= $cMyInquirySendAction.id }}">
   <input type="hidden" name="formId" value="productQuestion">

   {{ if $cMyInquirySendAction.success }}
      <div class="alert alert-success">%%InquirySuccessTxt%%</div>
   {{ else }}
      <input type="email" name="email" class="form-control">
      <button type="submit" class="btn btn-primary">%%InquirySendButtonTxt%%</button>
   {{ /if }}
</form>
```

***

### InquiryCheck

Mit dieser Aktion werden die Eingaben eines Formulars geprüft, ohne die Anfrage tatsächlich abzusenden. Die geprüften Feldwerte werden dabei in `$myField.value` zurückgeschrieben und können im Frontend wiederverwendet werden.

**Anwendungsbeispiel**\
Nutzbar, um Formulareingaben bereits vor dem endgültigen Absenden zu validieren und dem Nutzer direktes Feedback zu seinen Eingaben zu geben.

**Parameter**

| **Name** | **Beschreibung**                   |
| -------- | ---------------------------------- |
| `email`  | Die E-Mail-Adresse des Absenders.  |
| `formId` | Die ID des zu prüfenden Formulars. |

**Fehlercodes**

| **Fehlercode**     | **Beschreibung**                             |
| ------------------ | -------------------------------------------- |
| `missingEmail`     | Es wurde keine E-Mail-Adresse angegeben.     |
| `emailCheckFailed` | Die angegebene E-Mail-Adresse ist ungültig.  |
| `missingFormId`    | Es wurde keine Formular-ID übergeben.        |
| `invalidFormId`    | Die angegebene Formular-ID ist nicht gültig. |
| `formCheckFailed`  | Die Formularprüfung ist fehlgeschlagen.      |

**Zugehörige Module, Variablen & Methoden**

* [\$wsForm](/frontend/referenz/module/wsform)
* [\$wsForm.loadType()](/frontend/referenz/module/wsform#\$wsform-loadtype)

**Beispiel** folgt.


## Related topics

- [inquiry - Formulare](/konfiguration/inquiry-formulare.md)
- [Konfigurations-Deeplinks](/admin-interface/konfigurations-deeplinks.md)
- [$wsForm - Formulare](/frontend/referenz/module/wsform.md)
- [actions - Formulare](/konfiguration/actions-fehlertexte-e-mails/actions-formulare.md)
- [API-Referenz Anfragen](/schnittstellen/admin-interface-api/api-referenz-anfragen.md)
