Jak CloudPrint drukuje na lokalnych drukarkach
CloudPrint łączy aplikację działającą w chmurze z drukarką znajdującą się w biurze, sklepie lub magazynie. Aplikacja korzysta wyłącznie z Public API, a lokalny agent bezpiecznie odbiera dozwolone zadania przez połączenie wychodzące.
Elementy rozwiązania
Serwer aplikacji klienta pobiera token, wybiera printer_id, przekazuje dokument i tworzy zadanie. CloudPrint przechowuje dokument oraz stan zadania. Lokalny agent zgłasza drukarki, rezerwuje pracę i przekazuje ją do kolejki systemowej albo zgodnego kanału RAW.
Dlaczego agent jest potrzebny
Drukarki zwykle działają w prywatnych sieciach i nie powinny być dostępne publicznie. Agent inicjuje połączenie na zewnątrz, dlatego wdrożenie nie wymaga przekierowania portów, VPN ani zdalnego pulpitu.
Statusy zadania
Nowe zadanie zaczyna od pending, następnie może przejść przez reserved i printing. Końcowe statusy to printed, failed oraz cancelled. printed potwierdza przyjęcie dokumentu przez kolejkę systemową, ale nie potwierdza fizycznego wydruku. Integracja powinna przechowywać print_job_id, tolerować przyszłe statusy pośrednie i pokazywać operatorowi czytelny wynik.
Bezpieczne ponowienia
Problemy sieciowe nie powinny powodować drugiego wydruku. Dla każdej operacji generuj stabilny Idempotency-Key. Ten sam klucz i te same dane zwracają pierwotne zadanie, natomiast zmienione dane powodują 409 Conflict.
Za co odpowiada Twoja aplikacja
CloudPrint przekazuje zadanie do wybranej drukarki i raportuje wynik potwierdzony przez agenta. Twoja aplikacja odpowiada za wybór właściwej drukarki, przygotowanie pliku, powiązanie zadania z zamówieniem lub innym dokumentem oraz sposób obsługi błędu przez operatora.