Получить список доступных принтеров
Получите принтеры подключённых агентов CloudPrint и выберите стабильный printer_id для сценария печати.
Назначение метода
Получите принтеры подключённых агентов CloudPrint и выберите стабильный printer_id для сценария печати.
Авторизация
Передавайте короткоживущий токен в Authorization: Bearer <access_token>.
Обязательные разрешения: printers:read
Запрос
Основной адрес API: https://public-api.cloudprint.me/api/v1/printers
Параметры
| Имя | Расположение | Тип | Обязательно | Описание | Ограничения |
|---|---|---|---|---|---|
limit | query | integer | нет | Поле контракта API; учитывайте указанные тип и ограничения. | min: 1; max: 100; default: 100 |
cursor | query | string | null | нет | Поле контракта API; учитывайте указанные тип и ограничения. | — |
Тело запроса
У метода нет тела запроса.
Примеры запросов
cURL
bash
curl -sS 'https://public-api.cloudprint.me/api/v1/printers?limit=100' \
-H "Authorization: Bearer $ACCESS_TOKEN"Ответ
HTTP-статус: 200 — Запрос выполнен.
Поля ответа
| Имя | Тип | Обязательно | Описание | Ограничения |
|---|---|---|---|---|
printers | array | да | Принтеры, обнаруженные агентами текущего аккаунта. | — |
next_cursor | string | null | да | Непрозрачный cursor следующей страницы; передавайте его без изменений. | — |
Пример ответа
json
{
"printers": [
{
"printer_id": "11111111-1111-4111-8111-111111111111",
"agent_id": "11111111-1111-4111-8111-111111111111",
"local_identifier": "zebra-zd421-usb-001",
"name": "Warehouse Label Printer",
"status": "online",
"last_seen_at": null,
"agent_name": "Warehouse PC agent",
"agent_hostname": "warehouse-pc",
"agent_status": "online",
"agent_last_seen_at": null,
"capabilities": {
"backend": "windows_native",
"language_profiles": [
null
],
"supports_custom_media": false,
"supports_orientation": false,
"supports_copies": false,
"supports_duplex": false,
"supports_color": false,
"supports_scaling": false,
"supports_offsets": false,
"supports_printable_area": false,
"supported_dpi": [
null
],
"supported_media_sizes": [
null
],
"supported_feed_types": [
"gap"
],
"darkness_min": 0,
"darkness_max": 30,
"speed_min": 1,
"speed_max": 14
},
"endpoint": {
"system_print_available": false,
"raw_passthrough_available": false,
"configuration_issue": null,
"os": "linux",
"driver_name": "CUPS",
"port_name": "ipp://printer.local/ipp/print",
"print_processor": "cups",
"data_type": "RAW",
"connection_type": "cups",
"default_media_profile_id": null,
"default_media_profile": null
}
}
],
"next_cursor": null
}Ошибки
| HTTP-статус | Описание |
|---|---|
401 | Авторизация отсутствует или недействительна. |
403 | Для операции недостаточно разрешений. |
422 | Поля запроса не прошли проверку. |
429 | Превышен лимит запросов; учитывайте Retry-After. |
500 | Внутренняя ошибка CloudPrint. |
Рекомендации по интеграции
- Сохраняйте
printer_id: локальное имя очереди предназначено для отображения и может измениться. - Проверяйте состояние, возможности и данные подключения принтера, прежде чем предлагать RAW-печать, двусторонний или цветной режим, размер носителя либо DPI.
Связанная документация
Подключение агента и выбор принтераУстановите агент CloudPrint, получите локальные очереди печати и сохраните стабильный printer_id с учётом возможностей принтера.Загрузить документ для печатиЗагрузите готовый PDF или явные RAW-команды языка принтера перед созданием задания CloudPrint.Создать задание печатиОтправьте загруженный документ CloudPrint на выбранный принтер с идемпотентностью и явными параметрами.