Skip to content

Zdarzenia webhooków

Jakie zdarzenia inFakt wysyła na adres webhooka i jak wygląda ich treść, z przykładami.

Zaktualizowano

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.

Type to search…

↑↓ wybór↵ otwórzEsc zamyka