0

Problemy z połączeniem do API KSeF - kody błędów i timeout

TomaszWojcik2 kwi0 wyświetleń

Witam wszystkich!

Mam problem z integracją z API KSeF i szczerze mówiąc jestem troche zagubiony. Właśnie założyłem firmę i próbuje połącyzć mój system z KSeF żeby móc wysyłać faktury.

Na środowisku deo (ksef-demo.mf.gov.pl) czasami działa, ale często dostaję błędy tiemout albo jakieś dziwne kody błędów tyu 400 czy 401. Nie bardzo rozumiem co robię źle.

Moje pytania:

1. Jak często można wyssyłać zapytania do API? Jest jakiś limit?

2. Co oznacza błąd 401 - to chyba problem z autoryzacją ale token wydaje mi się poprawny

3. Czy ktoś ma jakieś gotowe przykłady w PHP? Próbowałem z dokumentacji ale coś mi nie gra

Jeszcze jedno - czy na produkcji (ksef.mf.gov.pl) API działa stabilniej niż na demo? Bo na demo czasem jest bardzo wolno.

Pomyślałem że może ktoś z was mał podobne problemy na początku i może podzieli się jakimiś tipami? Byłbym bardzo wdzięczny za pomoc bo deadline mi się zbliża a nie chce robić tego ręcznie przez pportal...

Z góry dziekuje za wszelkie podpowiedzi!

4 odpowiedzi

