CloudPrint Developer Platform dla aplikacji klientów
Developer Platform służy produktom drukującym dla niezależnych klientów. Każdego klienta reprezentuje App Installation: właściciel istniejącego konta może sam zatwierdzić dostęp, a Twój produkt może utworzyć konto zarządzane.
Wybierz model podłączenia
Zwykłe API Credentials wystarczą, jeśli serwer drukuje tylko na koncie Twojej firmy. Gdy niezależny klient ma już konto CloudPrint, użyj App Installation zatwierdzanej przez właściciela. Jeśli konto klienta tworzy Twój produkt, wybierz proces kont zarządzanych.
Granica modelu komercyjnego
Drukowanie przez API Credentials należące do własnego konta CloudPrint jest bezpłatne. Developer Platform jest produktem komercyjnym, ponieważ pozwala aplikacji łączyć konta niezależnych klientów. Dostęp produkcyjny, wsparcie i warunki handlowe są uzgadniane z firmą w pisemnej umowie.
Do kogo należy aplikacja i konto
Developer Application należy do Twojego Developer Account. Na każdym koncie klienta aplikacja może mieć jedną App Installation. Klient pozostaje właścicielem swojego konta i sam zatwierdza uprawnienia. Do powiązania klienta używaj identyfikatora ze swojego systemu, a nie CloudPrint account_id.
Jak przebiega podłączenie
Utwórz Developer Account, zarejestruj Application, dodaj klucz publiczny RS256 i wyślij klientowi link instalacyjny. Po powrocie użytkownika sprawdź state, zapisz installation_id przy identyfikatorze klienta, podpisz jednorazowe potwierdzenie JWT aplikacji i wymień je na Installation Access Token. Tego tokenu używaj do wywołań Print API.
Nie mieszaj danych dostępowych
Klucz prywatny uwierzytelnia Developer Application, ale sam nie daje dostępu do /api/v1/*. Installation Access Token działa tylko dla jednego konta CloudPrint i w zakresie zatwierdzonych uprawnień. Dla każdej wymiany twórz nowe potwierdzenie JWT, przechowuj token prawie do wygaśnięcia i nie zapisuj kluczy ani tokenów w logach.
Które identyfikatory zapisać
Przechowuj identyfikator klienta ze swojego systemu, application_id, installation_id, CloudPrint account_id, zatwierdzone uprawnienia i stan instalacji. Stałym powiązaniem z kontem klienta jest installation_id; access token jest krótkotrwały. Nowy token nie tworzy kolejnej instalacji i nie wymaga ponownej zgody.
Zawieszenie i odwołanie dostępu
Rozróżniaj stany suspended i revoked. Zawieszoną instalację można wznowić, a odwołanej nie można przywrócić — kolejne podłączenie otrzyma nowy installation_id. Ograniczenie uprawnień działa od razu, a ich rozszerzenie wymaga ponownej zgody właściciela konta.