Przejdź do treści
API do Krajowego Systemu e-Faktur

KSeF w jednym kliknięciu

Wysyłaj i pobieraj e-faktury przez proste REST API. Uwierzytelnianie w KSeF, sesje, podpisy, tryb offline i UPO bierzemy na siebie — Ty wysyłasz XML FA(3) i odbierasz numer KSeF.

mTLS · TLS 1.2+FA(3) + UPOtest · demo · produkcjaOpenAPI 3
  • FA(3)
  • UPO
  • Tryb offline · KOD I i KOD II
  • Wysyłka wsadowa
  • Idempotency-Key
  • mTLS
  • Faktury zakupowe
  • Wiele firm na jednym koncie
  • OpenAPI
Jak to działa

Trzy kroki do pierwszej faktury

Bez umawiania wdrożenia i bez haseł do przechowywania. Konto, klucz, certyfikat — i wysyłasz.

  1. Załóż konto

    Podaj NIP — nazwę i adres firmy pobierzemy z GUS. To dane, na które wystawimy faktury za korzystanie z API. Potwierdź adres e-mail, a dostaniesz kod konta.

    NIP → GUS
  2. Wygeneruj klucz i CSR

    Generator działa w Twojej przeglądarce (WebAssembly) — klucz prywatny nie opuszcza komputera. Plik CSR wyślij jako załącznik .txt na csr@ksef.click, z kodem konta w temacie.

    csr@ksef.click
  3. Odbierz certyfikat i połącz się

    W odpowiedzi dostajesz certyfikat klienta, certyfikat CA i pakiet integracyjny: dokumentację, kontrakt OpenAPI, kolekcję Postmana i przykłady w C# i PHP. Pierwsze wywołanie to GET /api/v1/me.

    mTLS · api.ksef.click
Co dostajesz

Cały KSeF za jednym API

Integrujesz się raz, z prostym REST API. Zawiłości protokołu KSeF zostają po naszej stronie.

Wysyłka FA(3)

Zapisujesz XML FA(3) — sprawdzamy go schematem — i zlecasz wysyłkę pojedynczo albo w paczce do 100 faktur.

UPO i statusy

Każde zlecenie to asynchroniczna operacja z operationId. Status, wynik paczki, numer KSeF i UPO odczytasz jednym wywołaniem.

Tryb offline

Gdy KSeF nie odpowiada, faktura jest wystawiana offline i dosyłana automatycznie. Dostajesz dane do kodów QR: KOD I i KOD II.

Faktury zakupowe

Zlecasz synchronizację faktur zakupowych z KSeF, a potem pobierasz je listą z filtrami albo jako XML.

Wiele firm, jedno konto

Obsługujesz wiele podmiotów na jednym certyfikacie. Uprawnienia — wysyłka, synchronizacja, odczyt — są osobne dla każdej firmy.

Test, demo, produkcja

Każda firma należy do jednego środowiska KSeF. Zaczynasz na teście; produkcję włączamy po weryfikacji integracji.

Bezpieczeństwo

Bezpieczeństwo, które da się sprawdzić

Nie ma haseł ani kluczy API, które mogłyby wyciec. Jest certyfikat — i tylko Ty masz do niego klucz.

  • Klucz prywatny generujesz u siebie — w przeglądarce (WebAssembly) albo w OpenSSL. Do nas trafia wyłącznie CSR.
  • Każde połączenie to mTLS — certyfikat klienta z naszego Partner CA, TLS 1.2+. Bez ważnego certyfikatu żądanie nie dociera do API.
  • Unieważnienie działa natychmiast — wycofany certyfikat przestaje działać od razu, a rotacja odbywa się bez przestoju.
  • Produkcja po weryfikacji — nowe konto startuje na środowiskach testowych KSeF; produkcję włączamy po sprawdzeniu integracji.
Dla programistów

Pierwsze wywołanie w 10 sekund

Certyfikat w jednej ręce, klucz w drugiej — i masz odpowiedź z API.

Kontrakt OpenAPI, kolekcja Postmana i działający klient w C# i PHP są w pakiecie integracyjnym. Każdy POST wymaga nagłówka Idempotency-Key — ponowienie żądania niczego nie zdubluje.

Dokumentacja

bash — api.ksef.click
# Twoje dane partnera, limity i ważność certyfikatu
curl --cert partner.crt --key partner.key \
     https://api.ksef.click/api/v1/me
200 OK · application/json
{
  "partnerId": "b3f0c2a4-5d1e-4c8b-9a77-2e6f1d0c9b41",
  "name": "Twoja Firma Sp. z o.o.",
  "certificate": { "validTo": "2027-10-12T09:41:00Z" },
  "companyLimit": 10,
  "productionEnabled": false
}
FAQ

Pytania, które zadajecie najczęściej

Co dokładnie wysyłam na csr@ksef.click?

Wyłącznie plik CSR (żądanie podpisania certyfikatu) jako załącznik .txt — z adresu e-mail podanego przy rejestracji i z kodem konta w temacie. Nigdy nie wysyłaj klucza prywatnego: nie potrzebujemy go i nie chcemy go mieć.

Czy generator w przeglądarce jest bezpieczny?

Tak. Generator to moduł WebAssembly uruchamiany lokalnie — klucz powstaje w pamięci Twojej przeglądarki i od razu zapisujesz go na dysku. Strona generatora niczego nie wysyła na serwer. Jeśli wolisz, wygeneruj klucz i CSR poleceniem OpenSSL — instrukcja jest w dokumentacji.

Jak długo ważny jest certyfikat?

365 dni. Przed wygaśnięciem wyślij nowy CSR tak samo jak za pierwszym razem — stary certyfikat działa do końca ważności, więc rotacja odbywa się bez przestoju.

Czy do testów potrzebuję certyfikatu KSeF z Ministerstwa Finansów?

Nie. Środowisko testowe KSeF przyjmuje certyfikaty samopodpisane — wygenerujesz je w naszym generatorze. Na produkcji potrzebny jest certyfikat KSeF wydany przez MF dla danej firmy.

Kiedy dostanę dostęp do produkcji?

Nowe konto działa na środowiskach test i demo. Gdy integracja jest gotowa, napisz do nas — po weryfikacji włączymy produkcję dla Twojego konta.

Dlaczego podaję dane firmy?

Na tę firmę wystawiamy faktury za korzystanie z API. Dane pobieramy z rejestru REGON (GUS) na podstawie NIP-u — możesz je poprawić przed zapisaniem.

Ile firm mogę obsługiwać?

Domyślnie do 10 firm na jednym koncie; limit zwiększamy na prośbę. Uprawnienia (wysyłka, synchronizacja, odczyt) są nadawane osobno dla każdej firmy.

Zacznij integrację jeszcze dziś

Konto zakładasz w dwie minuty. Certyfikat dostajesz mailem.