Saltar al contenido

Subir un documento para imprimir ​

Sube un PDF listo para imprimir o datos RAW en un lenguaje de impresora definido antes de crear el trabajo.

POST/api/v1/documentsVersión de la API: v1operationId: uploadDocumentVer como Markdown

Qué hace este método ​

Sube un PDF listo para imprimir o datos RAW en un lenguaje de impresora definido antes de crear el trabajo.

Autenticación ​

Envía un token de corta duración en Authorization: Bearer <access_token>.

Permisos necesarios: documents:write

Solicitud ​

URL de producción: https://public-api.cloudprint.me/api/v1/documents

Parámetros ​

NombreUbicaciónTipoObligatorioDescripciónRestricciones
X-Request-IdheaderstringnoIdentificador opcional para rastrear la solicitud; CloudPrint devuelve un valor seguro en la cabecera de respuesta.maxLength: 128; example: "order-100045-attempt-1"

Cuerpo de la solicitud ​

Tipo de contenido: multipart/form-data

NombreTipoObligatorioDescripciónRestricciones
filestring (binary)síDocumento PDF o RAW binario enviado como multipart form data.—
document_formatstring | nullnoFormato de impresión explícito, por ejemplo pdf o raw. Ambos formatos usan documents:write.enum: pdf, raw; example: "raw"
document_raw_languagestring | nullnoLenguaje de comandos de los datos RAW, por ejemplo ZPL o TSPL.enum: tspl, zpl, cpcl, escpos; example: "zpl"

Ejemplos de solicitud ​

cURL ​

bash
curl -sS https://public-api.cloudprint.me/api/v1/documents \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -F "file=@shipping-label.pdf"

Respuesta ​

Estado HTTP: 201 — Recurso creado.

Campos de respuesta ​

NombreTipoObligatorioDescripciónRestricciones
document_idstring (uuid)síUUID estable devuelto después de subir correctamente el documento.—
original_filenamestringsíNombre original del archivo registrado al subir el documento.example: "invoice.pdf"
mime_typestringsíTipo MIME del instalador publicado o del documento guardado.example: "application/pdf"
document_formatstringsíFormato de impresión explícito, por ejemplo pdf o raw. Ambos formatos usan documents:write.enum: pdf, raw; example: "pdf"
document_raw_languagestring | nullsíLenguaje de comandos de los datos RAW, por ejemplo ZPL o TSPL.enum: tspl, zpl, cpcl, escpos; example: null
size_bytesintegersíTamaño del documento guardado en bytes.example: 1024

Ejemplo de respuesta ​

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
}

Errores ​

Estado HTTPDescripción
400Comprueba el formato y los parámetros.
401Falta la autenticación o no es válida.
403El token no tiene permisos suficientes.
413El cuerpo supera el tamaño permitido.
415El formato no es compatible.
422Uno o varios campos no son válidos.
429Se superó el límite de solicitudes; respeta Retry-After.
500Error interno de CloudPrint.
503Servicio temporalmente no disponible.

Recomendaciones de integración ​

  • El permiso existente documents:write cubre PDF y RAW. Para RAW, envía document_format=raw y document_raw_language de forma explícita.
  • Convierte DOC y DOCX a PDF en el servidor antes de subirlos.
  • Corrige el documento tras un 422; reintenta un 503 temporal de inspección con espera progresiva y limitada.
  • Guarda el document_id para crear el trabajo.

Documentación relacionada ​

Guías para integrar CloudPrint, conectar el agente local y operar flujos de impresión.