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

Создать задание из URL

Получите документ по публичному HTTPS URL и одним запросом создайте обычный документ и задание CloudPrint.

POST/api/v1/print-jobs/from-urlВерсия API: v1operationId: createPrintJobFromUrlОткрыть в Markdown

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

Получите документ по публичному HTTPS URL и одним запросом создайте обычный документ и задание CloudPrint.

Авторизация

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

Обязательные разрешения: print_jobs:write

Запрос

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

Параметры

ИмяРасположениеТипОбязательноОписаниеОграничения
Idempotency-KeyheaderstringнетПоле контракта API; учитывайте указанные тип и ограничения.maxLength: 128

Тело запроса

Тип содержимого: application/json

ИмяТипОбязательноОписаниеОграничения
document_urlstring (uri)даПубличный HTTPS URL, по которому CloudPrint скачает документ.example: "https://files.example.com/labels/order-100045.pdf"
document_filenamestring | nullнетИмя файла для определения формата и диагностики оператором.example: "order-100045.pdf"
document_formatstring | nullнетЯвный формат печати, например pdf или raw.enum: pdf, raw; example: "pdf"
document_raw_languagestring | nullнетЯзык команд RAW-документа, например ZPL или EPL.enum: tspl, zpl, cpcl, escpos; example: null
printer_idstring (uuid)даСтабильный UUID целевого принтера в CloudPrint.
copiesintegerнетКоличество копий, которое CloudPrint передаст принтеру.min: 1; max: 99; example: 1
intentstringнетБизнес-назначение задания для диагностики и подходящих настроек по умолчанию.enum: document, shipping_label, product_label, invoice, packing_slip, a4_document, receipt; example: "shipping_label"
color_modestringнетРежим цвета; default использует настройку принтера.enum: default, monochrome, color; example: "default"
duplex_modestringнетЗапрошенный односторонний или двусторонний режим печати.enum: default, simplex, duplex_long_edge, duplex_short_edge; example: "default"
media_width_mmnumber | nullнетЗапрошенная ширина носителя или этикетки в миллиметрах.min: 1; max: 2000; example: 58
media_height_mmnumber | nullнетЗапрошенная высота носителя или этикетки в миллиметрах.min: 1; max: 2000; example: 40
dpiinteger | nullнетЦелевое разрешение печати в точках на дюйм; используйте значение принтера.min: 72; max: 2400; example: 203
scale_modestringнетОпределяет, сохранять размер документа или вписать его в носитель.enum: none, fit; example: "none"
orientationstringнетОриентация страницы; default использует настройку принтера.enum: default, portrait, landscape; example: "default"
offset_x_mmnumberнетГоризонтальное смещение печати в миллиметрах.min: -2000; max: 2000; example: 0
offset_y_mmnumberнетВертикальное смещение печати в миллиметрах.min: -2000; max: 2000; example: 0
margin_top_mmnumberнетДополнительное поле печати в миллиметрах.min: 0; max: 2000; example: 0
margin_right_mmnumberнетДополнительное поле печати в миллиметрах.min: 0; max: 2000; example: 0
margin_bottom_mmnumberнетДополнительное поле печати в миллиметрах.min: 0; max: 2000; example: 0
margin_left_mmnumberнетДополнительное поле печати в миллиметрах.min: 0; max: 2000; example: 0

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

cURL

bash
curl -sS https://public-api.cloudprint.me/api/v1/print-jobs/from-url \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -H 'Content-Type: application/json' \
  -H 'Idempotency-Key: order-100045-label' \
  -d '{
    "document_url": "https://files.example.com/labels/order-100045.pdf",
    "document_filename": "order-100045.pdf",
    "printer_id": "11111111-1111-4111-8111-111111111111",
    "copies": 1,
    "intent": "shipping_label",
    "media_width_mm": 58,
    "media_height_mm": 40,
    "dpi": 203
  }'

Ответ

HTTP-статус: 201 — Ресурс создан.

Поля ответа

