Przejdź do głównej zawartości

Zdarzenia webhook

DPay Web EID wysyła powiadomienia webhook dla różnych typów zdarzeń związanych z sesjami weryfikacyjnymi.

Lista zdarzeń

ZdarzenieOpis
verification.createdSesja weryfikacyjna utworzona
verification.completedWeryfikacja zakończona (wynik: verified lub inconclusive)
verification.failedWeryfikacja nieudana (wynik: rejected)
verification.expiredSesja wygasła (TTL lub DELETE)
verification.step_completedKrok weryfikacji zakończony (tylko sequential/dynamic)
verification.testTestowy 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

PoleTypOpis
idstringUnikalny ID zdarzenia (evt_<uuid>), również w nagłówku X-Webhook-Id
typestringTyp zdarzenia (z listy powyżej)
created_atdatetimeMoment utworzenia zdarzenia po stronie HUB
data.verification_session_iduuidUUID sesji weryfikacyjnej
data.external_idstring|nullTwój zewnętrzny identyfikator (jeśli podany)
data.statusstringStatus sesji w momencie zdarzenia
data.providerstringKlucz dostawcy (bank_transfer, mobywatel, ...)
data.result_statusstring|nullStatus wyniku (tylko dla completed i failed)
informacja

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łówekOpisPrzykład
X-Webhook-IdUnikalny ID zdarzeniaevt_550e8400-e29b-41d4-a716-446655440000
X-SignaturePodpis HMAC-SHA256sha256=abc123...
X-TimestampUnix timestamp wysłania1712487300
Content-TypeTyp zawartościapplication/json
User-AgentIdentyfikator nadawcyDPayWebEID-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.