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 integrację zewnetrznych systemow z Krajowym Systemem e-Faktur. API jest bezpłatne i oparte na standardzie REST.

Podstawowe informacje

  • Typ: REST API
  • Format danych: JSON / XML
  • Autoryzacja: Token sesji + pieczęć/podpis kwalifikowany
  • Środowisko produkcyjne: ksef.mf.gov.pl
  • Środowisko 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       │
        └───────────────────────┘

Główne 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 być 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 numerże referencyjnym KSeF. Zwraca pełna 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 każdego wywolania API w naglowku SessionToken. Sesja jest ważna przez okreslony czas (domyslnie 24h).

Ważne

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

Format faktury XML

Faktury wysylane do KSeF muszą być zgodne że 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>

Pełna dokumentacja schemy dostępna jest na stronie ksef.mf.gov.pl .

Środowisko testowe

Przed wdrozeniem produkcyjnym obowiazkowo przetestuj integrację na środowisku testowym KSeF:

Dane środowiska testowego:

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

Potrzebujesz pomocy z integracja?

Oferujemy usługi integracji KSeF dla firm. Wdrozymy API, skonfigurujemy autoryzacje i przeszkolimy Twoj zespol.

Program #1 do faktur

WAPRO

Sprawdź ofertę