Integracja danych z Fakturowni za pomocą webhooków
Ostatnia aktualizacja: 2025-03-14
Webhooki to - obok interfejsu programistycznego API - mechanizm pozwalający na komunikację w czasie rzeczywistym pomiędzy serwerami. Przeznaczony jest głównie dla deweloperów i zaawansowanych Użytkowników. W tym artykule wskażemy, gdzie w Fakturowni dostępna jest opcja konfiguracji webhooków.
 
Dowiedz się, jak skorzystać z tej funkcji, korzystając z interaktywnego przewodnika.
Czym są webhooki?
Webhooki stanowią mechanizm, który umożliwia jednemu systemowi powiadamianie innego systemu o określonych zdarzeniach w czasie rzeczywistym. Webhooki działają na zasadzie automatycznego wysyłania HTTP POST lub GET żądania do określonego adresu URL, gdy w systemie źródłowym wydarzy się coś istotnego. Webhooki są często używane w aplikacjach webowych do synchronizacji danych między różnymi usługami i systemami.
 
Gdzie skonfigurować webhooki w Fakturowni?
Aby mieć możliwość skonfigurowania webhooków:
.
- przejdź do zakładki Ustawienia > Ustawienia konta > Integracja; 
 
  
- następnie na liście znajdź sekcję Webhooki; 
  
 
- w dedykowanych polach uzupełnij dane dotyczące webhooków; 
  
 
- zatwierdź zmiany w ramach konta przyciskiem Zapisz na dole strony.
Zastosowanie webhooków zmniejsza obciążenie serwera aplikacji, ponieważ potrzebne informacje są automatycznie wysyłane w chwili, kiedy wystąpi określone zdarzenie. Nie ma więc konieczności odpytywania intefejsu API, czy zaszły jakiekolwiek zmiany. Powiadomienia o zdarzeniach są otrzymywane dokładnie w momencie ich zaistnienia, bez konieczności zbyt częstego odpytywania aplikacji.
Webhook posiada:
- 
	typ, który określa, kiedy webhook ma zostać wysłany (po stworzeniu/zaktualizowaniu/usunięciu klienta); 
- 
	URL, czyli adres URL, pod który wysyłany jest webhook; 
- 
	API token, czyli token uwierzytelniający, który użytkownik może dodać do webhooka i który będzie widoczny pod kluczem 'Api_token'. 
Webhook to POST wysyłany na wskazany URL. Struktura musi odpowiadać danym, które mają być przekazywane.
Aby komunikować zmiany w zakresie klientów prześlij odpowiedni POST, np: 
{
client_id: <unikalne ID reprezentujące klienta w bazie Fakturowni>,
client: { <słownik reprezentujący klienta w Fakturowni> },
app_name: 'fakturownia',
api_token: <api_token wpisany w webhooku przez uzytkownika>,
locale: I18n.locale (np. 'pl')
}
 
