Definir metas de turnos
Define la meta de producción de turnos existentes, para días próximos o pasados. El cuerpo es un arreglo JSON de hasta 1,000 filas, así que un plan completo (o su exportación a CSV) cabe en una sola llamada.
Cada fila indica un turno por su máquina (uuid o name), la fecha (date) en que empieza en la zona horaria de la empresa, y su nombre (title, por ejemplo Morning). Enviar los mismos valores otra vez no causa problemas: la meta se sobrescribe, no se suma.
Cada fila regresa con un status, y solo las filas updated cambiaron algo:
updated: la meta del turno ahora estargetQuantity.machineNotFound/ambiguousMachine: ninguna máquina, o más de una, coincide conmachine.shiftNotFound/ambiguousShift: la máquina no tiene ningún turno, o tiene más de uno, con ese nombre que empiece en esa fecha.duplicateShift: otra fila de la misma solicitud apunta al mismo turno, así que no se aplicó ninguna de las dos.
Las metas se leen en vivo del turno, así que las vistas de tiempo real y de turnos muestran el nuevo valor de inmediato. No se recalcula nada: la meta no interviene en el OEE.
Cuerpo de la solicitud
application/json
Definiciones de TypeScript
Usa el tipo request body en TypeScript.
items <= 1000Cuerpo de la respuesta
application/json
application/json
curl -X PUT "https://example.com/v1/shifts/targets" \ -H "Content-Type: application/json" \ -d '[ { "machine": {}, "date": "2026-10-12", "title": "Morning", "targetQuantity": 1200 } ]'[ { "machine": { "uuid": "0190c1c2-7a3e-7cc1-9b2f-1d2e3f4a5b6c", "name": "Line 1" }, "date": "2026-10-12", "title": "Morning", "targetQuantity": 1200, "status": "updated", "machineId": 12, "shiftId": 48213 }]Reporte de paros POST
Devuelve los paros individuales de las máquinas con su duración, causa y clasificación. Es el detalle detrás de los totales de tiempo muerto del reporte de métricas. `stopId` acepta la gramática de comparación completa, así que se puede obtener directamente un paro específico o un rango de ellos.
Asignar por hora POST
Asigna un operador al turno que la máquina `machineId` estaba corriendo en `start`. Úsalo para registrar quién operó una máquina después de que terminó el turno, por ejemplo un día después desde un sistema de planeación. Para un turno en curso en una terminal de planta, `POST /v1/realtime/{machine_id}/operator` es la llamada más corta. El operador toma la máquina en `start` y la conserva hasta el final del turno, o hasta una asignación posterior. Si el turno todavía no tiene a nadie asignado, el operador cubre el turno completo. Para registrar varios operadores en un turno, envíalos en orden cronológico: se rechaza un `start` anterior al último cambio de operador del turno. Enviar la misma asignación otra vez no causa problemas. Las métricas de operador del turno se recalculan en segundo plano. Errores: * `400`: ningún turno coincide, o `start` está fuera del turno, en el futuro, o antes del último cambio de operador del turno. * `403`: el turno tiene producción marcada como revisada, lo que lo bloquea. * `404`: el operador no existe en tu empresa.