Atribuir operador ao turno
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 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.
Parâmetros de caminho
O ID do turno.
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/0/operator" \ -H "Content-Type: application/json" \ -d '{ "operatorId": 1063 }'{ "shiftId": 48213, "machineId": 12, "operatorId": 1063, "start": "2026-10-12T10:00:00Z"}Atribuir por hora POST
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 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.
Adicionar defeitos por hora POST
Adiciona unidades defeituosas de um SKU ao turno que a máquina `machineId` estava a executar em `time`, mesmo em turnos que já terminaram. Use-o quando sabe a máquina e aproximadamente quando os defeitos foram encontrados, mas não o ID do turno. **Como os defeitos se somam.** Ao contrário dos operadores, os defeitos não têm cronologia nem ordem. Cada chamada adiciona um novo registo de produção de defeitos de `quantity` unidades do SKU, que cobre o turno completo, e a Qualidade e o OEE do turno contabilizam-no em segundo plano. Uma chamada nunca substitui as anteriores: * Enviar `quantity: 2` e depois `quantity: 3` regista 5 defeitos. * Enviar o mesmo pedido duas vezes regista os defeitos duas vezes, por isso repita apenas os pedidos que falharam. * Para anular uma chamada, elimine o registo que ela devolveu com `DELETE /v1/production-logs/{id}`. Para ver o que um turno já tem, liste os seus registos com `POST /v1/production-logs/filters`. Os defeitos não são atribuídos a nenhum operador, e podem ser adicionados a turnos passados, incluindo aqueles cuja produção foi revista. O SKU é indicado por `id` ou por `name`; um nome desconhecido cria um SKU novo, por isso verifique a ortografia. Erros: * `400`: nenhum turno corresponde, o turno ainda não começou, ou o turno não tem produção suficiente desse SKU para comportar os defeitos. * `404`: `sku.id` não é um dos seus SKUs.