API des tâches d’impression WMS (impression cloud)
Soumettre des tâches d’impression cloud avec ZPL, consulter le statut, annuler et réessayer.
Soumettre une tâche d’impression cloud#
Le web du téléphone (sans Hub local) écrit le ZPL dans print_jobs en queued. Le Device Hub du PC de l’entrepôt le récupère, imprime localement sur Zebra et renvoie le résultat. Sans device_id, l’imprimante d’étiquettes par défaut de l’entrepôt est utilisée.
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
}Consulter le statut de la tâche#
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)Cycle de vie : queued → printing → done, ou → failed (avec texte d’erreur), ou → cancelled. Le Hub réserve les tâches atomiquement ; une tâche annulée n’est jamais imprimée.
Annuler / réessayer#
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