Zdarzenia webhook
DPay Web EID wysyła powiadomienia webhook dla różnych typów zdarzeń związanych z sesjami weryfikacyjnymi.
Lista zdarzeń
| Zdarzenie | Opis |
|---|---|
verification.created | Sesja weryfikacyjna utworzona |
verification.completed | Weryfikacja zakończona (wynik: verified lub inconclusive) |
verification.failed | Weryfikacja nieudana (wynik: rejected) |
verification.expired | Sesja wygasła (TTL lub DELETE) |
verification.step_completed | Krok weryfikacji zakończony (tylko sequential/dynamic) |
verification.test | Testowy webhook wysłany przez POST /webhooks/{id}/test |
Możesz subskrybować wybrane zdarzenia lub wszystkie używając wildcard ["*"] (domyślne).
Format payloadu
Wszystkie webhooks mają identyczną strukturę zewnętrzną:
{
"id": "evt_550e8400-e29b-41d4-a716-446655440000",
"type": "verification.completed",
"created_at": "2026-04-07T10:35:00+00:00",
"data": {
"verification_session_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"external_id": "zamowienie-12345",
"status": "completed",
"provider": "bank_transfer",
"result_status": "verified"
}
}
Pola payloadu
| Pole | Typ | Opis |
|---|---|---|
id | string | Unikalny ID zdarzenia (evt_<uuid>), również w nagłówku X-Webhook-Id |
type | string | Typ zdarzenia (z listy powyżej) |
created_at | datetime | Moment utworzenia zdarzenia po stronie HUB |
data.verification_session_id | uuid | UUID sesji weryfikacyjnej |
data.external_id | string|null | Twój zewnętrzny identyfikator (jeśli podany) |
data.status | string | Status sesji w momencie zdarzenia |
data.provider | string | Klucz dostawcy (bank_transfer, mobywatel, ...) |
data.result_status | string|null | Status wyniku (tylko dla completed i failed) |
Pole data.result_status jest obecne tylko dla zdarzeń verification.completed i verification.failed. Pozostałe typy zdarzeń tego pola nie zawierają.
Nagłówki HTTP
Każde wywołanie webhook zawiera następujące nagłówki:
| Nagłówek | Opis | Przykład |
|---|---|---|
X-Webhook-Id | Unikalny ID zdarzenia | evt_550e8400-e29b-41d4-a716-446655440000 |
X-Signature | Podpis HMAC-SHA256 | sha256=abc123... |
X-Timestamp | Unix timestamp wysłania | 1712487300 |
Content-Type | Typ zawartości | application/json |
User-Agent | Identyfikator nadawcy | DPayWebEID-Webhook/1.0 |
Zawsze weryfikuj nagłówek X-Signature przed przetworzeniem payloadu - patrz Podpis HMAC.
Przykłady payloadów per zdarzenie
verification.completed (verified)
{
"id": "evt_550e8400-e29b-41d4-a716-446655440000",
"type": "verification.completed",
"created_at": "2026-04-07T10:35:00+00:00",
"data": {
"verification_session_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"external_id": "zamowienie-12345",
"status": "completed",
"provider": "bank_transfer",
"result_status": "verified"
}
}
verification.failed (rejected)
{
"id": "evt_660e8400-e29b-41d4-a716-446655440001",
"type": "verification.failed",
"created_at": "2026-04-07T11:00:00+00:00",
"data": {
"verification_session_id": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
"external_id": "zamowienie-67890",
"status": "failed",
"provider": "mobywatel",
"result_status": "rejected"
}
}
verification.expired
{
"id": "evt_770e8400-e29b-41d4-a716-446655440002",
"type": "verification.expired",
"created_at": "2026-04-07T11:30:00+00:00",
"data": {
"verification_session_id": "c3d4e5f6-a7b8-9012-cdef-234567890123",
"external_id": "zamowienie-99999",
"status": "expired",
"provider": "bank_transfer"
}
}
verification.step_completed
Tylko dla trybów sequential i dynamic - wysyłane po zakończeniu każdego kroku.
{
"id": "evt_880e8400-e29b-41d4-a716-446655440003",
"type": "verification.step_completed",
"created_at": "2026-04-07T10:40:00+00:00",
"data": {
"verification_session_id": "d4e5f6a7-b8c9-0123-defa-345678901234",
"external_id": "scoring-12345",
"status": "processing",
"provider": "ais_psd2"
}
}
Pobieranie pełnego wyniku
Webhook zawiera tylko podstawowe informacje. Aby pobrać pełne dane (np. verified_data, confidence_score, rejection_reasons), wykonaj zapytanie do GET /verifications/{id}/result po otrzymaniu webhooka. Patrz Wyniki weryfikacji.