Atribuir por hora
Atribui um operador ao turno que a máquina machineId estava a executar em start, a partir de start. Use-o para registar quem operou uma máquina a posteriori, por exemplo um dia depois a partir de um sistema de planeamento, quando sabe a máquina e a hora mas não o ID do turno (GET /v1/shifts lista os IDs). Para um turno em curso num terminal de fábrica, POST /v1/realtime/{machine_id}/operator é a chamada mais curta.
Como as atribuições de operador se somam. Cada turno mantém uma cronologia de quem operou a máquina. Uma atribuição significa "a partir de start, este operador opera a máquina": dura até ao fim do turno, ou até à atribuição seguinte.
- Primeira atribuição. Se o turno ainda não tiver ninguém atribuído, o operador cobre o turno completo, desde o seu primeiro minuto, mesmo quando
starté posterior. - Atribuições posteriores. Cada uma divide a cronologia em
start: quem tinha a máquina mantém-na atéstart, e o novo operador assume-a destartaté ao fim do turno. - A ordem importa. Envie as atribuições por ordem cronológica. Um
startanterior à última mudança do turno é rejeitado com400, por isso depois não é possível inserir um operador a meio. Umstartigual à última mudança substitui o operador que assumiu a máquina nesse momento. - As repetições são seguras. Enviar a mesma atribuição outra vez não altera nada.
starté arredondado para baixo ao minuto.
Por exemplo, para um turno Morning das 06:00 às 14:00 ainda sem ninguém atribuído:
| Pedido | Cronologia depois dele |
|---|---|
| operador 1063 a partir das 10:00 | 1063 06:00–14:00 (a primeira atribuição cobre o turno completo) |
| operador 2071 a partir das 10:00 | 1063 06:00–10:00, 2071 10:00–14:00 |
| operador 3300 a partir das 12:00 | 1063 06:00–10:00, 2071 10:00–12:00, 3300 12:00–14:00 |
| operador 4410 a partir das 08:00 | Rejeitado com 400: 08:00 é antes da última mudança, às 12:00 |
Para registar um turno que teve vários operadores, envie o primeiro a partir do início do turno e depois os restantes pela ordem em que assumiram a máquina.
As métricas de operador do turno são recalculadas em segundo plano, por isso os relatórios podem demorar um momento a mostrar a alteração.
Erros:
400: nenhum turno corresponde, oustartestá fora do turno, no futuro, ou antes da última mudança de operador do turno.403: o turno tem produção marcada como revista, o que o bloqueia.404: o operador não existe na sua empresa.
Corpo do pedido
application/json
Definições de TypeScript
Utilize o tipo request body em TypeScript.
Corpo da resposta
application/json
application/json
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 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.
Atribuir operador ao turno POST
Atribui um operador a um turno pelo seu ID (o que é devolvido por `GET /v1/shifts`), mesmo em turnos que já terminaram. Sem `start`, o operador assume a máquina desde o início do turno. **Como as atribuições de operador se somam.** Cada turno mantém uma cronologia de quem operou a máquina. Uma atribuição significa "a partir de `start`, este operador opera a máquina": dura até ao fim do turno, ou até à atribuição seguinte. * **Primeira atribuição.** Se o turno ainda não tiver ninguém atribuído, o operador cobre o **turno completo**, desde o seu primeiro minuto, mesmo quando `start` é posterior. * **Atribuições posteriores.** Cada uma divide a cronologia em `start`: quem tinha a máquina mantém-na até `start`, e o novo operador assume-a de `start` até ao fim do turno. * **A ordem importa.** Envie as atribuições por ordem cronológica. Um `start` anterior à última mudança do turno é rejeitado com `400`, por isso depois não é possível inserir um operador a meio. Um `start` igual à última mudança substitui o operador que assumiu a máquina nesse momento. * **As repetições são seguras.** Enviar a mesma atribuição outra vez não altera nada. * `start` é arredondado para baixo ao minuto. Por exemplo, para um turno `Morning` das 06:00 às 14:00 ainda sem ninguém atribuído: | Pedido | Cronologia depois dele | | --- | --- | | operador 1063 a partir das 10:00 | 1063 06:00–14:00 (a primeira atribuição cobre o turno completo) | | operador 2071 a partir das 10:00 | 1063 06:00–10:00, 2071 10:00–14:00 | | operador 3300 a partir das 12:00 | 1063 06:00–10:00, 2071 10:00–12:00, 3300 12:00–14:00 | | operador 4410 a partir das 08:00 | Rejeitado com `400`: 08:00 é antes da última mudança, às 12:00 | Para registar um turno que teve vários operadores, envie o primeiro a partir do início do turno e depois os restantes pela ordem em que assumiram a máquina. As métricas de operador do turno são recalculadas em segundo plano, por isso os relatórios podem demorar um momento a mostrar a alteração. Erros: * `400`: nenhum turno corresponde, ou `start` está fora do turno, no futuro, ou antes da última mudança de operador do turno. * `403`: o turno tem produção marcada como revista, o que o bloqueia. * `404`: o operador não existe na sua empresa.