Перейти к содержанию

Получить список доступных принтеров

Получите принтеры подключённых агентов CloudPrint и выберите стабильный printer_id для сценария печати.

GET/api/v1/printersВерсия API: v1operationId: listPrintersОткрыть в Markdown

Назначение метода

Получите принтеры подключённых агентов CloudPrint и выберите стабильный printer_id для сценария печати.

Авторизация

Передавайте короткоживущий токен в Authorization: Bearer <access_token>.

Обязательные разрешения: printers:read

Запрос

Основной адрес API: https://public-api.cloudprint.me/api/v1/printers

Параметры

ИмяРасположениеТипОбязательноОписаниеОграничения
limitqueryintegerнетПоле контракта API; учитывайте указанные тип и ограничения.min: 1; max: 100; default: 100
cursorquerystring | nullнетПоле контракта API; учитывайте указанные тип и ограничения.

Тело запроса

У метода нет тела запроса.

Примеры запросов

cURL

bash
curl -sS 'https://public-api.cloudprint.me/api/v1/printers?limit=100' \
  -H "Authorization: Bearer $ACCESS_TOKEN"

Ответ

HTTP-статус: 200 — Запрос выполнен.

Поля ответа

ИмяТипОбязательноОписаниеОграничения
printersarrayдаПринтеры, обнаруженные агентами текущего аккаунта.
next_cursorstring | 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, подключению локального агента и надёжной работе печати.