Przejdź do treści

Przesyłanie dokumentów PDF i RAW

Przesyłaj dane gotowe dla wybranej drukarki. Public API przyjmuje PDF lub jawny RAW; nie konwertuje DOC/DOCX, nie kupuje etykiet przewoźnika i nie zgaduje języka bajtów.

Prześlij PDF

bash
curl -sS https://public-api.cloudprint.me/api/v1/documents \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -F 'file=@invoice.pdf;type=application/pdf'

Sukces zwraca HTTP 201:

json
{
  "document_id": "aaaaaaaa-aaaa-4aaa-8aaa-aaaaaaaaaaaa",
  "original_filename": "invoice.pdf",
  "mime_type": "application/pdf",
  "document_format": "pdf",
  "document_raw_language": null,
  "size_bytes": 1024
}

Zapisz document_id.

Prześlij RAW

bash
curl -sS https://public-api.cloudprint.me/api/v1/documents \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -F 'file=@label.txt;type=application/octet-stream' \
  -F 'document_format=raw' \
  -F 'document_raw_language=zpl'

Dozwolone: zpl, tspl, cpcl, escpos. Drukarka musi reklamować język i RAW passthrough. Nie wysyłaj PDF jako RAW.

Utwórz zadanie z publicznego URL

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: shipment-18452-label-url-v1' \
  -d '{
    "document_url": "https://files.example.com/labels/shipment-18452.pdf",
    "document_filename": "shipment-18452.pdf",
    "printer_id": "11111111-1111-4111-8111-111111111111",
    "copies": 1,
    "intent": "shipping_label",
    "media_width_mm": 100,
    "media_height_mm": 150,
    "dpi": 203
  }'

URL musi używać HTTPS. CloudPrint odrzuca localhost, sieci prywatne/rezerwowe, credentials oraz niebezpieczne przekierowania. Odpowiedź ma standardowy kształt zadania.

Utwórz zadanie z Base64

bash
curl -sS https://public-api.cloudprint.me/api/v1/print-jobs/from-base64 \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -H 'Content-Type: application/json' \
  -H 'Idempotency-Key: receipt-18452-base64-v1' \
  -d '{
    "document_base64": "JVBERi0xLjQK...",
    "document_filename": "receipt-18452.pdf",
    "printer_id": "11111111-1111-4111-8111-111111111111",
    "copies": 1,
    "intent": "receipt"
  }'

Używaj dla małych dokumentów inline. Base64 zwiększa rozmiar; większe pliki przesyłaj jako multipart lub przez krótko ważny publiczny URL. Odpowiedź ma standardowy kształt zadania.

Wybierz transport

Multipart /documents jest domyślny. /from-url stosuj dla bezpiecznego HTTPS, a /from-base64 dla małych generowanych danych. Wszystkie warianty tworzenia powinny mieć Idempotency-Key.

Waliduj wcześniej

Sprawdź typ, rozmiar, wymiary i orientację. Pliki biurowe konwertuj sam. Etykietę wysyłkową najpierw pobierz od przewoźnika; CloudPrint zaczyna od gotowego PDF/ZPL.

Błędy uploadu

400 — multipart, 413 — za duży, 415 — typ, 422 — walidacja. Rozgałęziaj po error, komunikat pokaż operatorowi i zapisz X-Request-Id.

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.

Następne kroki

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