Połączenie agenta i wybór drukarki
Agent zgłasza kolejki systemowe przez połączenie wychodzące. Integracja odczytuje ich stan z Public API, zapisuje `printer_id` CloudPrint i sprawdza możliwości przed wydrukiem.
Sprawdź agenta
curl -sS 'https://public-api.cloudprint.me/api/v1/agents?limit=50' \
-H "Authorization: Bearer $ACCESS_TOKEN"{
"agents": [
{
"agent_id": "22222222-2222-4222-8222-222222222222",
"name": "Warehouse PC agent",
"status": "online",
"hostname": "warehouse-pc",
"version": "0.1.1",
"update": {
"status": "up_to_date",
"current_version": "0.1.1",
"latest_version": "0.1.1",
"minimum_supported_version": "0.1.0",
"channel": "stable",
"required": false
},
"last_seen_at": "2026-06-08T10:10:00+00:00"
}
],
"next_cursor": null
}Lista wymaga agents:read. Agent powinien być online; w diagnostyce sprawdzaj update.required i wersje.
Pobierz drukarki
curl -sS 'https://public-api.cloudprint.me/api/v1/printers?limit=100' \
-H "Authorization: Bearer $ACCESS_TOKEN"Skrócona odpowiedź z polami wyboru:
{
"printers": [
{
"printer_id": "11111111-1111-4111-8111-111111111111",
"agent_id": "22222222-2222-4222-8222-222222222222",
"name": "Warehouse Label Printer",
"status": "online",
"agent_name": "Warehouse PC agent",
"agent_status": "online",
"capabilities": {
"backend": "windows_native",
"language_profiles": [
{
"language": "zpl",
"version": "zpl2"
}
],
"supports_custom_media": true,
"supports_orientation": true,
"supports_copies": true,
"supported_dpi": [
203
]
},
"endpoint": {
"system_print_available": true,
"raw_passthrough_available": true,
"os": "windows",
"driver_name": "ZDesigner ZD421-203dpi ZPL",
"connection_type": "windows_spooler"
}
}
],
"next_cursor": null
}Zapisz właściwy identyfikator
Zapisz printer_id dla lokalizacji lub procesu. Pokaż administratorowi name, agent_name i status, ale nie wybieraj drukarki według nazwy. Po odtworzeniu kolejki wymagaj ponownego przypisania i testu.
Możliwości drukarki jako kontrakt
RAW wymaga zgodnego language_profiles[*].language i raw_passthrough_available=true. PDF wymaga druku systemowego lub mechanizmu renderowania. Przed użyciem niestandardowych opcji koloru, druku dwustronnego, orientacji, liczby kopii, nośnika, skali, przesunięcia i DPI sprawdzaj możliwości drukarki.
Paginacja i niedostępne drukarki
Obie listy zwracają next_cursor. Używaj ?limit=100&cursor=VALUE, aż otrzymasz null. Nie wysyłaj automatycznie zadań do niedostępnej drukarki i nie wybieraj po cichu drukarki z innej lokalizacji.
Znaczenie danych połączenia
Pola sterownika, portu, systemu operacyjnego i typu połączenia opisują lokalną kolejkę i służą do diagnostyki. Nie jest to adres wywoływany przez serwer. Dane dostępowe w URI są ukrywane.
Lista kontrolna przed wdrożeniem
- Korzystaj z wychodzącego połączenia agenta; nie wystawiaj portów drukarki do internetu.
- Zapisuj stabilny identyfikator drukarki, a nie tylko jej nazwę.
- Sprawdzaj format dokumentu, rozmiar strony i orientację przed utworzeniem zadania.
- Jawnie obsługuj status końcowy, ponowienia i ochronę przed podwójnym drukiem.