Documentación de API
Centro de ayuda/Documentación de API/API de trabajos de impresión WMS (impresión en la nube)

API de trabajos de impresión WMS (impresión en la nube)

Última actualización 2026-10-13

Enviar trabajos de impresión en la nube con ZPL, consultar estado, cancelar y reintentar.

Enviar un trabajo de impresión en la nube#

La web del teléfono (sin Hub local) escribe el ZPL en print_jobs como queued. El Device Hub del PC del almacén lo toma, imprime localmente en Zebra y devuelve el resultado. Sin device_id se usa la impresora de etiquetas predeterminada del almacén.

POST /api/wms/print-jobs
POST /api/wms/print-jobs
{
  "device_id": "<uuid>",       // optional; default label printer of the warehouse if omitted
  "warehouse_id": "<uuid>",    // optional; scope for default-printer lookup
  "label_kind": "pallet",      // required: e.g. pallet | carton | ucc
  "ref_type": "pallet",        // optional
  "ref_id": "<uuid>",          // optional
  "copies": 2,                 // optional, default 1
  "zpl_content": "^XA\n^FO40,40^FDHello^FS\n^XZ"   // required
}

Consultar el estado del trabajo#

GET /api/wms/print-jobs/[id] — sondeo del teléfono
GET /api/wms/print-jobs/<job-id>
// -> { ok: true, data: {
//   id, status: "queued|printing|done|failed|cancelled",
//   error, device_id, label_kind, copies, created_at } }

GET /api/wms/print-jobs?status=queued&warehouse_id=<uuid>&page=1&page_size=50
// print-center queue list (page_size default 50, max 200)

Ciclo de vida: queued → printing → done, o → failed (con texto de error), o → cancelled. El Hub toma trabajos atómicamente, así un trabajo cancelado nunca se imprime.

Cancelar / reintentar#

PATCH /api/wms/print-jobs/[id]
PATCH /api/wms/print-jobs/<job-id>
{ "action": "cancel" }   // only from queued  -> cancelled
{ "action": "retry" }    // only from failed  -> queued (error cleared)
// conditional update: 0 rows affected means the state already changed -> HTTP 409
Notas del relé en la nube: el ZPL pasa por la nube (Supabase del tenant, protegido por RLS). Trabajos con más de 5 minutos se resaltan. Salud de dispositivos: GET /api/wms/print-devices; en línea si last_seen_at < 2 min.