# Webhooks einrichten und prüfen

Ein Webhook schickt Daten an eine Adresse deiner Anwendung, wenn passende Änderungen vorliegen. Kontoflux.io sendet dafür eine HTTP-POST-Anfrage an die von dir hinterlegte HTTPS-Adresse.

## Webhook anlegen

1. Öffne **Automationen → Webhooks** im gewünschten Workspace.
2. Klicke auf **Webhook erstellen** und öffne den neuen Eintrag.
3. Gib ihm einen Namen, zum Beispiel „Umsätze an Buchhaltung“.
4. Trage die Empfangsadresse unter **Webhook URL** ein. Sie muss mit `https://` beginnen.
5. Wähle den **Scope** und die **Bankkonten**.
6. Ergänze bei Bedarf die HTTP-Header und klicke auf **Speichern**.
7. Prüfe den Empfang mit **Testdaten senden** und aktiviere anschließend den Webhook über den Statusschalter.

Ein neuer Webhook ist zunächst inaktiv. Ohne HTTPS-Adresse lässt er sich nicht aktivieren.

## Daten auswählen

| Scope | Übertragene Daten |
| --- | --- |
| **Transaktionen** | Umsätze der ausgewählten Konten |
| **Konten** | Daten der ausgewählten Bankkonten |
| **Transaktionen + Konten** | Beide Datenarten |

Mit **Bankkonten** beschränkst du, für welche Konten der Webhook Daten übermitteln soll. Prüfe die Zusammenfassung unter **Auswahl der Daten**, bevor du speicherst.

## Empfang authentifizieren

Unter **HTTP-Header** kannst du über **Header hinzufügen** Schlüssel und Werte hinterlegen. Benötigt deine Anwendung beispielsweise einen Bearer-Token, trägst du als Schlüssel `Authorization` und als Wert `Bearer DEIN_EMPFAENGER_TOKEN` ein.

Verwende hier die Zugangsdaten deiner empfangenden Anwendung. Ob du gespeicherte URL- und Header-Werte sehen oder ändern darfst, hängt von deiner Workspace-Rolle ab.

## Testdaten senden

**Testdaten senden** öffnet einen Dialog für Beispieltransaktionen. Dort wählst du ein Konto und bearbeitest unter anderem Betrag, Währung, Datum und Verwendungszweck. Du kannst weitere Transaktionen hinzufügen und die Daten absenden.

Der Test erreicht die echte Empfangsadresse. Die Transaktionen sind Beispieldaten; bei einem Scope mit Kontodaten werden die tatsächlichen Kontodaten der gewählten Bankkonten mitgesendet. Prüfe beim Empfänger, ob die Daten angekommen sind und wie sie verarbeitet wurden.

## Aufbau der Anfrage

Die JSON-Anfrage enthält `workspaceId` und `webhookId`. Je nach Scope kommen die Listen `transactions`, `accounts` oder beide hinzu. Testanfragen tragen zusätzlich `debug: true`. Berücksichtige dieses Feld, wenn dein Empfänger Testdaten gesondert behandeln soll.

## Ausführungen kontrollieren

Unter **Letzte Ausführung** siehst du Status und Meldungen des letzten Laufs. **View Executions** öffnet die einzelnen Ausführungen. Einige Beschriftungen in diesem Dialog sind derzeit auf Englisch:

- **All**, **Successful** und **Failed** filtern die Liste nach Ergebnis.
- Ein Eintrag zeigt Zeitpunkt, Statuscode, Konto- und Transaktionskennung sowie eine Rückmeldung zur Zustellung.
- Bei längeren gespeicherten Rückmeldungen öffnet **View Full Response** deren vollständigen Text. Aktuelle Ausführungen speichern eine Statuszusammenfassung; eine vollständige Antwort des Empfängers ist dort nicht garantiert.
- Über das Menü eines Transaktionseintrags kannst du **Resend Webhook** oder **Copy Details** wählen.

Eine erneute Zustellung kann die Verarbeitung beim Empfänger nochmals auslösen. Prüfe deshalb vor **Resend Webhook**, ob die erste Anfrage dort bereits verarbeitet wurde.

## Wenn keine Daten ankommen

Prüfe zuerst Aktivierungsstatus, HTTPS-Adresse, Scope und Kontenauswahl. Öffne dann die fehlgeschlagene Ausführung und prüfe Statuscode und Rückmeldung. Bei `401` oder `403` kontrollierst du beispielsweise die Zugangsdaten des Empfängers. Für weitere Details prüfe das Protokoll deiner empfangenden Anwendung.

Zum Pausieren schaltest du den Webhook inaktiv. Mit **Webhook löschen** entfernst du die Konfiguration.