ИмяТипОбязательноОписаниеОграничения
print_job_idstring (uuid)даСтабильный UUID задания печати; сохраните его для проверки статуса и поддержки.
document_idstring (uuid)даСтабильный UUID, возвращаемый после успешной загрузки документа.
document_mime_typestringдаMIME-тип переданного документа.example: "application/pdf"
document_formatstringдаЯвный формат печати, например pdf или raw.enum: pdf, raw; example: "pdf"
document_raw_languagestring | nullдаЯзык команд RAW-документа, например ZPL или EPL.enum: tspl, zpl, cpcl, escpos; example: null
printer_idstring (uuid)даСтабильный UUID целевого принтера в CloudPrint.
statusstringдаТекущее состояние ресурса или процесса; учитывайте допустимые значения конкретного метода.enum: pending, reserved, printing, printed, failed, cancelled; example: "pending"
copiesintegerдаКоличество копий, которое CloudPrint передаст принтеру.min: 1; max: 99; example: 1
intentstringдаБизнес-назначение задания для диагностики и подходящих настроек по умолчанию.enum: document, shipping_label, product_label, invoice, packing_slip, a4_document, receipt; example: "shipping_label"
color_modestringдаРежим цвета; default использует настройку принтера.enum: default, monochrome, color; example: "default"
duplex_modestringдаЗапрошенный односторонний или двусторонний режим печати.enum: default, simplex, duplex_long_edge, duplex_short_edge; example: "default"
media_width_mmnumber | nullдаЗапрошенная ширина носителя или этикетки в миллиметрах.min: 1; max: 2000; example: 58
media_height_mmnumber | nullдаЗапрошенная высота носителя или этикетки в миллиметрах.min: 1; max: 2000; example: 40
dpiinteger | nullдаЦелевое разрешение печати в точках на дюйм; используйте значение принтера.min: 72; max: 2400; example: 203
scale_modestringдаОпределяет, сохранять размер документа или вписать его в носитель.enum: none, fit; example: "none"
orientationstringдаОриентация страницы; default использует настройку принтера.enum: default, portrait, landscape; example: "default"
offset_x_mmnumberдаГоризонтальное смещение печати в миллиметрах.min: -2000; max: 2000; example: 0
offset_y_mmnumberдаВертикальное смещение печати в миллиметрах.min: -2000; max: 2000; example: 0
margin_top_mmnumberдаДополнительное поле печати в миллиметрах.min: 0; max: 2000; example: 0
margin_right_mmnumberдаДополнительное поле печати в миллиметрах.min: 0; max: 2000; example: 0
margin_bottom_mmnumberдаДополнительное поле печати в миллиметрах.min: 0; max: 2000; example: 0
margin_left_mmnumberдаДополнительное поле печати в миллиметрах.min: 0; max: 2000; example: 0
created_atstring (date-time)даВременная метка CloudPrint в формате ISO 8601.
reserved_atstring | null (date-time)даВременная метка CloudPrint в формате ISO 8601.
started_atstring | null (date-time)даВременная метка CloudPrint в формате ISO 8601.
completed_atstring | null (date-time)даВременная метка CloudPrint в формате ISO 8601.
failure_reasonstring | nullдаМашиночитаемая или диагностическая причина неудачной печати.

Пример ответа

json
{
  "print_job_id": "11111111-1111-4111-8111-111111111111",
  "document_id": "11111111-1111-4111-8111-111111111111",
  "document_mime_type": "application/pdf",
  "document_format": "pdf",
  "document_raw_language": null,
  "printer_id": "11111111-1111-4111-8111-111111111111",
  "status": "pending",
  "copies": 1,
  "intent": "shipping_label",
  "color_mode": "default",
  "duplex_mode": "default",
  "media_width_mm": 58,
  "media_height_mm": 40,
  "dpi": 203,
  "scale_mode": "none",
  "orientation": "default",
  "offset_x_mm": 0,
  "offset_y_mm": 0,
  "margin_top_mm": 0,
  "margin_right_mm": 0,
  "margin_bottom_mm": 0,
  "margin_left_mm": 0,
  "created_at": "2026-08-06T12:00:00Z",
  "reserved_at": null,
  "started_at": null,
  "completed_at": null,
  "failure_reason": null
}

Ошибки

HTTP-статусОписание
400Проверьте формат и параметры запроса.
401Авторизация отсутствует или недействительна.
403Для операции недостаточно разрешений.
409Запрос конфликтует с текущим состоянием ресурса.
413Тело запроса превышает допустимый размер.
415Формат содержимого не поддерживается.
422Поля запроса не прошли проверку.
429Превышен лимит запросов; учитывайте Retry-After.
500Внутренняя ошибка CloudPrint.

Рекомендации по интеграции

  • Источник должен быть доступен по публичному HTTPS-адресу; localhost, частные сети, встроенные данные доступа и небезопасные перенаправления отклоняются.
  • Используйте короткоживущую ссылку с минимальными правами и достаточным сроком действия.
  • Соблюдайте те же правила идемпотентности и отслеживания статуса.

Связанная документация

Руководства по интеграции CloudPrint, подключению локального агента и надёжной работе печати.