Asignar por hora

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.

Cuerpo de la solicitud

application/json

Definiciones de TypeScript

Usa el tipo request body en TypeScript.

Cuerpo de la respuesta

application/json

application/json

Pruébalo en vivo
POST
/v1/shifts/operator

Este endpoint requiere autenticación. Pega un token en la sección Autorización, más abajo.

curl -X POST "https://example.com/v1/shifts/operator" \  -H "Content-Type: application/json" \  -d '{    "machineId": 12,    "operatorId": 1063,    "start": "2026-10-12T10:00:00Z"  }'
{  "shiftId": 48213,  "machineId": 12,  "operatorId": 1063,  "start": "2026-10-12T10:00:00Z"}

Definir metas de turnos PUT

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 es `targetQuantity`. * `machineNotFound` / `ambiguousMachine`: ninguna máquina, o más de una, coincide con `machine`. * `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.

Asignar operador a turno POST

Asigna un operador a un turno por su ID (el que devuelve `PUT /v1/shifts/targets`), incluso en turnos que ya terminaron. Sin `start`, el operador cubre el turno desde su inicio. 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.