API KSeF - Dokumentacja techniczna

Przewodnik dla programistow po integracji z Krajowym Systemem e-Faktur. Poznaj endpointy, metody autoryzacji i przyklady implementacji.

Wprowadzenie do API KSeF

API KSeF to interfejs programistyczny udostepniony przez Ministerstwo Finansow, umozliwiajacy integracje zewnetrznych systemow z Krajowym Systemem e-Faktur. API jest bezplatne i oparte na standardzie REST.

Podstawowe informacje

  • Typ: REST API
  • Format danych: JSON / XML
  • Autoryzacja: Token sesji + pieczec/podpis kwalifikowany
  • Srodowisko produkcyjne: ksef.mf.gov.pl
  • Srodowisko testowe: ksef-test.mf.gov.pl

Architektura API

Schemat komunikacji:

┌─────────────────┐      ┌──────────────┐      ┌─────────────┐
│  Twoj System    │─────▶│   API KSeF   │─────▶│   KSeF DB   │
│  (Klient API)   │◀─────│   Gateway    │◀─────│  (Faktury)  │
└─────────────────┘      └──────────────┘      └─────────────┘
        │                       │
        │  1. Autoryzacja       │
        │  2. Wysylanie faktur  │
        │  3. Pobieranie faktur │
        │  4. UPO/statusy       │
        └───────────────────────┘

Glowne endpointy API

POST /api/online/Session/InitSigned

Inicjalizacja sesji

Rozpoczyna sesje autoryzowana. Wymaga podpisanego tokenu inicjalizacyjnego. Zwraca token sesji do uzytku w kolejnych wywolaniach.

Przykladowa odpowiedz:

{"sessionToken": {"token": "abc123...", "context": {...}}}
POST /api/online/Invoice/Send

Wysylanie faktury

Wysyla fakture do KSeF. Faktura musi byc w formacie XML zgodnym ze schema FA(2). Zwraca numer referencyjny i status przetwarzania.

Wymagane naglowki:

SessionToken: <token_sesji>
Content-Type: application/xml
GET /api/online/Invoice/Get/{ksef_reference}

Pobieranie faktury

Pobiera fakture po numerze referencyjnym KSeF. Zwraca pelna strukture faktury w formacie XML.

GET /api/online/Invoice/Status/{reference}

Status faktury

Sprawdza status przetwarzania faktury. Uzywaj do monitorowania czy faktura zostala poprawnie przetworzona przez KSeF.

GET /api/online/Invoice/UPO/{reference}

Pobranie UPO

Pobiera Urzedowe Poswiadczenie Odbioru (UPO) dla faktury. UPO potwierdza przyjetie faktury przez KSeF i jest dowodem jej wystawienia.

Autoryzacja w API

API KSeF wymaga dwuetapowej autoryzacji:

  1. 1

    Inicjalizacja sesji

    Przygotuj token inicjalizacyjny, podpisz go pieczecia/podpisem kwalifikowanym i wyslij do endpointu InitSigned. Otrzymasz token sesji.

  2. 2

    Uzywanie tokenu sesji

    Dolacz token sesji do kazdego wywolania API w naglowku SessionToken. Sesja jest wazna przez okreslony czas (domyslnie 24h).

Wazne

Do automatycznej integracji (bez udzialu czlowieka) wymagana jest pieczec kwalifikowana. Podpis kwalifikowany wymaga interakcji uzytkownika przy kazdej sesji.

Format faktury XML

Faktury wysylane do KSeF musza byc zgodne ze schema FA(2) opublikowana przez Ministerstwo Finansow. Przykladowa struktura:

<?xml version="1.0" encoding="UTF-8"?>
<Faktura xmlns="http://crd.gov.pl/wzor/2023/06/29/12648/">
  <Naglowek>
    <KodFormularza kodSystemowy="FA (2)">FA</KodFormularza>
    <WariantFormularza>2</WariantFormularza>
    <DataWytworzeniaFa>2026-01-15T10:30:00</DataWytworzeniaFa>
  </Naglowek>
  <Podmiot1>
    <!-- Dane sprzedawcy -->
  </Podmiot1>
  <Podmiot2>
    <!-- Dane nabywcy -->
  </Podmiot2>
  <Fa>
    <!-- Dane faktury: pozycje, sumy, VAT -->
  </Fa>
</Faktura>

Pelna dokumentacja schemy dostepna jest na stronie ksef.mf.gov.pl .

Srodowisko testowe

Przed wdrozeniem produkcyjnym obowiazkowo przetestuj integracje na srodowisku testowym KSeF:

Dane srodowiska testowego:

URL API:
https://ksef-test.mf.gov.pl/api
Portal testowy:
https://ksef-test.mf.gov.pl
Testowe NIP-y:
Dostepne w dokumentacji MF
Wsparcie:
ksef@mf.gov.pl

Potrzebujesz pomocy z integracja?

Oferujemy uslugi integracji KSeF dla firm. Wdrozymy API, skonfigurujemy autoryzacje i przeszkolimy Twoj zespol.