Загрузить документ для печати
Загрузите готовый PDF или явные RAW-команды языка принтера перед созданием задания CloudPrint.
Назначение метода
Загрузите готовый PDF или явные RAW-команды языка принтера перед созданием задания CloudPrint.
Авторизация
Передавайте короткоживущий токен в Authorization: Bearer <access_token>.
Обязательные разрешения: documents:write
Запрос
Основной адрес API: https://public-api.cloudprint.me/api/v1/documents
Параметры
| Имя | Расположение | Тип | Обязательно | Описание | Ограничения |
|---|---|---|---|---|---|
X-Request-Id | header | string | нет | Необязательный идентификатор для трассировки запроса; CloudPrint вернёт безопасное значение в заголовке ответа. | maxLength: 128; example: "order-100045-attempt-1" |
Тело запроса
Тип содержимого: multipart/form-data
| Имя | Тип | Обязательно | Описание | Ограничения |
|---|---|---|---|---|
file | string (binary) | да | Бинарный PDF- или RAW-документ в multipart form data. | — |
document_format | string | null | нет | Явный формат печати, например pdf или raw. Для обоих форматов используется documents:write. | enum: pdf, raw; example: "raw" |
document_raw_language | string | null | нет | Язык команд RAW-документа, например ZPL или TSPL. | enum: tspl, zpl, cpcl, escpos; example: "zpl" |
Примеры запросов
cURL
bash
curl -sS https://public-api.cloudprint.me/api/v1/documents \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-F "file=@shipping-label.pdf"Ответ
HTTP-статус: 201 — Ресурс создан.
Поля ответа
| Имя | Тип | Обязательно | Описание | Ограничения |
|---|---|---|---|---|
document_id | string (uuid) | да | Стабильный UUID, возвращаемый после успешной загрузки документа. | — |
original_filename | string | да | Исходное имя файла, сохранённое при загрузке документа. | example: "invoice.pdf" |
mime_type | string | да | MIME-тип опубликованного установщика или сохранённого документа. | example: "application/pdf" |
document_format | string | да | Явный формат печати, например pdf или raw. Для обоих форматов используется documents:write. | enum: pdf, raw; example: "pdf" |
document_raw_language | string | null | да | Язык команд RAW-документа, например ZPL или TSPL. | enum: tspl, zpl, cpcl, escpos; example: null |
size_bytes | integer | да | Размер сохранённого документа в байтах. | example: 1024 |
Пример ответа
json
{
"document_id": "11111111-1111-4111-8111-111111111111",
"original_filename": "invoice.pdf",
"mime_type": "application/pdf",
"document_format": "pdf",
"document_raw_language": null,
"size_bytes": 1024
}Ошибки
| HTTP-статус | Описание |
|---|---|
400 | Проверьте формат и параметры запроса. |
401 | Авторизация отсутствует или недействительна. |
403 | Для операции недостаточно разрешений. |
413 | Тело запроса превышает допустимый размер. |
415 | Формат содержимого не поддерживается. |
422 | Поля запроса не прошли проверку. |
429 | Превышен лимит запросов; учитывайте Retry-After. |
500 | Внутренняя ошибка CloudPrint. |
503 | Сервис временно недоступен. |
Рекомендации по интеграции
- Существующее разрешение
documents:writeподходит для PDF и RAW. Для RAW явно передавайтеdocument_format=rawиdocument_raw_language. - Конвертируйте DOC и DOCX в готовый к печати PDF на своей серверной стороне.
- После
422исправьте документ; временную недоступность проверки с кодом503повторяйте с постепенно увеличивающимся интервалом. - Сохраните возвращённый
document_idдля запроса создания задания.
Связанная документация
Загрузка PDF и RAW-документовВыберите multipart, публичный HTTPS URL или Base64 и подготовьте PDF либо RAW-данные языка принтера для CloudPrint.Создать задание печатиОтправьте загруженный документ CloudPrint на выбранный принтер с идемпотентностью и явными параметрами.Создать задание из URLПолучите документ по публичному HTTPS URL и одним запросом создайте обычный документ и задание CloudPrint.