# HTTP-Funktion

## 🔌 Was ist eine HTTP-Funktion?

Die HTTP-Sicherheitsfunktion ermöglicht es Ihnen, ngSurvey einfach mit eigenen Remote-HTTP-REST-basierten Funktionen zu erweitern.

Mit der HTTP-Sicherheitsfunktion können Sie eine benutzerdefinierte Benutzeroberfläche einrichten, um Daten vom Befragten zu erfassen, bevor die Umfrage angezeigt wird, diese Daten als einfaches JSON-Objekt an einen bestimmten HTTP-REST-Endpunkt zu senden, beliebige geschäftslogische Verarbeitung der Daten vorzunehmen und ein neues JSON-Objekt von Ihrem HTTP-Endpunkt zurückzugeben, das zusammen mit den Antworten des Befragten gespeichert wird und überall in der Umfrage mithilfe der ngSurvey Piping-Funktionen verwendet werden kann.

## ☁️ Was wird gesendet und empfangen?&#x20;

Das Objekt, das von ngSurvey an Ihren HTTP-Endpunkt gesendet wird, ist ein einfaches JSON-formatiertes Objekt wie folgt&#x20;

```javascript
{
 properynamefromyouruserinterface1 : 'value', 
 properynamefromyouruserinterface2 : 'value'
}
```

Zusätzlich zu den in der Benutzeroberfläche vom Befragten eingegebenen Werten sendet ngSurvey folgende zusätzliche Eigenschaften an den Endpunkt:

```javascript
{
 ngsSurveyId : 'abcd' // ID der Umfrage, 
 ngsRemoteip : '127.0.0.1' // IP des Befragten
}
```

Vom HTTP-Endpunkt zurückgegebenes Objekt muss als JSON-Objektstruktur formatiert sein, wie unten gezeigt; Sie können beliebig viele Eigenschaften zurücksenden.

```javascript
{
yourproperty1:'value', 
yourproperty2:'value'
}
```

{% hint style="info" %}
🧙 Werte, die von Ihrem HTTP-Endpunkt zurückgegeben werden, können [verwendet werden (piped)](https://docs.ngsurvey.com/de/form-management/form-designer/piping/text-data-piping) überall in Ihren Umfragetexten oder Antworten mit folgendem Pipe-Format \_\_yourproperty1\_\_ eingefügt werden  &#x20;
{% endhint %}

## 🔅 HTTP-Funktions-Eigenschaften

* **`HTTP-Endpunkt-URL`** muss die HTTP-URL sein, die die in der Benutzeroberfläche eingegebenen Daten empfängt. ngSurvey sendet die Daten entweder als JSON-Objekt, wenn auf POST eingestellt, oder als Schlüssel/Werte, die an die Endpunkt-URL angehängt werden.
* **`Abfragewerte übertragen`** wenn aktiviert, leitet ngSurvey alle Querystring-Schlüssel/Werte weiter, die in der Umfrage-URL eingerichtet wurden.
* **`Beim Laden aufrufen`** Die HTTP-Funktion wird sofort aufgerufen, sobald das Sicherheits-Element geladen ist, ohne die Benutzeroberfläche anzuzeigen. Dies ist nützlich, wenn Sie den Endpunkt mithilfe von Querystring-Parametern verwenden möchten, ohne Informationen über die Benutzeroberfläche abzufragen.
* **`Gesichert` l**Erlaubt Ihnen, ein JWT-Token einzurichten, das zur Autorisierung des HTTP-Endpunkts verwendet wird.
* **`Eigenschaftsname für eindeutigen Wert`** ist der Eigenschaftenname aus dem vom HTTP-Endpunkt zurückgegebenen Objekt, der als "Primärschlüssel" verwendet wird, um die zurückgegebenen Daten eindeutig zu identifizieren. Dieser eindeutige Schlüssel wird verwendet, um doppelte Einträge zu verhindern und Save-/Resume-Funktionen zu ermöglichen, wenn das HTTP-Sicherheits-Element als Schlüsselanbieter festgelegt ist.
* **`Laden`** Kurze Nachricht, die während des Aufrufs beim Laden angezeigt wird.&#x20;
* **`Einführungsnachricht`** Kurze Nachricht, die über der Benutzeroberfläche angezeigt wird.