0
Cześć! Dokładnie przez to samo przechodzę! 😅 Też mam problemy z API na demo i czasem myślę że to ja coś robię źle... Co do twoich pytań: **Błąd 401** - u mnie też się zdarzał i rzeczywiście to autoryazcja. Sprawdź czy token nie wygasł, bo na demo ma chyba krótszy czas życia niż w dokumentacji napisali. I jeszcze jedna rzecz - czy headrs masz poprawnie ustawione? Bo ja miałam problem z Content-Type. **Limity zapytań** - nie jestem pena dokładnych liczb, ale słyszałam że na demo są bardziej restrykcyjne niż będą w produkcji. Może dlatego dostajesz timeouty? Z **PHP** to niestety nie pomogę bo ja używam gotowego oprogramowania, ale może ktoś inny się podzili przykładami? A co do **stabilności produkcji vs demo** - też się zastanawiam! W biurze wszyscy mówią że demo to tylko do testów i będzie llepiej na produkcji, ale szczerze mówiąc trochę się boję że w lutym jak wszyscy naraz zaczną to może być jeszcze gorzej 🙄 Jedna rada - zapisuj sobie dokładnie jakie błędy dostajesz i kiedy. Ja mam excela z tym i czasem widzę jakieś wzorce. Na przykład po 16:00 demo jest najwolniejsze. A deadline to rozumiem - luty 2026? Bo ja też się stresuję że zostało tak mało czasu na naukę... Dzięki za post, bo widzę że nie jestem sama z tymi problemami!
0
Hej! Przeszłam przez dokładnie te same problemy kilka miesięcy temu podczas integracji naszego systemu. Mogę potwierdzić że środowisko demo rzeczywiście bywa kapryśne 😅 **Co do twoich pytań:** **Błąd 401* - Monika ma rację, często to wygasły tken. Na demo mam wrażenie że tokeny żyją krócej niż deklarowane 20 minut. Sprawdź też czy masz poprawny heaer `Authorization: Bearer {token}` i czy Content-Type to `application/json`. U mnie pomagało też explicit ustawienie charset w headerach. **Limity zapytań** - na demo są bardziej restrykcyjne niż będą w produkcji. Ja miałam problemy gdy próbowałam wysyłać więcej niż 10-15 zapytań na minutę. Dodałam delay 2-3 sekundy między requestami i timeout'y się zmniejszyły. Na produkcji ma być lepiej. **PHP przykłady** - nie mam gotowca, ale sprawdź czy używasz cURL z odpowiednimi options (CURLOPT_SSL_VERIFYPEER, timeout'y). Widziałam że niektórzy mają problemy z certyfikatami SSL na demo. **Stabilność demo vs produkcja** - tak, na produkcji ma być stabilniej. Demo to głównie do testowania formatu XML-a, ale performance jest kiepski. Szczególnie po 16:00 jak pisała Monika - wtedy jest najgożej. **Praktyczna rada** - loguj dokładnie wszystkie błędy z timestamp'ami. Ja mam excela z tym i widzę wzorce (np. określone godziny kiedy demo leży). I nie polegaj na czasie życia tokenu - implementuj automatyczny refresh gdy dostaniesz 401. A czy testujesz na środowisku `ksef-demo.mf.gov.pl`? Bo widziałam błąd w twoim poście - jest bez 'm' przed 'f' 😊 Która technologia dokładnie? Bo może ktoś z forum ma gotowe snippety.
0
**Błąd 401** - dziewczyny mają rację, ale dodałbym jeszcze jeden szczegół: sprawdź czy nie masz problemu z **system clock drift**. API KSeF ma bardzo restrykcyjną walidację timestamp'ów w tokenach i jeśli zegar serwera jest przesunięty o więcej niż 30-60 sekund, dostaniesz 401 nawet z poprawnym tokenem. ```bash # Quick check synchronizacji czasu ntpdate -q pool.ntp.org ``` **Rate limiting** na demo to rzeczywiście ~10-15 req/min, ale uwaga - liczą się wszystkie endointy łącznie, nie tylko wysyłanie faktur. Jeśli robisz session check + invoice submit + status check to już masz 3 requesty. Implementuj retry logic z exponential backoff. **SSL/TLS na demo** - potwierdzam, certyfikaty bywają problematyczne. Demo używa Let's Encrypt z krótkim validity period i czasem masz certificate chain issues. W PHP ustaw: ```php curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true); curl_setopt($ch, CURLOPT_CAINFO, '/path/to/cacert.pem'); ``` **Co do stabilności prod vs demo** - prod będzie lepszy pod względem performance, ale rate limiting będzie ostrzejszy. Na demo MF jest "wyrozumiały", w lutym 2026 może być różnie gdy wszyscy naraz zaczną 😅 A ten błąd w URL (`ksef-demo.mf.gov.pl` zamiast `ksef-demo.mf.gov.pl`) to może być przyczyna części problemów - sprawdź czy nie masz literówki w configu. Która dokładnie wersja PHP? Bo starsze mają problemy z TLS 1.3 który API wymaga.
0
Witaj! Przeszłam przez dokładnie te same problemy kilka miesięcy temu przy wdrażaniu u klientów i mogę potwierdzić - demo żeczywiście potrafi być kapryśne 😅 **Co do twoich błędów:** **Błąd 401** - kolega Izabela ma rację co do system clock drift, ale sprawdź też czy nie masz problemu z **headerami**. U mnie pomagało explicit ustawienie: ``` Authorization: Bearer {token} Content-Type: application/json; charset=UTF-8 ``` **Timeouty** - na demo są częste, szczególnie po 15:00. Ja dodałam retry logic z opóźnieniem 5-10 sekund między próbami i znacznie się poprawiło. Na produkcji ma być lepiej, ale kto wie jak będzie w luytm gdy wszyscy naraz zaczną... **Rate limiting** - na demo to około 10-15 requestów na minutę, ale uwaga - liczy się **wszystko**: login, submit, status checck. Jeśli robisz pełen workflow to już msz 3-4 requesty na jedną fakturę. Dodaj delay 2-3 sekundy między operacjami. **PP** - nie mam gotowego przykładu, ale sprawdź czy masz poprawnie ustawione cURL optons, szczególnie SSL verification. Demo ma czasem problemy z certyfikatami. **Praktyczna rada** - loguj dokładnie timestamp każdego błędu. Ja mam excela z tym i widzę wzorce - np. między 16:00-18:00 demo praktycznie nie działa, a rano przed 10:00 jest najstabilniejsze. A btw, widzę błąd w URL w twoim poście - powinno być `ksef-demo.mf.gov.pl` (bez 'm'). To może być część problemu! Która wersja PHP używasz? Bo starsze mają problemy z TLS 1.3 który API wymaga.

Twoja odpowiedź

Zaloguj się, aby odpowiedzieć w tej dyskusji.