Integracja danych z Fakturowni za pomocą webhooków

Utworzono: 2015-07-15
Ostatnia aktualizacja: 2024-06-25
Liczba odwiedzin posta: 7611

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

    Ustawienia konta w aplikacji Fakturownia z zaznaczoną opcją 'Integracja' oraz nazwą konta w systemie.

  2. następnie na liście znajdź sekcję Webhooki
    Ekran ustawień integracji w aplikacji Fakturownia z widocznymi polami do konfiguracji webhooków, logowania oraz integracji z Sugesterem.
     
  3. w dedykowanych polach uzupełnij dane dotyczące webhooków; 
    Ekran konfiguracji webhooków w aplikacji Fakturownia, z trzema typami webhooków: client:create, client:destroy, client:update oraz przyciskiem zapisz.
     
  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.

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.


Sprawdź również: 



Powrót


Komentarze

Avatar sugester medium
wmajchrzak
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ź?

2019-06-28 09:36


piotr.wajs
piotr.wajs
Odpowiedź główna   Dzień dobry,

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


Avatar sugester medium
anonim
czy oznacanie fv jako opłacona, powoduje wysłanie webhook?

2022-08-03 17:22


piotr.wajs
piotr.wajs
Odpowiedź główna   Dzień dobry, 
jak tylko otrzymam informacje od programistów, przekażę ją Państwu. 

2022-08-04 11:06


Avatar sugester medium
anonim
czy można dodac kwotę netto tam?

2022-09-30 14:07


Avatar sugester medium
Bartłomiej Paczek
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?

2023-10-18 22:58


Avatar sugester medium
Dominik
Czy webhooki przekazują też informacje o fakturach kosztowych?

2024-06-24 18:41


Kacper_Seta
Kacper_Seta
Odpowiedź główna   Dzień dobry,
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


Dodaj komentarz