Jak zintegrować aplikację chmurową z drukarką fiskalną bez VPN i konfiguracji sieci?
Czy kiedykolwiek zastanawiałeś się, jak aplikacje takie jak Shopify czy Square łączą się z drukarkami fiskalnymi w tysiącach sklepów na całym świecie? Odpowiedź brzmi: przez inteligentne API Gateway. BinSoft Gate to polska implementacja tego samego wzorca architektonicznego – pozwala Twojej aplikacji SaaS komunikować się z drukarkami fiskalnymi bez konieczności otwierania portów, konfiguracji VPN czy publicznych adresów IP.
Problem: Firewall vs. aplikacja chmurowa
Każdy developer aplikacji webowych prędzej czy później napotyka ten sam problem: jak połączyć aplikację działającą w chmurze z urządzeniem fizycznym znajdującym się za firewallem klienta?
Tradycyjne podejścia wymagają:
- Publicznego adresu IP u klienta (kosztowne, często niemożliwe)
- Konfiguracji przekierowań portów (skomplikowane, niebezpieczne)
- Połączeń VPN (drogie w utrzymaniu, problematyczne dla mniej technicznych klientów)
BinSoft Gate rozwiązuje ten problem przez odwrócenie kierunku komunikacji. Zamiast Twojej aplikacji łączącej się z drukarką, to drukarka (poprzez bsxPrinter) łączy się z Twoją aplikacją przez pośrednika w chmurze.
Architektura
Twoja Aplikacja SaaS → BinSoft Gate API → bsxPrinter → Drukarka Fiskalna
Kluczowe założenia:
1. Twoja aplikacja wysyła zlecenia wydruku do API BinSoft Gate
2. bsxPrinter cyklicznie odpytuje serwer BinSoft Gate o nowe zlecenia
3. Komunikacja jest zawsze inicjowana od strony klienta (bsxPrinter)
4. Brak konieczności otwierania portów przychodzących u klienta
Implementacja: Konkretny przykład
Krok 1: Konfiguracja bsxPrinter u klienta
W programie bsxPrinter: Start → Ustawienia → Monitorowanie → BinSoft Gate
- Zaznacz: "Korzystaj z bramy BinSoft Gate"
- System wygeneruje unikalny klucz (np. b83b3de7b4705790bd4d42e7e7d2701d4dc03033
)
Krok 2: Wysłanie zlecenia wydruku z Twojej aplikacji
Żądanie:
https://api.bsxprinter.pl/insert?key=b83b3de7b4705790bd4d42e7e7d2701d4dc03032&data=<root><receipts><receipt><item name="Produkt" price="1.00" /></receipt></receipts></root>
Odpowiedź:
json
{"success":true,"id":"663037"}
Krok 3: Sprawdzenie statusu wydruku
Żądanie:
https://api.bsxprinter.pl/check?key=b83b3de7b4705790bd4d42e7e7d2701d4dc03032&id=663037
Odpowiedź:
json
{
"success": true,
"data": {
"id": "663037",
"type": "RECEIPT",
"status": "2",
"nodoc": "33/2025-08-08/23",
"nida": "33",
"nidb": "23",
"ndate": "2025-08-08 10:29:38",
"nerrorcode": "0",
"nerrorstr": null
}
}
Interpretacja: Paragon został pomyślnie wydrukowany 8 sierpnia 2025 o 10:29:38 i otrzymał numer 33/2025-08-08/23.
Kiedy BinSoft Gate to najlepszy wybór?
Idealne scenariusze: - Aplikacje SaaS obsługujące wielu klientów geograficznie rozproszonych - Systemy e-commerce z integracją POS - Aplikacje mobilne wymagające wydruku fiskalnego - Rozwiązania, gdzie klient nie ma kompetencji IT do konfiguracji sieci
Ograniczenia: - Wymaga stałego połączenia internetowego - Opóźnienia wynikające z polling (zwykle 2-5 sekund) - Zależność od dostępności serwera BinSoft Gate
Bezpieczeństwo i prywatność danych
BinSoft oferuje możliwość uruchomienia własnego serwera BinSoft Gate. Firma udostępnia kod źródłowy w PHP, co pozwala na: - Pełną kontrolę nad danymi klientów - Dostosowanie do wymagań RODO - Integrację z własnymi systemami autoryzacji - Skalowanie według potrzeb
Planujesz integrację aplikacji SaaS z drukarkami fiskalnymi? Nie wiesz, czy BinSoft Gate sprawdzi się w Twoim przypadku użycia? Skontaktuj się z nami – pomożemy Ci przeanalizować wymagania i wybrać optymalną metodę integracji.
FAQ - Pytania techniczne
1. Jakie są limity API BinSoft Gate?
BinSoft Gate nie specyfikuje limitów, ale w praktyce API jest projektowane dla typowego ruchu handlowego. Dla aplikacji o wysokim wolumenie warto rozważyć własny serwer.
2. Czy mogę wysyłać inne komendy niż paragony?
Tak, API obsługuje pełny format XML bsxPrinter, włączając faktury, e-faktury KSeF, komendy konfiguracyjne i inne operacje.
3. Co się dzieje, gdy bsxPrinter jest offline?
Zlecenia są przechowywane na serwerze BinSoft Gate i zostaną dostarczone, gdy bsxPrinter ponownie połączy się z internetem.
[1] Dokumentacja techniczna bsxPrinter, rozdział "BinSoft Gate", bsxprinter.pl