LibGovPL4 to biblioteka do obsługi komunikacji z serwerami KSeF oraz bramkami JPK i e-deklaracji stworzona w języku Free Pascal (Windows/Unix, 32bit/64bit).
Obsługa bramki e-deklaracji i JPK
- podpisywanie danymi autoryzującymi lub podpisem kwalifikowanym
- wysyłanie dokumentów
- sprawdzenie statusu i pobranie UPO.
Obsługa komunikacji z serwerami KSeF
Obsługa większości funkcji API KSeF, zapytania i odpowiedzi mapowane są do obiektów.
- Sesja interaktywna
** nawiązywanie sesji przy pomocy tokena, podpisu kwalifikowanego lub Profilu Zaufanego
** obsługa dodatkowego szyfrowania AES przesyłanych dokumentów
** wysyłanie faktur, wyszukiwanie i pobieranie faktur (synchronicznie i asynchronicznie)
** pobieranie UPO
** zarządzanie uprawnieniami
** ukrywanie faktur, raportowanie scamu
** generowanie identyfikatorów wewnętrznych - Wysyłka wsadowa
** przygotowanie wysyłki podpisem kwalifikowanym lub Profilem Zaufanym
** wysłanie paczki dokumentów
** pobranie statusu przetwarzania i UPO - Interfejsy wspólne
** pobranie faktury
** pobranie statusu faktury
** weryfikacja faktury
Prosta implementacja XAdES – obsługa podpisu przez systemowe biblioteki CryptoAPI/CNG (Windows) lub bibliotekę PKCS#11 (CryptokiAPI – Windows/Unix).
Weryfikacja struktury pliku XML na podstawie szablon XSD (MSXML pod Windows oraz libxml2 pod Windows/Unix).
Podstawowe elementy biblioteki są wymienialne, np. do szyfrowania AES można użyć systemowych bibliotek Windows CryptoAPI/CNG lub opartych na bibliotece DCPcrypt.
Biblioteka nie wykorzystuje komercyjnych komponentów – dostarczam pełen kod źródłowy.
W zależności od użytych podstawowych elementów biblioteki może występować zależność do dodatkowych bibliotek współdzielonych:
- libxml2 – funkcje C14N (jeśli plik XML e-deklaracji nie będzie dostarczany w formie C14N), w przypadku wykorzystywania jako podstawowego elementu dostępu do zawartości plików XML (może zostać zastąpiony przez MSXML lub natywny fcl-xml) lub weryfikacji struktury pliku XML (może zostać zastąpiony przez MSXML w systemie Windows).
- OpenSSL – w przypadku połączeń HTTPS (w środowisku Windows może zostać zastąpiony przez WinHTTP).
Możliwość skompilowania biblioteki w formie biblioteki współdzielonej (.dll/.so) co umożliwia użycie biblioteki w innych językach programowania – dostępny jest interfejs dla języka Delphi w dowolnej wersji (testowano z Delphi 7 i nowszymi, https://github.com/michalgw/LibGovPL4Demo/tree/main/library/intf).
Wystawiam fakturę VAT i zapewniam wsparcie oraz dostęp do aktualizacji przez okres jednego roku.
W przygotowaniu biblioteka ActiveX/COM.
Przykłady i źródła biblioteki współdzielonej: https://github.com/michalgw/LibGovPL4Demo