Ver operadores do turno

Scope necessário: shifts.read.

Devolve quem operou a máquina durante um turno (o seu ID, tal como devolvido por GET /v1/shifts), depois de todas as atribuições feitas até agora: uma entrada por período, do mais antigo para o mais recente, cada uma com o operador e quando assumiu e entregou a máquina. Assim que alguém é atribuído, as entradas cobrem normalmente o turno completo. Um período sem operador tem operatorId: null, e um turno a que ninguém foi atribuído devolve uma lista vazia.

Para o exemplo da manhã em POST /v1/shifts/{shift_id}/operator, depois das três atribuições aceites devolve 1063 das 06:00 às 10:00, 2071 das 10:00 às 12:00 e 3300 das 12:00 às 14:00.

Erros:

  • 404 shift_not_found: o turno não é um dos seus.

Parâmetros de caminho

shift_id*integer

O ID do turno.

Corpo da resposta

application/json

application/json

application/json

application/json

application/json

application/json

Experimente em direto
GET
/v1/shifts/{shift_id}/operators

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

curl -X GET "https://example.com/v1/shifts/0/operators"
[  {    "operatorId": 1063,    "firstName": "Ana",    "lastName": "Ruiz",    "start": "2026-10-12T06:00:00Z",    "end": "2026-10-12T10:00:00Z"  }]

Atribuir operador 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. A única exceção é a primeira atribuição do turno, que cobre também o tempo antes de start. * 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. Esse tempo anterior fica-lhe atribuído de forma definitiva: depois não pode ficar sem atribuição nem ser dado a outra pessoa, porque qualquer pedido posterior com um start anterior ao seu é rejeitado. Para o deixar a outro operador, atribua primeiro esse operador, a partir do início do turno. * 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 nem sempre são seguras. Enviar a mesma atribuição outra vez só não altera nada se nenhuma outra atribuição tiver chegado ao turno entretanto. Caso contrário, a repetição pode anular uma passagem de turno posterior: se o operador A for atribuído a partir das 10:00 e depois o operador B a partir das 10:00, reenviar o pedido de A substitui B por A. Antes de repetir um pedido cujo resultado desconhece, como um que esgotou o tempo limite, confirme que não foi feita nenhuma atribuição posterior ao turno, e não deixe que dois sistemas atribuam operadores ao mesmo turno. * start é arredondado para baixo ao minuto, por isso dois valores de start no mesmo minuto contam como a mesma mudança. 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. GET /v1/shifts/{shift_id}/operators devolve a cronologia tal como está, para que possa verificar o resultado ou o que um turno já tem antes de repetir. 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. Os erros incluem um code estável (consulte as respostas abaixo): * 400 shift_not_found: nenhum turno corresponde. * 400 invalid_start: start está fora do turno, no futuro, ou antes da última mudança de operador do turno. * 403 shift_locked: o turno tem produção marcada como revista, o que o bloqueia. * 404 operator_not_found: o operador não existe na sua empresa.

Ver defeitos do turno GET

Devolve os registos de produção de defeitos de um turno (o seu ID, tal como devolvido por GET /v1/shifts), do mais antigo para o mais recente, com a mesma forma que as rotas POST de defeitos devolvem. Lista todos os registos defects na máquina do turno que ficam dentro do turno, incluindo os criados através de POST /v1/production-logs para parte do turno, por isso os defeitos do turno são a soma dos valores de quantity. Use-o para verificar o que um turno já tem antes de adicionar mais, por exemplo antes de reenviar um pedido sem Idempotency-Key cujo resultado desconhece. É devolvida a lista completa, sem paginação. Erros: * 404 shift_not_found: o turno não é um dos seus.