Druk z aplikacji webowej na lokalną drukarkę
Drukowanie z aplikacji webowej powinno zaczynać się na backendzie, a nie w oknie drukowania przeglądarki. Dzięki temu system wybiera właściwą drukarkę, może zapobiec duplikatom i pokazuje rzeczywisty status zadania.
Zalecana architektura
Frontend wysyła do własnego backendu identyfikator dokumentu biznesowego i wybranej lokalizacji. Backend generuje lub pobiera plik, wywołuje CloudPrint Public API i zwraca własny identyfikator operacji. client_secret oraz Bearer token nigdy nie trafiają do przeglądarki.
Wybór drukarki
Podczas konfiguracji pobierz drukarki z GET /api/v1/printers i zapisz stabilny printer_id. W interfejsie można pokazywać nazwę, agenta i status online, ale nazwa nie powinna być kluczem routingu.
Doświadczenie operatora
Po kliknięciu „Drukuj” pokaż stan przyjęcia, oczekiwania, drukowania i wynik. Zablokuj przypadkowe wielokrotne kliknięcie, ale umożliw świadomy ponowny wydruk jako nową operację. Przy błędzie pokaż czytelny komunikat oraz identyfikator potrzebny wsparciu.
Odporność na problemy sieciowe
Backend powinien używać stabilnego Idempotency-Key, zapisać print_job_id i kontynuować odczyt statusu po odświeżeniu strony. Po timeout nie zakładaj, że zadanie nie powstało — najpierw ponów ten sam bezpieczny request albo sprawdź zapisany wynik.
Czego unikać
Nie wywołuj agenta z przeglądarki, nie udostępniaj drukarek w internecie, nie przechowuj sekretów w localStorage i nie traktuj wysłania requestu jako potwierdzenia wydruku. Potwierdzeniem jest dopiero końcowy status zadania.
Lista kontrolna przed wdrożeniem
- Twórz zadania na backendzie zamiast polegać na oknie drukowania przeglądarki.
- Przechowuj dane API na backendzie i ograniczaj je do konta właściciela.
- Zapisuj stabilny identyfikator drukarki, a nie tylko jej nazwę.
- Jawnie obsługuj status końcowy, ponowienia i ochronę przed podwójnym drukiem.