Zdarzenia
| Zdarzenie | Wysyłane, gdy |
|---|---|
draft_invoice_created |
utworzono fakturę (w statusie szkicu) |
invoice_paid |
fakturę oznaczono jako opłaconą |
invoice_deleted |
fakturę usunięto |
send_to_ksef_success |
KSeF przyjął fakturę |
send_to_ksef_error |
KSeF odrzucił fakturę lub wysyłka się nie powiodła |
async_invoice_creation_success |
zadanie asynchroniczne utworzyło fakturę |
async_invoice_creation_error |
zadanie asynchroniczne zakończyło się błędem |
Zdarzenia wysyłane na dany adres wybiera się przy dodawaniu webhooka w aplikacji inFakt.
Struktura treści zdarzenia
| Pole | Typ | Znaczenie |
|---|---|---|
event.name |
string | nazwa zdarzenia z tabeli powyżej |
event.uuid |
string | identyfikator zdarzenia, taki sam przy każdym ponowieniu |
event.created_at |
string | data i godzina utworzenia zdarzenia (ISO 8601) |
event.retry_counter |
integer | liczba dotychczasowych prób dostarczenia zdarzenia |
resource |
object | dane zasobu, którego dotyczy zdarzenie |
Przy dodawaniu webhooka wybiera się zawartość zdarzeń: pełne dane lub bez danych poufnych. W drugim przypadku resource zawiera tylko identyfikator, a numer faktury, kwoty i dane nabywcy należy pobrać z API.
Przykłady
{
"event": {
"name": "draft_invoice_created",
"uuid": "149bdab6-a7dd-466f-b464-297b6057c5ea",
"created_at": "2026-10-02T10:42:23.103+02:00",
"retry_counter": 0
},
"resource": {
"id": 34701,
"uuid": "cfaff2b4-12fc-4d9e-acae-d43bb637aa5b",
"kind": "vat",
"number": "1/10/2026",
"status": "draft",
"currency": "PLN",
"net_price": 100000,
"tax_price": 23000,
"gross_price": 123000,
"left_to_pay": 123000,
"invoice_date": "2026-10-02",
"payment_date": "2026-10-16",
"payment_method": "transfer",
"client_id": 17165,
"client_company_name": "Testowa Firma sp. z o.o."
}
}{
"event": {
"name": "draft_invoice_created",
"uuid": "0f800e72-21c0-4845-a4df-8066e3140908",
"created_at": "2026-10-02T10:42:23.118+02:00",
"retry_counter": 0
},
"resource": {
"uuid": "cfaff2b4-12fc-4d9e-acae-d43bb637aa5b"
}
}{
"event": {
"name": "send_to_ksef_success",
"uuid": "5c1d2e3f-4a5b-4c6d-8e7f-9a0b1c2d3e4f",
"created_at": "2026-10-02T11:30:45.120+02:00",
"retry_counter": 0
},
"resource": {
"request_uuid": "22e55c83-b43c-4de8-bd5f-914e8669b562",
"invoice_uuid": "ee2484ce-052c-495a-9ce1-5bd3ae8314aa",
"invoice_kind": "vat",
"status": "success",
"ksef_number": "<numer-ksef>",
"status_description": "<opis>",
"timestamps": {
"request_created_at": "2026-10-02 11:30:30 +0200",
"request_finished_at": "2026-10-02 11:30:44 +0200"
}
}
}{
"event": {
"name": "send_to_ksef_error",
"uuid": "432cc5fc-f7ca-4afa-9420-7d6410fc0940",
"created_at": "2026-10-02T11:30:30.656+02:00",
"retry_counter": 0
},
"resource": {
"request_uuid": "22e55c83-b43c-4de8-bd5f-914e8669b562",
"invoice_uuid": "ee2484ce-052c-495a-9ce1-5bd3ae8314aa",
"invoice_kind": "vat",
"status": "error",
"ksef_number": null,
"status_description": "Wystąpił problem podczas otwarcia sesji.",
"timestamps": {
"request_created_at": "2026-10-02 11:30:30 +0200",
"request_finished_at": "2026-10-02 11:30:30 +0200"
}
}
}{
"event": {
"name": "async_invoice_creation_success",
"uuid": "74ee6bd1-2f41-48c5-97b0-9fb1e96c3a8e",
"created_at": "2026-10-02T11:19:40.140+02:00",
"retry_counter": 0
},
"resource": {
"invoice_task_reference_number": "65627dcd-7b9f-4922-b899-a4cf4e7d158c",
"processing_code": 201,
"processing_description": "Faktura stworzona",
"invoice_kind": "invoice",
"invoice_uuid": "e83f0027-1129-4d61-a453-0bb43194e40f",
"timestamps": { "task_created_at": "2026-10-02 11:19:39 +0200" }
}
}{
"event": {
"name": "async_invoice_creation_error",
"uuid": "8a9b0c1d-2e3f-4a5b-9c6d-7e8f9a0b1c2d",
"created_at": "2026-10-02T11:19:40.140+02:00",
"retry_counter": 0
},
"resource": {
"invoice_task_reference_number": "65627dcd-7b9f-4922-b899-a4cf4e7d158c",
"processing_code": 422,
"processing_description": "Nie udało się stworzyć faktury",
"invoice_kind": "invoice",
"invoice_uuid": null,
"invoice_errors": { "client_company_name": ["Proszę podać nazwę firmy."] },
"timestamps": { "task_created_at": "2026-10-02 11:19:39 +0200" }
}
}W przykładzie z pełnymi danymi pokazano najważniejsze pola faktury; pełny obiekt resource zawiera ich więcej.