REST API dla integratorów KSeF
Walidacja XML, generator korekt FA(3) i pełna dokumentacja OpenAPI 3.1 - wszystko z jednym tokenem Bearer. Sandbox dla testów, dedykowane wsparcie dla planu API.
Bezpieczna autentykacja
Klucze API w formacie nk_(live|test)_*, w bazie tylko skrót SHA-256, szczegółowe scopes, ślad audytu unieważnień i wygaśnięć. Jawną postać klucza widzisz tylko raz.
Sandbox bez limitów
Klucze nk_test_* nie konsumują limitu walidacji/korekt, nie zapisują historii. Testuj integrację bez ryzyka i bez wpływu na limity.
Wysokie limity
Plan API: 600 req/min, 200 000 req/dzień. Walidacja i korekty bez limitu. Webhooks na zdarzenia, retry z exponential backoff (Faza 4).
Quickstart - 3 kroki
Od zera do pierwszego zwalidowanego XML w 5 minut.
Utwórz klucz API
environment: test dla pierwszej integracji (bez ryzyka). Skopiuj jawną postać sekretu - zobaczysz ją TYLKO RAZ.Sprawdź połączenie (health + me)
# Liveness - bez auth
curl https://api.naprawksef.pl/api/v1/health
# Whoami - z Twoim kluczem
curl https://api.naprawksef.pl/api/v1/me \
-H "Authorization: Bearer nk_test_<TWÓJ_KLUCZ>"Zwaliduj XML faktury
curl https://api.naprawksef.pl/api/v1/validate \
-X POST \
-H "Authorization: Bearer nk_test_<TWÓJ_KLUCZ>" \
-H "Content-Type: application/xml" \
--data-binary @faktura.xmlEndpointy v1
Base URL: https://api.naprawksef.pl/api/v1
/healthscope: -/mescope: auth/scenariosscope: scenarios | correction/validatescope: validate/correction/analyzescope: correction/correction/buildscope: correctionAutentykacja
Format klucza
Każdy klucz ma format nk_(live|test)_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.
- nk_live_* - produkcja: konsumuje limit, zapisuje historię, prawdziwe metryki.
- nk_test_* - sandbox: bez limitu, bez historii. Identyczna walidacja, identyczny generator korekt - tylko bez skutków ubocznych.
Bezpieczeństwo
- Jawną postać klucza widzisz TYLKO RAZ przy tworzeniu. W bazie tylko skrót SHA-256.
- Każdy klucz jest ograniczony do swoich scopes:
validate,correction,scenarios,webhooks,reports. - Możesz ustawić datę wygaśnięcia - klucz automatycznie się unieważnia po upływie terminu.
- Ręczne unieważnienie działa natychmiast. Ślad audytu w dashboardzie.
Kody błędów
| HTTP | Code | Znaczenie |
|---|---|---|
| 400 | INVALID_BODY / INVALID_XML | Body nie jest JSON-em / XML nie ma struktury KSeF. |
| 400 | FILE_TOO_LARGE | XML > 10 MB. |
| 400 | VALIDATION_ERROR | Walidacja Zod nie przeszła - szczegóły w details[]. |
| 401 | MISSING_AUTH | Brak nagłówka Authorization: Bearer ... |
| 401 | INVALID_KEY_FORMAT | Klucz nie pasuje do nk_(live|test)_<hex>. |
| 401 | INVALID_KEY | Klucz nieprawidłowy, wygasły lub unieważniony. |
| 403 | INSUFFICIENT_SCOPE | Klucz nie ma wymaganego uprawnienia. |
| 429 | QUOTA_EXCEEDED | Wykorzystano dzienny/miesięczny limit. Sprawdź X-Quota-* headers. |
| 500 | VALIDATION_FAILED / BUILD_FAILED | Wewnętrzny błąd serwisu - request_id w nagłówku, support@naprawksef.pl. |
SDK i narzędzia
OpenAPI 3.1
Pełna specyfikacja - generuj klientów z typami albo importuj do dowolnego narzędzia.
Pobierz specPostman collection
10 endpointów, automatyczne nagłówki Bearer i Idempotency-Key, przykładowe body i testy.
Pobierz collectionTypeScript / Node
@naprawksef/sdk - klient z typami, automatyczny retry, idempotency i weryfikacja podpisów webhooków. Zero zależności.
Przewodnik SDKPHP (Composer)
naprawksef/sdk - PHP 8.1+, działa z Laravel, Symfony i czystym PHP. Wystarczy ext-curl.
Przewodnik SDKPełne przewodniki
Każdy temat ma osobną stronę z przykładami w curl, TypeScript i PHP.
Quickstart
Od zera do pierwszej walidacji w 5 minut.
Autentykacja
Tokeny Bearer, scopes, sandbox vs live, ślad audytu.
Idempotency
Idempotency-Key, 24 h replay, obsługa konfliktów.
Rate limits
Limity na klucz, nagłówki X-RateLimit-*, obsługa 429.
Webhooks
Subskrypcje, podpis HMAC, retry, auto-disable.
Katalog błędów
Wszystkie kody błędów i mapowanie do wyjątków SDK.
Pytania techniczne?
Plan API zawiera dedykowane wsparcie inżynierskie z SLA 24 h.