Pesquisar registos de produção
Pesquisa registos de produção por máquina, SKU, data, quantidade ou estado de revisão.
É um POST porque o corpo do filtro tem objetos aninhados, mas só lê: basta o scope production_logs.read. Envie {} para obter a primeira página com os valores predefinidos (page 1, limit 10). Os filtros são opcionais e combinam-se com AND.
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/production-logs/filters" \ -H "Content-Type: application/json" \ -d '{}'{ "totalCount": 100, "totalPages": 10, "currentPage": 1, "productionLogs": [ { "id": "36f7b519-d93e-4ec8-8245-7f4b8c123456", "type": "correct", "sensorCount": 500, "count": 1000, "nominalSpeed": 60, "countingFactor": 1, "start": "2024-01-01T00:00:00", "end": "2024-01-01T08:00:00", "isReviewed": true, "isAutomated": true, "machineId": 12, "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z", "deletedAt": "2019-08-24T14:15:22Z", "live": true, "machine": { "id": 0, "name": "string", "isCountEnabled": true, "externalName": "string" }, "company": { "id": 0, "name": "string", "timezone": "string" }, "shift": { "id": 0, "name": "string", "start": "2019-08-24T14:15:22Z", "end": "2019-08-24T14:15:22Z", "isConsidered": true }, "operator": { "id": 0, "firstName": "string", "lastName": "string", "email": "string" }, "sku": { "id": "string", "name": "string", "description": "string", "unit": "string" }, "workOrder": { "id": "string", "name": "string", "description": "string", "status": "InProgress" }, "simpleWorkOrder": { "id": "string", "name": "string" } } ]}Criar registos de produção POST
Cria um ou vários registos de produção. O corpo é um **array** JSON, mesmo para um único registo. Este é o endpoint que um MES, ERP ou terminal de fábrica usa para enviar produção para o Pulsar. `machine` e `sku` são referências que aceitam um `id` ou um `name`, por isso um sistema que só conhece nomes de linhas e códigos de produto não tem de resolver primeiro os IDs do Pulsar. Um registo de produção descreve um intervalo fechado: `start` e `end` são obrigatórios, `end` é igual ou posterior a `start`, e ambos se situam dentro de um único turno da máquina. São aceites turnos passados, por isso os registos podem ser enviados dias depois da produção. Para registar o que está a acontecer no turno em curso de uma máquina, use os endpoints de tempo real. Os **defeitos** (`type: "defects"`) somam-se. Vários registos de defeitos podem cobrir o mesmo intervalo, num pedido ou em vários, e cada um é registado, por isso envie cada lote uma única vez e repita apenas um pedido que falhou (um pedido falhado não regista nada). `start` e `end` podem ser o mesmo instante para defeitos encontrados num momento pontual: ```json [ {"type": "defects", "count": 3, "nominalSpeed": 60, "machine": {"name": "Press 4"}, "sku": {"name": "GAL-1042"}, "start": "2026-10-12T14:00:00Z", "end": "2026-10-12T22:00:00Z"}, {"type": "defects", "count": 1, "nominalSpeed": 60, "machine": {"name": "Press 4"}, "sku": {"name": "GAL-1042"}, "start": "2026-10-12T17:42:10Z", "end": "2026-10-12T17:42:10Z"} ] ``` Os registos `total` e `correct` não se podem sobrepor a outro registo do mesmo tipo, máquina e SKU. A resposta lista os registos deste pedido. A qualidade e o OEE dos turnos afetados são recalculados em segundo plano, normalmente em poucos minutos.
Obter um registo de produção GET
Devolve um registo de produção pelo seu ID, com os registos relacionados incluídos. Um ID que pertence a outra empresa é indicado como `404`, não como `403`.