Połączenie agenta i wybór drukarki
Agent zgłasza kolejki systemowe przez połączenie wychodzące. Integracja czyta stan z Public API, zapisuje CloudPrint printer_id i ocenia capabilities 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 ID
Zapisz printer_id dla lokalizacji lub procesu. Pokaż administratorowi name, agent_name i status, ale nie routuj po nazwie. Po odtworzeniu kolejki wymagaj ponownego przypisania i testu.
Capabilities jako kontrakt
RAW wymaga zgodnego language_profiles[*].language i raw_passthrough_available=true. PDF wymaga druku systemowego lub renderera. Przed color, duplex, orientation, copies, media, scale, offsets i DPI sprawdzaj możliwości.
Paginacja i offline
Obie listy zwracają next_cursor. Używaj ?limit=100&cursor=VALUE do null. Nie wysyłaj automatycznie na offline i nie wybieraj po cichu drukarki innej lokalizacji.
Znaczenie endpoint
Driver, port, OS i connection type są diagnostyką lokalnego spoolera, a nie adresem wywoływanym przez backend. Credentials w URI są redagowane.
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.