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