# Webformular

Ähnlich wie beim JSON-Connector akzeptiert auch dieser Connector Daten im JSON-Format. Allerdings ist das Schema, wie das JSON aufgebaut sein muss, bei diesem Connector bereits vorgegeben.

## Erstellen eines Webformular-Connectors

Um einen neuen Webformular-Connector zu erstellen, wählen Sie den Menüpunkt *Connectoren* und klicken anschliessend auf das <img src="https://2388870224-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8dtLKppxVG0mxVBzNFs6%2Fuploads%2FOd2lmULy1GFVQ4yPs7wU%2Fprojekte-plus-symbol.png?alt=media&#x26;token=9941d613-faf3-446a-be0d-a46c684b4e2a" alt="" data-size="line"> Symbol.

<figure><img src="https://2388870224-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8dtLKppxVG0mxVBzNFs6%2Fuploads%2FLghWo2Rr1Fau78sqaLMq%2Fconnector-web-form-01.png?alt=media&#x26;token=35cc2a24-5b1f-4d9d-9fc3-8d06d11a029b" alt="" width="221"><figcaption><p>Erstellen eines neuen Connectors</p></figcaption></figure>

Anschliessend geben Sie einen Namen ein, wählen die Option *Webformular* aus und klicken auf *Weiter*.

<figure><img src="https://2388870224-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8dtLKppxVG0mxVBzNFs6%2Fuploads%2FULqKqlVMD7P67A6cJbTM%2Fconnector-web-form-02.png?alt=media&#x26;token=45f38333-9041-44a2-aa27-033ec9ea4d2b" alt="" width="458"><figcaption><p>Neuer Webformular-Connector</p></figcaption></figure>

## Formularfelder

Mit der Definition von Formularfeldern legen Sie fest, welche Daten für diesen Connector erwartet werden. Jedes Formularfeld wird als Event-Variable im Workflow zur Verfügung gestellt.

So definieren Sie ein Formularfeld:

1. Wählen Sie den Datentyp des Formularfeldes auf der rechten Seite aus.
2. Ziehen Sie den Datentyp per Drag'n'Drop auf die linke Seite.
3. Geben Sie den gewünschten Namen für das Feld ein.

<figure><img src="https://2388870224-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8dtLKppxVG0mxVBzNFs6%2Fuploads%2FohQRXShxtGPw4cwxFYdR%2Fconnector-web-form-03.png?alt=media&#x26;token=c6dd7dcc-2d7d-464e-b711-4bb8eb33d34f" alt="" width="563"><figcaption><p>Webformular mit vier Parametern</p></figcaption></figure>

### Datentypen

Es stehen folgende Datentypen für ein Formularfeld zur Verfügung:

* Text
* Datum
* Zahl
* Zeitstempel
* Boolean

Der Datentyp bestimmt, wie das Formularfeld im JSON formatiert wird.

* Ein Datum muss im Format `yyyy-mm-dd` gesendet werden, zum Beispiel `2024-11-26`.
* Zeitstempel sind im ISO-8601 Format zu senden, zum Beispiel `2024-11-26T14:24:41+01:00`.
* Boolean kann nur die Werte `true` oder `false` annehmen.

## JSON-Format

Das JSON welches Sie an Robot schicken, muss auf oberster Ebene zwei Properties haben:

* `payload`
* `callbackUrl`

Der Payload beinhaltet die von Ihnen definierten Formularfelder. Der Name jedes Formularfeldes fungiert dabei als Key.

Die `callbackUrl` ist optional und kann eine URL enthalten, die von Robot aufgerufen wird, wenn der Workflow abgeschlossen ist. Wenn Sie keine Callback-URL wünschen, können Sie dieses Property mit dem Wert `null` senden.

### Beispiel

Ausgehend vom Webformular, welches unter [#formularfelder](#formularfelder "mention") zu sehen ist, muss das JSON wie folgt aussehen:

```json
{
  "payload": {
    "vorname": "John",
    "nachname": "Doe",
    "geburtsdatum": "1999-09-09",
    "premiumKunde": true
  },
  "callbackUrl": "https://callback.mycompany.com"
}
```

Im `payload` sind alle Formularfelder zu finden, die für diesen Connector definiert wurden.

## URL

Die URL, an die Sie Daten im JSON-Format senden können, wird angezeigt, sobald Sie den Connector öffnen. Ist das Feld leer und keine URL sichtbar, bedeutet das, dass Ihrem Projekt noch kein API-Key zugewiesen wurde. In diesem Fall wenden Sie sich bitte an Ihren Ansprechpartner, um einen API-Key zu erhalten.

Daten können nur über die POST-Methode gesendet werden. Die Anfrage wird mit dem HTTP-Status-Code `202 Accepted` bestätigt, wobei der Response-Body leer bleibt.

Erhalten Sie einen anderen Status-Code, wurden Ihre Daten nicht akzeptiert und auch kein Workflow ausgelöst.
