Przejdź do treści

Integracja danych z Fakturowni za pomocą webhooków

Wyświetleń: 13334 3 min czytania

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.  

Instrukcja

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: .

  1. przejdź do zakładki Ustawienia > Ustawienia konta > Integracja
  2. następnie na liście znajdź sekcję Webhooki  
  3. w dedykowanych polach uzupełnij dane dotyczące webhooków;   
  4. 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.  

WAŻNE!  Nie wysyłamy webhooka, jeśli coś pójdzie nie tak. Tylko akcje tworzenia/edycji/usunięcia zakończone sukcesem generują webhooki.

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"
}
Sprawdź działanie systemu korzystając z interaktywnej instrukcji

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.

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?

Czy ten wpis był pomocny?

Udostępnij

Główna odpowiedź Piotr Wajszczuk 2019-08-21 16:57

Dzień dobry,

dziękuję za zgłoszenie.
Skieruje Pana zapytanie do programistów. Jak tylko otrzymam odpowiedź przekażę ją niezwłocznie.
Pozdrawiam,
Piotr

Komentarze (17)

Łukasz Szałajski
Łukasz Szałajski 2026-01-26 11:39 Odpowiedź
Dzień dobry, 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
Anonymous 2026-01-20 09:16
Czy kiedykolwiek ktokolwiek uzyska odpowiedź czy zawsze jest to "Odpiszę po uzyskaniu odpowiedzi.." która nigdy nie nadchodzi
Tomasz Skimina 2026-01-13 16:12 Odpowiedź
Dzień dobry, 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
Anonymous 2026-01-09 16:51
Witam W związku z nadchodzącym ksef, bardzo przydałaby się informacja o nowych fakturach kosztowych poprzez webhooka. Pozdrawiam
Łukasz Szałajski
Łukasz Szałajski 2025-12-31 08:57 Odpowiedź
Dzień dobry, zapytania skierowałem do odpowiedniego działu. Odpiszę po uzyskaniu odpowiedzi.. Pozdrawiam, Łukasz
Anonymous 2025-12-29 10:54
Dzień dobry, Czy planowane jest dodanie webhooków dla zamówień? Pozdrawiam.
Anonymous 2025-11-04 02:39
Witam, 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 :)
Łukasz Szałajski
Łukasz Szałajski 2024-09-19 09:34 Odpowiedź
Dzień dobry, 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
Anonymous 2024-09-18 11:58
Czy planujecie rozszerzenie webhookow do pozostałych typów dokumentów? To dość ograniczona lista
Kacper Seta 2024-06-25 09:10 Odpowiedź
Dzień dobry, nie, dokumenty po stronie Wydatków i dokumenty magazynowe nie wywołują webhooków. Webhooki przekazują informacje o dokumentach przychodowych. Pozdrawiam, Kacper
Anonymous 2024-06-24 18:41
Czy webhooki przekazują też informacje o fakturach kosztowych?
Anonymous 2023-10-18 22:58
Dzień dobry, 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?
Anonymous 2022-09-30 14:07
czy można dodac kwotę netto tam?
Piotr Wajszczuk 2022-08-04 11:06 Odpowiedź
Dzień dobry, 
jak tylko otrzymam informacje od programistów, przekażę ją Państwu. 
Anonymous 2022-08-03 17:22
czy oznacanie fv jako opłacona, powoduje wysłanie webhook?
Piotr Wajszczuk 2019-08-21 16:57 Główna odpowiedź
Dzień dobry, dziękuję za zgłoszenie. Skieruje Pana zapytanie do programistów. Jak tylko otrzymam odpowiedź przekażę ją niezwłocznie. Pozdrawiam, Piotr
Anonymous 2019-06-28 09:36
Dzień dobry. 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ź?