Listar turnos

Lista tus turnos que se traslapan con un rango de tiempo, pasados o próximos, para encontrar el id que reciben POST /v1/shifts/{shift_id}/operator y POST /v1/shifts/{shift_id}/defects.

Un turno se devuelve cuando alguna parte de él cae entre from y to: termina después de from y empieza antes de to. Así, un turno de noche de 22:00 a 06:00 aparece en un rango que cubra cualquiera de los dos días. El rango puede abarcar como máximo 31 días; recorre los periodos más largos con rangos consecutivos. Los turnos se devuelven ordenados por start y luego por máquina.

Acota la lista con machineId, repetido para varias máquinas:

GET /v1/shifts?from=2026-10-12T00:00:00Z&to=2026-10-13T00:00:00Z&machineId=12

Los turnos excluidos de las métricas también se listan, con isConsidered: false.

Parámetros de consulta

from*From

Devuelve los turnos que terminan después de este momento. Una hora sin desfase UTC se interpreta como UTC.

Formatodate-time
to*To

Devuelve los turnos que empiezan antes de este momento, como máximo 31 días después de from. Una hora sin desfase UTC se interpreta como UTC.

Formatodate-time
machineId?array<integer>|

Solo los turnos de estas máquinas, tal como las devuelve GET /v1/machines. Repítelo para varias máquinas (machineId=12&machineId=13). Si se omite, todas tus máquinas.

Cuerpo de la respuesta

application/json

application/json

Pruébalo en vivo
GET
/v1/shifts

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

curl -X GET "https://example.com/v1/shifts?from=2026-10-12T00%3A00%3A00Z&to=2026-10-13T00%3A00%3A00Z"
[  {    "id": 48213,    "machineId": 12,    "title": "Morning",    "start": "2026-10-12T06:00:00Z",    "end": "2026-10-12T14:00:00Z",    "targetQuantity": 1200,    "isConsidered": true  }]

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.

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.