Przejdź do treści

Utwórz zadanie z adresu URL

Pobierz dokument z publicznego URL HTTPS i jednym żądaniem utwórz dokument oraz zadanie CloudPrint.

POST/api/v1/print-jobs/from-urlWersja API: v1operationId: createPrintJobFromUrlOtwórz w Markdown

Działanie metody

Pobierz dokument z publicznego URL HTTPS i jednym żądaniem utwórz dokument oraz zadanie CloudPrint.

Uwierzytelnianie

Przekaż krótkotrwały token w Authorization: Bearer <access_token>.

Wymagane uprawnienia: print_jobs:write

Żądanie

Podstawowy adres API: https://public-api.cloudprint.me/api/v1/print-jobs/from-url

Parametry

NazwaPołożenieTypWymaganeOpisOgraniczenia
Idempotency-KeyheaderstringniePole kontraktu API; uwzględnij podany typ i ograniczenia.maxLength: 128

Treść żądania

Typ zawartości: application/json

NazwaTypWymaganeOpisOgraniczenia
document_urlstring (uri)takPubliczny URL HTTPS, z którego CloudPrint pobierze dokument.example: "https://files.example.com/labels/order-100045.pdf"
document_filenamestring | nullnieNazwa pliku używana do wykrycia formatu i diagnostyki operatora.example: "order-100045.pdf"
document_formatstring | nullnieJawny format druku, na przykład pdf albo raw.enum: pdf, raw; example: "pdf"
document_raw_languagestring | nullnieJęzyk poleceń danych RAW, na przykład ZPL lub EPL.enum: tspl, zpl, cpcl, escpos; example: null
printer_idstring (uuid)takStabilny UUID drukarki docelowej w CloudPrint.
copiesintegernieLiczba kopii, które CloudPrint zleci drukarce.min: 1; max: 99; example: 1
intentstringnieCel biznesowy zadania, używany w diagnostyce i doborze rozsądnych ustawień domyślnych.enum: document, shipping_label, product_label, invoice, packing_slip, a4_document, receipt; example: "shipping_label"
color_modestringnieTryb koloru; default pozostawia wybór konfiguracji drukarki.enum: default, monochrome, color; example: "default"
duplex_modestringnieŻądany tryb druku jednostronnego lub dwustronnego.enum: default, simplex, duplex_long_edge, duplex_short_edge; example: "default"
media_width_mmnumber | nullnieŻądana szerokość nośnika lub etykiety w milimetrach.min: 1; max: 2000; example: 58
media_height_mmnumber | nullnieŻądana wysokość nośnika lub etykiety w milimetrach.min: 1; max: 2000; example: 40
dpiinteger | nullnieDocelowa rozdzielczość druku w punktach na cal; użyj wartości obsługiwanej przez drukarkę.min: 72; max: 2400; example: 203
scale_modestringnieOkreśla, czy zachować rozmiar dokumentu, czy dopasować go do nośnika.enum: none, fit; example: "none"
orientationstringnieOrientacja strony; default używa ustawień drukarki.enum: default, portrait, landscape; example: "default"
offset_x_mmnumberniePoziome przesunięcie druku w milimetrach.min: -2000; max: 2000; example: 0
offset_y_mmnumberniePionowe przesunięcie druku w milimetrach.min: -2000; max: 2000; example: 0
margin_top_mmnumbernieDodatkowy margines druku w milimetrach.min: 0; max: 2000; example: 0
margin_right_mmnumbernieDodatkowy margines druku w milimetrach.min: 0; max: 2000; example: 0
margin_bottom_mmnumbernieDodatkowy margines druku w milimetrach.min: 0; max: 2000; example: 0
margin_left_mmnumbernieDodatkowy margines druku w milimetrach.min: 0; max: 2000; example: 0

Przykładowe żądania

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
  }'

Odpowiedź

Status HTTP: 201 — Zasób został utworzony.

Pola odpowiedzi

