curl -X GET 'https://verification.didit.me/v3/session/22222222-3333-4444-5555-666666666666/webhooks/' \
-H 'x-api-key: YOUR_API_KEY'from didit import Didit
# Reads DIDIT_API_KEY.
client = Didit()
result = client.sessions.webhooks.list(
"22222222-3333-4444-5555-666666666666",
)
print(result)import Didit from "@didit-protocol/sdk-node";
// Reads DIDIT_API_KEY.
const didit = new Didit();
const result = await didit.sessions.webhooks.list("22222222-3333-4444-5555-666666666666");
console.log(result);ctx := context.Background()
// Reads DIDIT_API_KEY.
client := didit.NewClient()
result, err := client.Sessions.Webhooks.List(ctx, "22222222-3333-4444-5555-666666666666")
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", result)import me.didit.Didit;
// Reads DIDIT_API_KEY.
Didit client = new Didit();
var result = client.sessions().webhooks().list("22222222-3333-4444-5555-666666666666");
System.out.println(result);<?php
require 'vendor/autoload.php';
use Didit\DiditClient;
// Reads DIDIT_API_KEY.
$didit = new DiditClient();
$result = $didit->sessions->webhooks->list('22222222-3333-4444-5555-666666666666');
print_r($result->toArray());require "didit"
# Reads DIDIT_API_KEY.
didit = Didit::Client.new
didit.sessions.webhooks.list("22222222-3333-4444-5555-666666666666").each do |item|
puts item.to_h
endusing System;
using System.Text.Json;
using Didit;
// Reads DIDIT_API_KEY.
using var client = new DiditClient();
var result = await client.Sessions.Webhooks.ListAsync("22222222-3333-4444-5555-666666666666");
Console.WriteLine(JsonSerializer.Serialize(result));[
{
"uuid": "66666666-7777-8888-9999-000000000002",
"session_id": "22222222-3333-4444-5555-666666666666",
"request_url": "https://yourapp.com/webhooks/didit",
"response_status": 200,
"status": "In Progress",
"webhook_type": "status.updated",
"request_header": "{\"Content-Type\": \"application/json\", \"X-Signature\": \"9188851d160b5b3aacfc946e4dde1f061b7e568662518942c927ddaf507f533d\", \"X-Signature-V2\": \"381236af514d3fb538579365ac5a24f2464ce1b8224c6e770c60d8201c43ecc5\", \"X-Signature-Simple\": \"4740131dc38f29e78a8508371979be74967d5307464494bd3148a03b4d6c8716\", \"X-Timestamp\": \"1792056139\", \"User-Agent\": \"DiditWebhook/2.0 +https://didit.me\"}",
"request_body": "{\"application_id\":\"aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee\",\"created_at\":1792056057,\"environment\":\"live\",\"event_id\":\"33333333-4444-5555-6666-777777777777\",\"sandbox_scenario\":null,\"session_id\":\"22222222-3333-4444-5555-666666666666\",\"status\":\"In Progress\",\"timestamp\":1792056139,\"vendor_data\":\"user-123\",\"webhook_type\":\"status.updated\",\"workflow_id\":\"44444444-5555-6666-7777-888888888888\",\"workflow_version\":3}",
"created_at": "2026-10-15T09:22:19.104233Z"
},
{
"uuid": "66666666-7777-8888-9999-000000000001",
"session_id": "22222222-3333-4444-5555-666666666666",
"request_url": "https://yourapp.com/webhooks/didit",
"response_status": 503,
"status": "In Progress",
"webhook_type": "status.updated",
"request_header": "{\"Content-Type\": \"application/json\", \"X-Signature\": \"a5e02a03404e1337a0198e6be15d34abbd053c658a0e51e5d0e78554213ef29b\", \"X-Signature-V2\": \"927e7cb770c94ce745939bff73f04aa200015f3bc64795ba46c2aaf78a6cedc5\", \"X-Signature-Simple\": \"e37b0d4c716c72bb5ae7127b9cc455d28ab4686e9e22312b4ec2327409a73302\", \"X-Timestamp\": \"1792056078\", \"User-Agent\": \"DiditWebhook/2.0 +https://didit.me\"}",
"request_body": "{\"application_id\":\"aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee\",\"created_at\":1792056057,\"environment\":\"live\",\"event_id\":\"33333333-4444-5555-6666-777777777777\",\"sandbox_scenario\":null,\"session_id\":\"22222222-3333-4444-5555-666666666666\",\"status\":\"In Progress\",\"timestamp\":1792056078,\"vendor_data\":\"user-123\",\"webhook_type\":\"status.updated\",\"workflow_id\":\"44444444-5555-6666-7777-888888888888\",\"workflow_version\":3}",
"created_at": "2026-10-15T09:21:18.412345Z"
}
]Session-Webhook-Zustellungen auflisten (API)
Listet alle Webhooks von Didit für eine Verifizierungssitzung auf, mit URL, Antwort Ihres Endpoints, Headern und Payload.
curl -X GET 'https://verification.didit.me/v3/session/22222222-3333-4444-5555-666666666666/webhooks/' \
-H 'x-api-key: YOUR_API_KEY'from didit import Didit
# Reads DIDIT_API_KEY.
client = Didit()
result = client.sessions.webhooks.list(
"22222222-3333-4444-5555-666666666666",
)
print(result)import Didit from "@didit-protocol/sdk-node";
// Reads DIDIT_API_KEY.
const didit = new Didit();
const result = await didit.sessions.webhooks.list("22222222-3333-4444-5555-666666666666");
console.log(result);ctx := context.Background()
// Reads DIDIT_API_KEY.
client := didit.NewClient()
result, err := client.Sessions.Webhooks.List(ctx, "22222222-3333-4444-5555-666666666666")
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", result)import me.didit.Didit;
// Reads DIDIT_API_KEY.
Didit client = new Didit();
var result = client.sessions().webhooks().list("22222222-3333-4444-5555-666666666666");
System.out.println(result);<?php
require 'vendor/autoload.php';
use Didit\DiditClient;
// Reads DIDIT_API_KEY.
$didit = new DiditClient();
$result = $didit->sessions->webhooks->list('22222222-3333-4444-5555-666666666666');
print_r($result->toArray());require "didit"
# Reads DIDIT_API_KEY.
didit = Didit::Client.new
didit.sessions.webhooks.list("22222222-3333-4444-5555-666666666666").each do |item|
puts item.to_h
endusing System;
using System.Text.Json;
using Didit;
// Reads DIDIT_API_KEY.
using var client = new DiditClient();
var result = await client.Sessions.Webhooks.ListAsync("22222222-3333-4444-5555-666666666666");
Console.WriteLine(JsonSerializer.Serialize(result));[
{
"uuid": "66666666-7777-8888-9999-000000000002",
"session_id": "22222222-3333-4444-5555-666666666666",
"request_url": "https://yourapp.com/webhooks/didit",
"response_status": 200,
"status": "In Progress",
"webhook_type": "status.updated",
"request_header": "{\"Content-Type\": \"application/json\", \"X-Signature\": \"9188851d160b5b3aacfc946e4dde1f061b7e568662518942c927ddaf507f533d\", \"X-Signature-V2\": \"381236af514d3fb538579365ac5a24f2464ce1b8224c6e770c60d8201c43ecc5\", \"X-Signature-Simple\": \"4740131dc38f29e78a8508371979be74967d5307464494bd3148a03b4d6c8716\", \"X-Timestamp\": \"1792056139\", \"User-Agent\": \"DiditWebhook/2.0 +https://didit.me\"}",
"request_body": "{\"application_id\":\"aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee\",\"created_at\":1792056057,\"environment\":\"live\",\"event_id\":\"33333333-4444-5555-6666-777777777777\",\"sandbox_scenario\":null,\"session_id\":\"22222222-3333-4444-5555-666666666666\",\"status\":\"In Progress\",\"timestamp\":1792056139,\"vendor_data\":\"user-123\",\"webhook_type\":\"status.updated\",\"workflow_id\":\"44444444-5555-6666-7777-888888888888\",\"workflow_version\":3}",
"created_at": "2026-10-15T09:22:19.104233Z"
},
{
"uuid": "66666666-7777-8888-9999-000000000001",
"session_id": "22222222-3333-4444-5555-666666666666",
"request_url": "https://yourapp.com/webhooks/didit",
"response_status": 503,
"status": "In Progress",
"webhook_type": "status.updated",
"request_header": "{\"Content-Type\": \"application/json\", \"X-Signature\": \"a5e02a03404e1337a0198e6be15d34abbd053c658a0e51e5d0e78554213ef29b\", \"X-Signature-V2\": \"927e7cb770c94ce745939bff73f04aa200015f3bc64795ba46c2aaf78a6cedc5\", \"X-Signature-Simple\": \"e37b0d4c716c72bb5ae7127b9cc455d28ab4686e9e22312b4ec2327409a73302\", \"X-Timestamp\": \"1792056078\", \"User-Agent\": \"DiditWebhook/2.0 +https://didit.me\"}",
"request_body": "{\"application_id\":\"aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee\",\"created_at\":1792056057,\"environment\":\"live\",\"event_id\":\"33333333-4444-5555-6666-777777777777\",\"sandbox_scenario\":null,\"session_id\":\"22222222-3333-4444-5555-666666666666\",\"status\":\"In Progress\",\"timestamp\":1792056078,\"vendor_data\":\"user-123\",\"webhook_type\":\"status.updated\",\"workflow_id\":\"44444444-5555-6666-7777-888888888888\",\"workflow_version\":3}",
"created_at": "2026-10-15T09:21:18.412345Z"
}
]5xx oder 404 durchführt. Eine fehlgeschlagene Zustellung, auf die ein erfolgreicher Wiederholungsversuch folgt, erscheint daher als zwei Einträge mit derselben event_id in request_body.
Um eine einzelne Zustellung zu prüfen, verwenden Sie Webhook-Zustellung einer Sitzung abrufen. Um sie nach der Korrektur Ihres Endpoints erneut zu senden, verwenden Sie Webhook-Zustellung einer Sitzung erneut senden.Autorisierungen
Der API-Schlüssel Ihrer Anwendung, aus Entwickler -> API-Schlüssel in der Business Console. Der Primärschlüssel hat Vollzugriff. Ein benannter Schlüssel kann im Geltungsbereich eingeschränkt werden: keine, Lese- oder Schreibberechtigung pro Ressource, beschränkt auf bestimmte Workflows oder genehmigte Sitzungen, auf eine Liste von IP-Adressen und auf ein Ablaufdatum. 401 bedeutet, dass der Schlüssel falsch, widerrufen oder abgelaufen ist; 403 bedeutet, dass kein Schlüssel gesendet wurde, der Schlüssel keinen Zugriff auf diese Ressource oder Aktion hat oder die Anfrage von einer Adresse außerhalb seiner IP-Liste stammte; 404 bei einer Sitzungsroute bedeutet, dass die Sitzung außerhalb der Workflows oder Status des Schlüssels liegt. Ein Schlüssel ohne Medienzugriff erhält Bild-, Video- und PDF-URLs als null, und ein Schlüssel ohne Schreibberechtigung für Sitzungen erhält Sitzungslinks und Token als null. Siehe https://docs.didit.me/console/api-keys.
Pfadparameter
UUID der Verifizierungssitzung, Benutzer (KYC) oder Unternehmen (KYB): die von POST /v3/session/ zurückgegebene session_id. Der Server löst sie für beide Sitzungstypen auf.
Muss eine gültige UUID sein. Die Route stimmt nur mit wohlgeformten UUIDs überein, sodass ein fehlerhafter Wert vom URL-Router abgelehnt wird, bevor Anwendungscode ausgeführt wird, und die Antwort eine 404-HTML-Seite anstelle des unten gezeigten JSON-Antwortobjekts {"detail": ...} ist.
Antwort
Jede für die Sitzung erfasste Zustellung, die neueste zuerst.
Zustellungs-ID. Verwenden Sie diese als {webhook_uuid}, um diese Zustellung abzurufen oder erneut zu senden.
Die Sitzung, zu der die Zustellung gehört (die Sitzung im Pfad).
URL, an die die Zustellung gesendet wurde.
HTTP-Status, den Ihr Endpoint zurückgegeben hat. null, solange die Zustellung in der Warteschlange steht und noch nicht versucht wurde. Wenn keine HTTP-Antwort empfangen wurde, erfasst Didit einen eigenen Status: 504, wenn Ihr Endpoint nicht innerhalb von 5 Sekunden geantwortet hat, 503 bei einem Verbindungsfehler, 400, wenn die URL als unsicher abgelehnt wurde (z. B. eine private oder interne Adresse), und 404 bei jedem anderen Anfragefehler. 400 oder höher gilt als fehlgeschlagene Zustellung.
Sitzungsstatus zum Zeitpunkt der Ereigniserstellung, beispielsweise In Progress, Approved oder Declined.
Name des unterstützten Webhook-Ereignisses. Verwenden Sie genau diese Zeichenfolgen in subscribed_events; nicht unterstützte Werte werden abgelehnt.
status.updated, data.updated, user.status.updated, user.data.updated, business.status.updated, business.data.updated, activity.created, transaction.created, transaction.status.updated, travel_rule.status.updated, workflow.compliance_changed, transaction_rule_suggestions.created, auth.signup, auth.login, auth.login_failed, auth.password_reset_requested, auth.password_reset_completed, auth.mfa_changed, auth.new_device, auth.account_locked, investigator.report.ready, investigator.decision.automated, investigator.decision.overridden, investigator.decision.contested, investigator.question.raised, investigator.automation.paused, investigator.rfi.answered, investigator.rfi.overdue, investigator.drift.detected, investigator.sla.breached, investigator.qa.failed, investigator.external.report.ready JSON-Text (ein String) der von Didit gesendeten Anfrage-Header: Content-Type, X-Signature, X-Signature-V2, X-Signature-Simple, X-Timestamp und User-Agent. Parsen Sie ihn mit einem JSON-Parser. Er enthält Signaturen, niemals das Signiergeheimnis.
JSON-Text (ein String) der exakten Payload, die Didit gesendet hat, mit sortierten Schlüsseln, einschließlich event_id und timestamp. Parsen Sie ihn mit einem JSON-Parser; siehe Payload-Struktur. Bei einem berechtigungseingeschränkten Schlüssel ohne media: read sind Medien-URLs darin null; ohne sessions: write sind Sitzungs-Token und Links zur gehosteten Verifizierungsseite null. Ein auf diese Weise veränderter Body stimmt nicht mehr mit seinen Signaturen überein. Didit speichert den von Ihrem Endpoint zurückgegebenen Antwort-Body nicht.
Wann die Zustellung erstellt wurde.