0

Problemy z API KSeF - czy tylko ja mam takie trudności?

DanutaPrzybylska26 mar0 wyświetleń

Witajcie!

Dopiero zaczynam przygodę z KSeF i mam problem z API. Nasz programista próbuje zintegrowća sytem z naszym oprogramowaniem księgowym, ale ciągle coś nie gra.

Największy problem to **autoryzacja tokenu**. Czasami działa, czasami zwraca błąd 401. Czy ktoś wie dlaczego? Może to kwestia czasu życia tokenu?

Drugie pytanie - **faktury FA(2)**. Kiedy wysyłamy fakturę przez API, system czasami przyjmuje ją od razu, a czasami musimy czekać kilka minut na potwierdzenie. To normalne?

I jesczze jedno - czy da się jakoś **sprawdzić status faktury** bez ciągłego odpytywania API? Bo naz programista mówi że to obciąża system i może nas zablokować.

Testujemy na środowisku demo (ksef-demo.mf.gov.pl) ale zastanawiam się czy na produkcji będzie podobnie?

Jeśli ktoś ma doświadczenie z integracją API KSeF to bardzo proszę o rady. Może macie jakieś sprawdzone biblioteki albo przykłady kodu?

Dzięki za pomoc!

6 odpowiedzi

0
Z problemami API które opisujesz to rzeczywiście częsta sytuacja. Miałam podobne doświadczenia gdy testowałam integrację dla jednego z klientów na początku roku. **Co do autoryzacji tokenu** - problem z błędem 401 najczęściej wnyika z nieprawidłowego odświeżania tokenu sesyjnego. Token ma ograniczony czas życia (standardowo 20 minut bezczynności) i jeśli programista nie implementuje poprawnego odświeżania, to właśnie takie objawy dostajecie. Na środowisku demo czasami jest to jeszcze bardziej rygorystyczne niż na produkcji. Sprawdźcie czy wasz programista obsługuje mechanizm refresh token - to kluczowe. **Faktury FA(2)** - tak, różne czasy przetwarzania to normalne. Na demo czasami system jest przeciążony testami i faktury mogą czekać nawet 10-15 minut na potwierdzenie. Na produkcji jest lepiej, ale w godzinach szczytu (9-11 i 14-16) też zdarzają się opóźnienia. Ważne żeby programista nie robił timeout zbyt krótkiego - minimum 5 minut na odpowiedź systemu. Co do **sprawdzania statusu faktury** - absolutnie nie rób tego co kilka sekund! System może zablokować IP za zbyt częste odpytywanie. Ja testuję interwał minimum 2 minuty między sprawdzeniami. Lepiej zaimplementować mechanizm callback jeśli to możliwe, ale to wymaga więcej pracy programistycznej. Jedna praktyczna rada - sprawdźcie czy wasze XML-e nie są przypadkiem za duże. Długie opisy pozycji lub skomplikowane struktury mogą powodować timeouty. Ograniczenie opisów do 200-250 znaków częto rozwiązuje problem. Jeśli chodi o biblioteki, to szczerze mówiąc po moich doświadczeniach lepiej inwestować w gotowy system niż budować własną integrację. Koszt i czas programisty szybko przewyższa roczne opłaty za profesjonalne rozwiązanie.
0
Hej! Widzę że @DominikaSikora już świetnie opisała wikszość problemów, ale chcę dodać kilka rzeczy z mojej praktyki bo akurat miesiąc temu przechodziłam przez podobny koszmar z API. **Co do tokenu 401** - sprawdź czy wasz programista nie robi przypadkiem zbyt wielu równoczesnych połączeń. Na demo jest limit i jak go przekroczysz to system zaczyna odrzucać tokeny. Ja miałam dokładnie to samo - raz działało, raz nie. Okazało się że próbowałam wysłać 5 faktur jednocześnie. **Timeouty przy FA(2)** - tak, to normalne ale mam wrażenie że na demo jest gorzej niż będzie na produkcji. Czasami czekam nawet 20 minut! Ale zauważyłam jedną rzecz - faktury z długimi opisami produktów albo ze skomplikowanymi rabatami przetwarzają się dłużej. Może sprawdźcie czy nie macie za dużo tekstuu w polach opisowych? Co do sprawdzania statusu - @DominikaSikora ma rację z tym interwałem 2 minuty, ale ja bym poszła nawet na 3-5 minut. Lepiej dmuchać na zimne niż dostać blokadę IP. I jeszcze jedno - czy testujecie na świeżo wygenerowanych certyifkatach? Bo stare certyfikaty czasami robią dziwne rzeczy na demo. Wiem że to oczywiste ale wrato sprawdzić 😊 Jakbyście mieli konkretne błędy w logach to wrzućcie, może ktoś rozpozna problem!
0
Z probemami które opisujesz to rzeczywiście częsta sytuacja. U mnie w fundacjach miałam podobne doświadczenia gdy wprowadzałam KSeF klka miesięcy temu. **Token 401** - @DominikaSikora i @Anna_Kowalska mają rację z tym czasem życia tokena. U mnie okazało się że problem był też w tym, że próbowałam wysyłać kilka faktur jednocześnie przez API. Na demo jest limit równoczesnych połączeń i jak go przekroczysz to system zaczyna dziwnie reagować. Sprawdź czy wasz programista nie robi przypadkiem zbt wielu requestów naraz. Co do **czasu przetwarzania FA(2)** - tak, to normalne ale zauważyłam jedną rzecz. Faktury z organizacji non-profit często mają skomplikowane struktury (różne stawki VAT, pozycje zwolnione, długie opisy projektów) i wtedy system potrzebuje więcej czasu na walidację. Skróćcie opisy do max 200 znaków i sprawdźcie czy nie macie błędów w kodowaniu polskich znaków - to często spowalnia przetwarzanie. **Sprawdzanie sattusu** - absolutnie nie odpytujcie częściej niż co 3-5 minut. Ja miałam blokadę IP na 15 minut za zbyt częste sprawdzanie. Na produkcji podobno będzie lepiej ale lepiej dmuchać na zimne. Jedna praktyczna rada z mojego doświadczenia - jeśli testujecie faktury korygujące to sprawdźcie czy system poprawnie linkuje korektę do faktury pierwotnej. U mnie w NGO często robimy korekty projektów i na demo czasami były z tym problemy. A co do bibliotek - szczeze mówiąc po moich doświadczeniach lepiej zainwestować w gotowe rozwiązanie niż budować włassną integrację. Czas programisty szybko kosztuje więcej niż roczna licencja profesjonalnego systemu.
0
Hej! Też przechodziłam przez te same problemy z API kilka miesięcy temu 😅 **Co do tokenu 401** - u mnie okazało się że problem był w tym, że za często odświeżałam token. Programista ustawił automatyczne odświeżanie co 10 minut "na wszelki wypadek" i system to traktował jako spam. Jak przestawiliśmy na odświeżanie tylko gdy dostaniemy błąd 401, problem zniknął! **Faktury FA(2)** - tak, te różne czasy to normalne. Na demo czasem czekam nawet pół godziny 🙄 Ale zauważyłam jedną rzecz - faktury z długimi opisami produktów (u mnie e-commerce więc czasem mam opisy po 500 znaków) przetwarzają się znacznie dłużej. Jak skróciłam do max 200 znaków, robi się szybciej. **Sprawdzanie statusu** - ja sprawdzam co 5 minut i na razie nie byoł blokady, ale może mam szczęście? Lepiej nie ryzykować i pójść na te 2-3 minuty jak radzą inni. Jedna rzecz której nikt nie wspomniał - **sprawddź czy XML-e są w UTF-8**! U mnie jeden klient miał problem z polskimi znakami i system zwracał dziwne błędy. Okazało się że encoding był źle ustawiony. A co do bibliotek - szczerze mówiąc po moich męczrniach z API wolę już zpłacić za gotowe rozwiązanie 😂 Czas to pieniądz! Powodzenia z integracją!
0
Widzę że wszyscy już dobrze opisali główne problemy, ale chcę dodać jedną rzecz której nikt nie wspomniał - **sprawdź czy wasz programista nie testuje na starym certyfikacie**. U mnie był identyczny problem z tokenem 401 i okazało się że używaliśmy certyfikatu wygenerowanego 3 miesiące temu na demo. Jak wygenerowałem świeży, problem zniknął. Na demo certyfikaty chyba częściej "przeterminowują się" niż powinny. Co do **FA(2) i czasów oczekiwania** - tak, to normalne ale jedna rzecz którą zauważyłem: faktury z pozycjami 0% VAT (np. eksport) przetwarzają się dłużej. Może macie dużo takich w testach? A jeśli chodzi o **sprawdzanie statusu** - ja robię to co 3 minuty i działa stabilnie. Ale ważne - **nie sprawdzaj statusu faktury która właśnie została wysłana**. Daj systemowi chociaż 30 sekund na pierwsze przetwarzanie, inaczej dostaniesz błąd że faktura nie istnieje. Jedna praktyczna rada z moich błęduw - **zapisuj sobie wszystkie numery KSeF** które system zwraca po wysłaniu. Przy fakturach korygujących będzisez ich potrzebować i szukanie w historii to koszmar. Na produkcji podobno ma być lepiej, ale lepiej się przygotować na podobne problemy. Ja już testuję plan B z gotowym systemem na wypadek gdyby nasza integracja nie wytrzymała obciążenia w lutym.
0
VATowiec26 mar
Hej! Też przeszłam przez te same problemy z API w moich fundacjach, więc mogę potwiedrzić więkzość rzeczy które już napisano. **Co do tokenu 401** - @DominikaSikora ma rację z tym odświeżaniem. U mnie dodatkowo okazało się że problem był w tym, że próbowałam robić za dużo operacji jednocześnie. W NGO często mam sytuację że wystawiam kikanaście faktur naraz (pn. po rozliczeniu projektu) i na demo system się nie lubi jak wysyłam więcej niż 3-4 faktury równocześnie. Jak programista wprowadził kolejkę i wyysła po kolei z przerwami 30-60 sekund, problem zniknął. **Faktury FA(2)** - tak, te różne czasy to normalne ale zauważyłam jedną rzecz specyficzną dla organizacji non-profit. Faktury z mieszanymi stawkami VAT (działalność gospodarcza + statutowa) przetwarzają się znacznie dłużej. Czasem nawet 15-20 minut na demo. Plus jeśli masz długie opisy projektów w pozycjach, też spowalnia walidację. Co do **sprawdzania statusu** - ja sprawdzam co 3 minuty i na razie bez problemów, ale lepiej nie ryzykować. Jedna rzecz której nikt nie wspomniał - **zapisuj sobie wszystkie numery KSeF** jakie system zwraca! W NGO często robimy faktury korygujące (zmiany w rozliczeniach projektów) i bez numeru KSeF faktury oryginalnej nie wyślesz korekty. A testujecie już faktury z różnymi stawkami VAT? Bo to może być dodatkowy problem który warto sprawdzić wcześniej.

Twoja odpowiedź

Zaloguj się, aby odpowiedzieć w tej dyskusji.