KSeF API - najczęstsze pułapki przy integracji z systemami ERP
Witam,
Po kilku miesiącach pracy z KSeF API chciałbym podzielić się doświadczeniami, które mogą zaoszczędzić wam sporo nerwów.
**Największe problemy jakie napotkałem:**
1. **Timeout'y na środowisku demo** - ksef-demo.mf.gov.pl czasami zwraca 504 przy większym obciążeniu. W produckji mam nadzieję że będzie lepiej, ale warto implementować retry z exponential backoff.
2. **Walidacja XML przed wysłaniem** - KSeF zwraca błędy walidacji które nie zawsze są czytelne. Polecam walidować przeciwko XSD lokalnie przed POST'em. Oszczędzi to sporo wywołań API.
3. **Obsługa sesji** - token sesji ma ważność 1h. Implementujcie refresh automatyczny, bo inaczej będziecie mieli nieprzyjemne niespodzianki w środku dnia.
4. **Rate limiing** - nie ma oficjalnych limitów w dokumentacji, ale empirycznie wygląda na ~10 req/s. Kolejkowanie requestów to must-have.
**Co się sprawdza:**
```typescript
// Prosty retry wrapper
const apiCall = async (fn, maxRetries = 3) => {
for (let i = 0; i < maxRetries; i++) {
try {
return await fn();
} catch (error) {
if (i === maxRetries - 1) throw error;
await new Promise(resolve => setTimeout(resolve, 2 ** i * 1000));
}
}
};
```
Czy ktoś z was miał podobne doświadczenia? Szczególnie interesuje mnie jak radzicie sobie z synchronizacją statusów faktur w czasie rzeczywistym.
3 odpowiedzi
Twoja odpowiedź
Zaloguj się, aby odpowiedzieć w tej dyskusji.