Integracja danych z Fakturowni za pomocą webhooków
Ostatnia aktualizacja: 2026-01-26
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
Michał Piłat
nie widzę odpowiedzi na pytania, które padły wyżej jak i jednocześnie podbiję troszkę temat :)
Tak więc:
1. czy w przypadku zwrócenia w odpowiedzi błędu, POST będzie ponawiany np 3x co 30min?
2. czy prace nad rozszerzeniem funkcjonalności na dokumenty magazynowe faktycznie są zaplanowane? Napisanie rozwiązania, które pobiera wszystkie dokumenty magazynowe i szuka tych brakujących wydaje się przykrą opcją po obu stronach :)
2025-11-04 02:39
Adrian
Czy planowane jest dodanie webhooków dla zamówień?
Pozdrawiam.
2025-12-29 10:54
lukaszs
zapytania skierowałem do odpowiedniego działu.
Odpiszę po uzyskaniu odpowiedzi..
Pozdrawiam,
Łukasz
2025-12-31 08:57
Damian
W związku z nadchodzącym ksef, bardzo przydałaby się informacja o nowych fakturach kosztowych poprzez webhooka.
Pozdrawiam
2026-01-09 16:51
tomaszs
dziękuję za kontakt.
Zachęcam do dodania takiej propozycji na naszym Forum Sugesti. Zainteresowanie innych Użytkowników systemu daną sugestią może wpłynąć na proces dodawania nowych funkcji w systemie
Link do naszego Forum Sugestii wklejam poniżej:
https://sugester.fakturownia.pl/
Pozdrawiam, Tomasz
2026-01-13 16:12
Marcelo
2026-01-20 09:16
lukaszs
czy w przypadku zwrócenia w odpowiedzi błędu, POST będzie ponawiany np 3x co 30min?
Odpowiedź:
Próbujemy wykonać request 25 razy. Jeśli nie uda się wysłać requestu to deaktywujemy dany webhook.
czy prace nad rozszerzeniem funkcjonalności na dokumenty magazynowe faktycznie są zaplanowane? Napisanie rozwiązania, które pobiera wszystkie dokumenty magazynowe i szuka tych brakujących wydaje się przykrą opcją po obu stronach :)
Czy planowane jest dodanie webhooków dla zamówień?
Odpowiedź:
Tak, funkcjonalności są planowane i będą realizowane zgodnie z kolejką i priorytetem zadań.
Pozdrawiam,
Łukasz
2026-01-26 11:39
Dodaj komentarz