NazwaTypWymaganeOpisOgraniczenia
print_job_idstring (uuid)takStabilny UUID zadania druku; zapisz go do sprawdzania statusu i obsługi.
document_idstring (uuid)takStabilny UUID zwracany po pomyślnym przesłaniu dokumentu.
document_mime_typestringtakTyp MIME przekazanego dokumentu.example: "application/pdf"
document_formatstringtakJawny format druku, na przykład pdf albo raw.enum: pdf, raw; example: "pdf"
document_raw_languagestring | nulltakJęzyk poleceń danych RAW, na przykład ZPL lub EPL.enum: tspl, zpl, cpcl, escpos; example: null
printer_idstring (uuid)takStabilny UUID drukarki docelowej w CloudPrint.
statusstringtakBieżący stan zasobu lub procesu; użyj wartości dozwolonych dla danej metody.enum: pending, reserved, printing, printed, failed, cancelled; example: "pending"
copiesintegertakLiczba kopii, które CloudPrint zleci drukarce.min: 1; max: 99; example: 1
intentstringtakCel biznesowy zadania, używany w diagnostyce i doborze rozsądnych ustawień domyślnych.enum: document, shipping_label, product_label, invoice, packing_slip, a4_document, receipt; example: "shipping_label"
color_modestringtakTryb koloru; default pozostawia wybór konfiguracji drukarki.enum: default, monochrome, color; example: "default"
duplex_modestringtakŻądany tryb druku jednostronnego lub dwustronnego.enum: default, simplex, duplex_long_edge, duplex_short_edge; example: "default"
media_width_mmnumber | nulltakŻądana szerokość nośnika lub etykiety w milimetrach.min: 1; max: 2000; example: 58
media_height_mmnumber | nulltakŻądana wysokość nośnika lub etykiety w milimetrach.min: 1; max: 2000; example: 40
dpiinteger | nulltakDocelowa rozdzielczość druku w punktach na cal; użyj wartości obsługiwanej przez drukarkę.min: 72; max: 2400; example: 203
scale_modestringtakOkreśla, czy zachować rozmiar dokumentu, czy dopasować go do nośnika.enum: none, fit; example: "none"
orientationstringtakOrientacja strony; default używa ustawień drukarki.enum: default, portrait, landscape; example: "default"
offset_x_mmnumbertakPoziome przesunięcie druku w milimetrach.min: -2000; max: 2000; example: 0
offset_y_mmnumbertakPionowe przesunięcie druku w milimetrach.min: -2000; max: 2000; example: 0
margin_top_mmnumbertakDodatkowy margines druku w milimetrach.min: 0; max: 2000; example: 0
margin_right_mmnumbertakDodatkowy margines druku w milimetrach.min: 0; max: 2000; example: 0
margin_bottom_mmnumbertakDodatkowy margines druku w milimetrach.min: 0; max: 2000; example: 0
margin_left_mmnumbertakDodatkowy margines druku w milimetrach.min: 0; max: 2000; example: 0
created_atstring (date-time)takZnacznik czasu CloudPrint w formacie ISO 8601.
reserved_atstring | null (date-time)takZnacznik czasu CloudPrint w formacie ISO 8601.
started_atstring | null (date-time)takZnacznik czasu CloudPrint w formacie ISO 8601.
completed_atstring | null (date-time)takZnacznik czasu CloudPrint w formacie ISO 8601.
failure_reasonstring | nulltakMaszynowo czytelna lub diagnostyczna przyczyna nieudanego druku.

Przykładowa odpowiedź

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
}

Błędy

Status HTTPOpis
400Sprawdź format i parametry żądania.
401Brak uwierzytelnienia albo jest ono nieprawidłowe.
403Brak uprawnień wymaganych do tej operacji.
409Żądanie jest sprzeczne z bieżącym stanem zasobu.
413Treść żądania przekracza dozwolony rozmiar.
415Format treści nie jest obsługiwany.
422Pola żądania nie przeszły walidacji.
429Przekroczono limit żądań; zastosuj Retry-After.
500Wewnętrzny błąd CloudPrint.

Wskazówki integracyjne

  • Źródło musi być dostępne pod publicznym adresem HTTPS; localhost, sieci prywatne, osadzone dane dostępowe i niebezpieczne przekierowania są odrzucane.
  • Użyj krótkotrwałego adresu z minimalnymi uprawnieniami i wystarczającym czasem ważności.
  • Stosuj te same zasady idempotencji i śledzenia statusu.

Powiązana dokumentacja

Przewodniki dotyczące integracji CloudPrint, podłączania lokalnego agenta i obsługi procesów drukowania.