KSeF REST API – dokumentacja techniczna (integracyjna)
dla Krajowego Systemu e-Faktur

KSeF API logo

Wprowadzenie

Niniejsza dokumentacja opisuje interfejs REST API umożliwiający kompleksową realizację obsługi faktur ustrukturyzowanych w systemie KSeF.

Szczegółowa definicja interfejsu API jest dostępna w formacie zgodnym z OpenAPI i można ją pobrać w formie pliku JSON.

API dostępne jest również w formie interfejsu klienta Swagger UI.

Rejestracja i utworzenie konta

Aby móc przetestować możliwości REST KSEF API niezbędne jest przeprowadzenie procesu rejestracji, czyli założenia dedykowanego konta w serwisie. W tym celu należy wejść na stronę Rejestracja i wypełnić odpowiedni formularz. Warunkiem koniecznym do korzystania z systemu serwisu jest akceptacja Regulaminu. Poprawne wypełnienie formularza i kliknięcie przycisku Zarejestruj powoduje utworzenie konta w systemie oraz automatyczną jego aktywację.

Podczas pierwszego logowania generowany jest automatycznie identyfikator wraz z odpowiadającym mu kluczem. Identyfikator i klucz można znaleźć po zalogowaniu na swoje konto w zakładce Klucze API. Identyfikator ma charakter publiczny i nie wymaga ochrony, natomiast klucz ma charakter prywatny i nie powinien być udostępniany osobom trzecim.

Uwaga! Aby skorzystać z operacji udostępnionych w REST KSEF API, należy zapisać token dostępowy, wygenerowany odpowiednio dla środowiska produkcyjnego lub testowego KSeF oraz włączyć dostęp do danego typu środowiska.

Środowiska

Dla ułatwienia integracji naszym Klientom w obszarze faktur KSeF, przygotowaliśmy dwa tożsame ze sobą środowiska: testowe oraz produkcyjne, które są spięte ze środowiskiem testowym i produkcyjnym KSeF.

Środowisko testowe

Pełną funkcjonalność wszystkich udostępnionych operacji w interfejsie REST KSEF API oraz bibliotek, można sprawdzić korzystając z udostępnionego środowiska testowego.

Środowisko testowe REST KSEF API jest zintegrowane ze środowiskiem testowym Krajowego Systemu e-Faktur i jest dostępne pod adresem: https://ksefapi.pl/api-test/

Wszystkie dostępne w ramach testowego środowiska REST KSEF API operacje są również dostępne z poziomu udostępnionych bibliotek.

Dzięki środowisku testowemu REST KSEF API możliwe jest sprawdzenie wszystkich operacji oferowanych w płatnych pakietach KSeF, bez konieczności ich wykupowania.

Uwaga! Aby skorzystać z operacji REST KSEF API na środowisku testowym, wystarczy zapisać token dostępowy wygenerowany w środowisku testowym KSeF i  aktywować dostęp do tego typu środowiska.

Środowisko produkcyjne

Środowisko produkcyjne REST KSEF API jest zintegrowane ze środowiskiem produkcyjnym Krajowego Systemu e-Faktur i jest dostępne pod adresem: https://ksefapi.pl/api/

Uwaga! Aby skorzystać z operacji REST KSEF API na środowisku produkcyjnym, należy zapisać token dostępowy, wygenerowany w środowisku produkcyjnym KSeF,  aktywować dostęp do tego typu środowiska oraz wykupić dowolny pakiet KSEF.

Uwierzytelnienie i autoryzacja zapytań

Udostępniony interfejs API wykorzystuje standardowy protokół HTTP. Operacje (metody) API wykorzystują metody HTTP GET lub POST. Każde wywołanie operacji wymaga autoryzacji zapytania. Autoryzacja wykonywanych zapytań możliwa jest z wykorzystaniem Basic Authentication

Uwierzytelnienie Basic Authentication

Specyfikacja stosowanej metody autoryzacji: HTTP Authentication: Basic Authentication. Przygotowanie nagłówka autoryzacyjnego dla zapytania wysłanego do naszego serwisu tą metodą polega na zakodowaniu odpowiednio przygotowanego ciągu funkcją Base64 i przesłania wyniku w nagłówku HTTP.

Przykład

Ciąg wejściowy do funkcji Base64 ma postać:

str = key_id + ':' + key

Gdzie:

  • key_id – identyfikator klucza API, który można znaleźć na zakładce Klucze API.
  • key – klucz API, któego wartość można znaleźć na zakładce Klucze API.

Gdyby identyfikator klucza miał wartość test_id, a klucz miał wartość test_key, to ciągiem wejściowym dla funkcji Base64 będzie ciąg:

str = "test_id:test_key"

Po zastosowaniu funkcji Base64 otrzymujemy:

Base64(str) = dGVzdF9pZDp0ZXN0X2tleQ==

Tą wartość należy przesłać jako wartość Basic w nagłówku z danymi do autoryzacji. Ostatecznie:

Authorization: Basic dGVzdF9pZDp0ZXN0X2tleQ==
Przykład

Poniższy przykład przedstawia zapytanie, które można wywołać w środowisku testowym z poziomu przeglądarki internetowej. Po prostu skopiuj i wklej go w pasku adresu w przeglądarce:

https://test_id:test_key@www.ksefapi.pl/api-test/invoice/generate

Gdzie:

  • test_id – przykładowa wartość identyfikatora klucza. Aby uwierzytelnić się w środowisku produkcyjnym lub testowym, parametr powinien zawierać poprawny identyfikator klucza używanego do autoryzacji,
  • test_key – przykładowa wartość klucza. Aby uwierzytelnić się w środowisku produkcyjnym lub testowym, parametr powinien zawierać poprawną wartość klucza używanego do autoryzacji.

Klucz oraz identyfikator są generowane przez użytkownika po zalogowaniu się na swoje konto (zakładka Klucze API i tokeny KSeF). Pole Token Klienta KSeF musi zostać uzupełnione tokenem wygenerowanym w systemie KSeF zgodnie z instrukcją opisaną w Przewodniku po KSeF:

faktury ksef - konfiguracja

Kliknij tutaj, aby zobaczyć dalszą część dokumentacji KSeF REST API która została udostępniona na dedykowanej witrynie