# Verifizierungsergebnisse mit Webhooks erhalten

Source: https://help.didit.me/de/integration/webhooks-basics
Updated: 2026-10-12

Didit schickt keine E-Mail, wenn sich ein Verifizierungsstatus ändert. Richten Sie einen Webhook ein, damit Ihr Backend es erfährt, und prüfen Sie die Signatur.

Ein Webhook ist eine HTTP-Anfrage, die Didit an Ihre URL sendet, wenn sich etwas ändert. Fügen Sie ein
Ziel unter **Entwickler → Webhooks** hinzu, abonnieren Sie die gewünschten Ereignisse - es gibt
**kein Wildcard**, listen Sie jedes einzeln auf - speichern Sie das Signing-Secret, und prüfen Sie die Signatur,
bevor Sie irgendetwas verarbeiten.

[Video: Webhooks-Überblick - Didit Academy](https://www.youtube.com/watch?v=fX03-WEu_EI&t=192)

Didit sendet keine E-Mail, wenn eine Session zu **In Review** oder **Declined** wechselt. Um in dem Moment davon zu erfahren, in dem sich ein Status ändert, ohne die Konsole zu aktualisieren, richten Sie einen Webhook ein - eine URL auf Ihrem Server, an die Didit das Update automatisch sendet.

Webhooks sind das **empfohlene** Integrationsmuster. Das Pollen des Decision-Endpoints funktioniert als Fallback, ist aber langsamer, kostet mehr Anfragen und verpasst Ereignisse, die ausschließlich per Webhook zugestellt werden - Datenbearbeitungen durch einen Prüfer, Statusänderungen bei Transaktionen und Änderungen auf Entity-Ebene.

## Einrichtung

1. **Entwickler → Webhooks**

   Öffnen Sie die gewünschte Anwendung und Live- oder Sandbox-Umgebung, dann Entwickler und Webhooks.

2. **Endpunkt hinzufügen**

   Klicken Sie auf Endpunkt hinzufügen, geben Sie HTTPS-URL und Namen ein und wählen Sie die Ereignisse. Behalten Sie die empfohlene Version v3 bei, sofern Sie keine ältere Integration pflegen. Prüfen und bestätigen Sie.

3. **Das Signing-Secret speichern**

   Jeder Endpunkt hat ein eigenes maskiertes Signaturgeheimnis. Klicken Sie auf Anzeigen und bestätigen Sie Ihre Identität; nach spätestens 60 Sekunden wird es wieder verborgen. Speichern Sie es in der Serverkonfiguration. Bei deaktivierter Anzeige hilft der Support. [Entwickler → Webhooks](https://docs.didit.me/integration/webhooks#signature-verification).

4. **Testereignis senden**

   Senden Sie ein signiertes Testereignis, um Endpunkt, Signatur und Verarbeitung ohne echte Verifizierung zu prüfen.

![Webhook-Ziele in der Didit-Konsole mit abonnierten Ereignissen und Zustellverlauf](https://help.didit.me/screenshots/webhooks-light.webp)

*Jedes Ziel hat seine eigenen abonnierten Ereignisse, ein eigenes Signing-Secret und ein eigenes Zustellprotokoll.*

## Die Ereignisse, die Sie abonnieren können

Es gibt **kein Wildcard** - listen Sie jede Ereignisfamilie auf, die Sie möchten. Sie auf mehrere Ziele zu verteilen ist in Ordnung und oft übersichtlicher.

| Ereignis | Feuert wenn |
|---|---|
| `status.updated` | Sich der Status einer KYC- oder KYB-Session ändert. Das, das Sie fast sicher wollen |
| `data.updated` | Verifizierungsdaten nach der Erstellung bearbeitet werden - ein Prüfer korrigiert ein Feld |
| `user.status.updated` | Ein konsolidierter Nutzer zwischen ACTIVE, FLAGGED und BLOCKED wechselt |
| `user.data.updated` | Sich Profil, Zähler oder Kennungen eines konsolidierten Nutzers ändern |
| `business.status.updated` | Ein konsolidiertes Unternehmen den Status wechselt |
| `business.data.updated` | Sich die Daten eines konsolidierten Unternehmens ändern |
| `transaction.created` | Eine Transaktion erstellt wird und ihr erstes Urteil bereitsteht |
| `transaction.status.updated` | Sich der Status einer Transaktion danach ändert |
| `travel_rule.status.updated` | Sich der Status eines Travel-Rule-Austauschs ändert |

> **Note:** Es gibt kein `session.status.updated` oder `kyc.completed`. Wenn Sie einen Namen abonniert haben, der
> nicht in dieser Liste steht, erhalten Sie nichts - und es wird genau wie ein Zustellfehler aussehen.
> Prüfen Sie zuerst den Namen.

## Was Ihr Endpunkt tun sollte

- **Prüfen Sie zuerst die Signatur.** HMAC-en Sie den **rohen** Request-Body - niemals eine neu serialisierte Version des geparsten JSON, denn erneutes Serialisieren ändert die Bytes und die Signatur stimmt nicht mehr überein. Verwenden Sie einen zeitkonstanten Vergleich.
- **Geben Sie schnell 2xx zurück.** Erledigen Sie aufwendige Arbeit asynchron, nachdem Sie geantwortet haben.
- **Seien Sie idempotent.** Schlüsseln Sie über die Event-ID, oder über Session-ID + Status + Webhook-Typ. Wiederholungen und Duplikate kommen vor.
- **Behandeln Sie jeden Status, der Sie interessiert**, einschließlich derer, die lange nach dem Onboarding eintreffen - eine genehmigte Session kann später durch [laufendes AML-Monitoring](https://help.didit.me/de/aml-screening/ongoing-monitoring) zu In Review wechseln.
- **Nur HTTPS.** Reine HTTP-Endpunkte werden nicht unterstützt.

## Wiederholungen

Bei 5xx oder 404 versucht Didit die Zustellung zweimal erneut, nach etwa einer und dann vier Minuten. Zeitüberschreitungen nach 5 Sekunden und Verbindungsfehler werden nicht automatisch wiederholt. Nutzen Sie nach der Korrektur Erneut senden unter Zustellungen; ein endgültiger Fehler löst eine Warnung aus.

> **Warning:** Verlassen Sie sich nicht auf die Zustellung jedes Webhooks. Senden Sie nach einem Ausfall erneut oder fragen Sie die Entscheidung jeder Sitzung ohne erhaltenes Ergebnis ab.

## Hinter einer Firewall oder WAF

Didit liefert von der statischen IP **18.203.201.92** mit einem `DiditWebhook/2.0`-User-Agent aus. Wenn Ihr Edge unbekannte Clients blockiert - Cloudflares Standardhaltung zum Beispiel - erlauben Sie diese IP für den empfangenden Hostnamen, oder Zustellungen scheitern, bevor sie Ihren Code erreichen.

## Noch kein Backend?

Sie können Ergebnisse weiterhin manuell im Bereich **Verifications** der Konsole überwachen, während Sie eines aufbauen, oder in der Zwischenzeit einen [No-Code-Verifizierungslink](https://help.didit.me/de/integration/integration-options) nutzen.

## Nächste Schritte

- Wenn ein Webhook nicht ankommt: [wenn ein Webhook nie ankommt](https://help.didit.me/de/integration/webhook-troubleshooting)
- Verstehen, was jeder Status bedeutet, sobald er ankommt: [was jeder Session-Status bedeutet](https://help.didit.me/de/verification-sessions/session-statuses)
- Vollständige technische Referenz, einschließlich Codebeispielen zur Signaturprüfung: [Webhooks](https://docs.didit.me/integration/webhooks)
