# Webhooks

## ☁️ Was sind Webhooks?

Webhooks sind eine hervorragende Möglichkeit, den Befragten und seine Antworten an jeden HTTP-basierten API-Endpunkt zu senden, sobald der Befragte in der ngSurvey-Datenbank erfasst wurde.

## 🔅 Webhook-Eigenschaften

* **`Webhook-URL`** der REST-API oder des HTTP-Servers, der die Übermittlung der Respondent-JSON-Nutzlast empfangen soll.
* **`Payload-Transformationsvorlage`** wird verwendet, um die Struktur der gesendeten JSON-Nutzlast in eine andere benutzerdefinierte Objektstruktur zu ändern.

## 🔤 Post-Format

Der Befragte und seine Antworten werden als JSON-formatierte Nutzlast mittels HTTP POST gesendet. Die Standard-JSON-Nutzlast unten kann mit einer [payload transform template](https://docs.ngsurvey.com/de/form-management/tasks/task-items/webhook/webhooks-payload-transform).

```javascript
{
  respondent: {
    id: string;
    surveyId: string;
    panelistId: string;
    contextUsername: string
    resumeUId: string;
    resumePageId: string;
    startDate: Date;
    voteDate: Date;
    iPSource: string;
    changeUID: string;
    progressSaveDate: Date;
    languageCode: string;
    timeToEnd: number;
    validated: boolean;        
  },
  answers: [{
      respondentId: string,
      value:string,
      answerId": string,
      answerText": string,
      questionId": string,
      questionAlias": string,
      questionText": string,
      sectionNumber": number
  }],
  visitedPages: [{
    id: string;
    respondentId: string;
    visitTime: string;
  }],
  dataAttributes: [{
    securityItemId: string;
    respondentId: string;
    attributeName: string;
    attributeValue: string;
  }],
  querystring: string
}
```

{% hint style="info" %}
Verschlüsselte Antworten mit [eingeschränkter](https://docs.ngsurvey.com/de/data-encryption/data-classification/restricted) Datenklassifizierung werden als verschlüsselte PGP-Nachricht gesendet.&#x20;
{% endhint %}
