Listar turnos

Lista os seus turnos que se sobrepõem a um intervalo de tempo, passados ou futuros, para encontrar o id que POST /v1/shifts/{shift_id}/operator e POST /v1/shifts/{shift_id}/defects recebem.

Um turno é devolvido quando alguma parte dele fica entre from e to: termina depois de from e começa antes de to. Assim, um turno da noite das 22:00 às 06:00 aparece num intervalo que cubra qualquer um dos dois dias. O intervalo pode abranger no máximo 31 dias; percorra os períodos mais longos com intervalos consecutivos. Os turnos são devolvidos ordenados por start e depois por máquina.

Restrinja a lista com machineId, repetido para várias máquinas:

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

Os turnos excluídos das métricas também são listados, com isConsidered: false.

Parâmetros de consulta

from*From

Devolve os turnos que terminam depois deste momento. Uma hora sem desvio UTC é interpretada como UTC.

Formatodate-time
to*To

Devolve os turnos que começam antes deste momento, no máximo 31 dias depois de from. Uma hora sem desvio UTC é interpretada como UTC.

Formatodate-time
machineId?array<integer>|

Apenas os turnos destas máquinas, tal como devolvidas por GET /v1/machines. Repita-o para várias máquinas (machineId=12&machineId=13). Se for omitido, todas as suas máquinas.

Corpo da resposta

application/json

application/json

Experimente em direto
GET
/v1/shifts

Este endpoint requer autenticação. Cole um token na secção Autorização, mais abaixo.

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  }]

Relatório de paragens POST

Devolve as paragens individuais das máquinas com a sua duração, causa e classificação. É o detalhe por trás dos totais de tempo de paragem do relatório de métricas. `stopId` aceita a gramática de comparação completa, por isso é possível obter diretamente uma paragem específica ou um intervalo delas.

Definir objetivos de turnos PUT

Define o objetivo de produção de turnos existentes, para dias futuros ou passados. O corpo é um **array** JSON de até 1000 linhas, por isso um plano completo (ou a sua exportação para CSV) cabe numa única chamada. Cada linha indica um turno pela sua máquina (`uuid` ou `name`), pela data (`date`) em que começa no fuso horário da empresa, e pelo seu nome (`title`, por exemplo `Morning`). Enviar os mesmos valores outra vez não causa problemas: o objetivo é substituído, não somado. Cada linha é devolvida com um `status`, e só as linhas `updated` alteraram alguma coisa: * `updated`: o objetivo do turno passa a ser `targetQuantity`. * `machineNotFound` / `ambiguousMachine`: nenhuma máquina, ou mais do que uma, corresponde a `machine`. * `shiftNotFound` / `ambiguousShift`: a máquina não tem nenhum turno, ou tem mais do que um, com esse nome que comece nessa data. * `duplicateShift`: outra linha do mesmo pedido aponta para o mesmo turno, por isso nenhuma das duas foi aplicada. Os objetivos são lidos em direto do turno, por isso as vistas de tempo real e de turnos mostram o novo valor de imediato. Nada é recalculado: o objetivo não entra no cálculo do OEE.