Faktury
Przykładowy request wysyłany przy utworzeniu faktury:
{
  "id": 111,
  "deal": {
    "name": "Chleb",
    "description": "razowy",
    "price": "12.3",
    "paid": false,
    "url": "https://test.fakturownia.net/f/06-2022/123,
    "date": "2022-07-26",
    "invoice_no": "61/2022",
    "kind": "vat",
    "status": "issued",
    "currency": "PLN",
    "external_ids": {
      "fakturownia": 111
    },
    "client": {
      "name": "Edward",
      "tax_no": "",
      "first_name": "",
      "last_name": "",
      "bank_account": "",
      "bank_account_id": null,
      "register_number": "",
      "skip_webhooks": true,
      "external_ids": {
        "fakturownia": 111
      }
    },
    "skip_webhooks": true
  },
  "app_name": "fakturownia",
  "api_token": "",
  "locale": "pl"
}
Klienci
Przykładowy request wysyłany przy utworzeniu klienta:
{
  "client": {
    "id": 111,
    "name": "Edward",
    "tax_no": "",
    "post_code": "",
    "city": "",
    "street": "",
    "first_name": "",
    "country": "",
    "email": "",
    "phone": "",
    "www": "",
    "fax": "",
    "street_no": null,
    "kind": "buyer",
    "bank": "",
    "bank_account": "",
    "bank_account_id": null,
    "shortcut": "Edek",
    "note": "",
    "last_name": "",
    "deleted": false,
    "discount": null,
    "payment_to_kind": "",
    "use_delivery_address": false,
    "delivery_address": "",
    "company": true,
    "mobile_phone": "",
    "register_number": "",
    "external_id": "",
    "external_ids": {
      "fakturownia": 111
    },
    "buyer": {},
    "skip_webhooks": true
  },
  "app_name": "fakturownia",
  "api_token": "",
  "locale": "pl"
}
Produkty
Przykładowy request wysyłany przy utworzeniu produktu:
{
  "product": {
    "id": 111,
    "name": "Chleb",
    "code": "",
    "price_net": "10.0",
    "tax": "5",
    "price_gross": "10.5",
    "currency": "PLN",
    "description": "",
    "stock_level": "0.0",
    "disabled": false,
    "external_ids": {
      "fakturownia": 111
    },
    "category_name": null,
    "skip_webhooks": true
  },
  "app_name": "fakturownia",
  "api_token": "",
  "locale": "pl"
}
Interaktywny przewodnik poprowadzi Cię krok po kroku na rzeczywistych ekranach Fakturowni, umożliwiając łatwe zrozumienie i wykonanie potrzebnych działań.
Kliknij Start aby rozpocząć, a następnie klikaj w niebieskie pola, lub użyj strzałek w prawym dolnym rogu do nawigowania po instrukcji.
Sprawdź również: 
Konfiguracja i sprzedaż produktów i usług online
Jak wystawić Zamówienie za pomocą żądania API?
Automatyczna fiskalizacja paragonów po utworzeniu przez API
Własne role - dostęp do opcji webhooki
Integracja API co to jest?
Powrót
Komentarze
wmajchrzak
Czy po wywołaniu Requestu fakturownia oczekuje jakiejś konkretnej odpowiedzi np. Header 200 OK? Zastanawiam się co w przypadku gdy na naszym serwerze pojawi się np. błąd lub zabraknie komunikacji. Czy fakturownia będzie ponawiać ten request do czasu aż dostanie prawidłową odpowiedź?
2019-06-28 09:36
piotr.wajs
dziękuję za zgłoszenie.
Skieruje Pana zapytanie do programistów. Jak tylko otrzymam odpowiedź przekażę ją niezwłocznie.
Pozdrawiam,
Piotr
2019-08-21 16:57
anonim
2022-08-03 17:22
piotr.wajs
jak tylko otrzymam informacje od programistów, przekażę ją Państwu.
2022-08-04 11:06
anonim
2022-09-30 14:07
Bartłomiej Paczek
odnośnie Pana ostatniej odpowiedzi. Gdzie można dodać kod pozwalający na dodanie nowych pól, jako przesyłanych w trakcie wywołania webhooka?
2023-10-18 22:58
Dominik
2024-06-24 18:41
Kacper_Seta
nie, dokumenty po stronie Wydatków i dokumenty magazynowe nie wywołują webhooków. Webhooki przekazują informacje o dokumentach przychodowych.
Pozdrawiam,
Kacper
2024-06-25 09:10
Klak
2024-09-18 11:58
lukaszs
dziękuję za przekazaną sugestie. Przekażę ją do działu rozwoju produktu.
Rozszerzenie webhookow do pozostałych typów dokumentów zostanie zgłoszone na kolejkę zadań do realizacji w przyszłości.
W przypadku pytań pozostaję do dyspozycji.
Pozdrawiam,
Łukasz
2024-09-19 09:34
Dodaj komentarz