Przesyłanie dokumentów PDF i RAW
Przesyłaj dane gotowe dla wybranej drukarki. Public API przyjmuje PDF lub obsługiwany język RAW; nie konwertuje DOC/DOCX ani nie kupuje etykiet przewoźnika. Dla RAW zawsze jawnie podaj format i język, zamiast polegać na rozpoznawaniu zawartości.
Prześlij PDF
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:
{
"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. Zanim dokument stanie się dostępny, CloudPrint sprawdza go pod kątem złośliwego kodu, uszkodzonej lub zaszyfrowanej struktury, aktywnej zawartości, załączników i niebezpiecznych wymiarów stron. Usuwalne akcje i formularze interaktywne mogą zostać spłaszczone do bezpieczniejszego PDF.
Prześlij RAW
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'Dla RAW pozostaje istniejące uprawnienie documents:write. Dozwolone: zpl, tspl, cpcl, escpos. Drukarka musi zgłaszać ten język i obsługiwać RAW passthrough. CloudPrint przyjmuje obsługiwane polecenia drukowania i formatowania, a odrzuca nieznane polecenia, trwały zapis, konfigurację urządzenia i dostęp do plików. Nie wysyłaj PDF jako RAW.
Utwórz zadanie z publicznego URL
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 i zarezerwowane, osadzone dane dostępowe oraz niebezpieczne przekierowania. Odpowiedź ma standardowy kształt zadania.
Utwórz zadanie z Base64
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 sposób przesłania
Dla plików przechowywanych na serwerze zwykle wybierz multipart /documents. Użyj /from-url, gdy gotowy plik jest dostępny pod bezpiecznym publicznym adresem HTTPS, a /from-base64 dla małych generowanych dokumentów. Każde żądanie tworzące zadanie powinno zawierać 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 lub ZPL. Kontrola po stronie serwera jest ostatnią granicą bezpieczeństwa, a nie zastępstwem walidacji generowanych dokumentów.
Błędy uploadu
400 oznacza błędne żądanie multipart, 413 zbyt duży plik, 415 nieobsługiwany typ, a 422 błędne dane lub odrzucenie dokumentu przez kontrolę bezpieczeństwa. Nie ponawiaj niezmienionego żądania po 422. Kod 503 oznacza chwilową niedostępność kontroli; ponów z pierwotnym kluczem idempotencji i ograniczonym, rosnącym opóźnieniem. Decyzje opieraj na error, dokładniejszą przyczynę odczytuj z error_code, komunikat pokaż operatorowi i zapisz X-Request-Id.