{
"client_id": "portal",
"client_secret": "gsUkbqCMuv%YcX7z^YhBnJ!#@*uBs26&WpV7agO9H@dZ!unL",
"scopes": [
"plantscanner-portal-api",
"plantscanner-api",
"offline_access"
]
}https://login.plantscanner.io/connect/authorizehttps://login.plantscanner.io/connect/tokenGET https://login.plantscanner.io/connect/authorize?
client_id=portal&
response_type=code&
grant_type=authorization_code&
scope=plantscanner-portal-api plantscanner-api offline_access&
redirect_uri=<sua-url-de-redirecionamento>POST https://login.plantscanner.io/connect/token
Content-Type: application/x-www-form-urlencoded
grant_type=authorization_code&
client_id=portal&
client_secret=<seu-client-secret>&
code=<codigo-recebido>&
redirect_uri=<sua-url-de-redirecionamento>Authorization: Bearer <seu-token>/graphql| ID | Evento | Descrição | Payload |
|---|---|---|---|
| 0 | ProductionAlert | Disparado quando qualquer alerta de estação de trabalho é invocado por qualquer operador | ProductionAlertHookDto |
| 1 | WorkOrderPlanned | Disparado quando uma ordem de serviço é agendada, desagendada ou deslocada | WorkOrderHookDto |
| 2 | WorkOrderExecutionBegin | Disparado quando uma ordem de serviço inicia a produção | WorkOrderHookDto |
| 3 | WorkOrderExecutionPaused | Disparado quando uma ordem de serviço pausa a produção | WorkOrderHookDto |
| 4 | WorkOrderExecutionEnded | Disparado quando o fluxo de uma ordem de serviço é concluído | WorkOrderHookDto |
| 5 | WorkOrderReset | Disparado quando uma ordem de serviço é resetada | WorkOrderHookDto |
| 6 | WorkOrderConsumedRawMaterialUpdated | Disparado quando um material consumido é atualizado, mesmo com a ordem fechada | WorkOrderHookDto |
| 7 | WorkOrderExecutionResumed | Disparado quando uma ordem de serviço pausada é retomada | WorkOrderHookDto |
| 8 | MaterialSupplyUpdated | Disparado quando um fornecimento de material é pago | MaterialSupplyPayedHook |
| 9 | WorkOrderProducedQuantityUpdated | Disparado quando a quantidade produzida é atualizada via Portal | WorkOrderHookDto |
| 10 | CanWorkOrderFinalize | Disparado quando um operador tenta finalizar a ordem, permitindo verificações customizadas | WorkOrderValidationDto |
| 11 | CanWorkOrderTrackQuantity | Disparado quando um operador tenta registrar quantidades boas/ruins, permitindo verificações customizadas | WorkOrderValidationDto |
| 12 | TagPrinted | Disparado quando uma nova etiqueta é impressa | TagPrintedDto |
{
"Id": 9,
"Description": "Work Order Produced Quantity",
"WorkStation": "Fabiano",
"WorkStationCode": "Fab1",
"UserTrigger": "superuser@plantscanner.io",
"EmployeeBadge": null,
"WorkOrders": [
{
"Id": 4309,
"Type": "Production",
"WorkOrderGrouper": "1231243",
"Code": "12301253094",
"MaterialCode": "SKU001",
"Customer": "",
"PromiseDate": "",
"OperationCode": "Sopra",
"ProducedQuantityHistory": [
{
"Id": 668,
"Date": "2025-01-23T04:12:55.617811",
"ProducedGoodQuantity": 4,
"ProducedBadQuantity": 0
},
{
"Id": 696,
"Date": "2025-04-15T23:27:07.99094",
"ProducedGoodQuantity": 59,
"ProducedBadQuantity": 0
},
{
"Id": 704,
"Date": "2025-04-29T11:09:43.837144",
"ProducedGoodQuantity": 60,
"ProducedBadQuantity": 0
},
{
"Id": 709,
"Date": "2025-04-29T12:07:26.491461",
"ProducedGoodQuantity": 65,
"ProducedBadQuantity": 0
},
{
"Id": 710,
"Date": "2025-04-29T12:11:17.119494Z",
"ProducedGoodQuantity": 66,
"ProducedBadQuantity": 0
}
],
"Note": "",
"StatusDescription": null,
"StatusAdditionalDescription": null,
"StatusNote": null,
"RequestedQuantity": 10,
"ProducedGoodQuantity": 66,
"ProducedBadQuantity": 0,
"BeginReal": "2025-01-23T04:12:44.5088",
"EndReal": null,
"BeginPlanned": "2024-11-26T07:24:00",
"EndPlanned": "2024-11-26T07:34:00",
"RawMaterials": [],
"Properties": [],
"LaborPredictedTime": "00:00:00",
"LaborValueAddedTime": "00:00:00",
"LaborNonValueAddedTime": "00:00:00",
"MachinePredictedTime": "00:01:36",
"MachineValueAddedTime": "00:00:00",
"MachineNonValueAddedTime": "00:00:00"
}
],
"ProductionAlert": null,
"MaterialSupplies": null
}{
"Id": 12,
"Description": "Printed Label",
"WorkStation": "Estação 01",
"WorkStationCode": "EST01",
"UserTrigger": "superuser@plantscanner.io",
"EmployeeBadge": null,
"WorkOrders": [
{
"Id": 2581,
"Type": "Production",
"WorkOrderGrouper": "-",
"Code": "11229-01",
"MaterialCode": "L90117934",
"Customer": null,
"PromiseDate": "2024-09-16T03:00:00Z",
"OperationCode": "MASSA TEMPERATURA",
"ProducedQuantityHistory": [],
"Note": null,
"StatusDescription": null,
"StatusAdditionalDescription": null,
"StatusNote": null,
"RequestedQuantity": 26,
"ProducedGoodQuantity": 0,
"ProducedBadQuantity": null,
"BeginReal": null,
"EndReal": null,
"BeginPlanned": "2024-08-05T11:51:00",
"EndPlanned": "2024-08-05T12:01:00",
"RawMaterials": [],
"Properties": [
{
"Key": "ProductionOrderNumber",
"Value": "11203",
"Name": null,
"IsLocked": null
},
{
"Key": "ProductionOrderId",
"Value": "11988",
"Name": null,
"IsLocked": null
},
{
"Key": "WarehouseCode",
"Value": "DP01",
"Name": null,
"IsLocked": null
},
{
"Key": "default_whs",
"Value": "FGP2",
"Name": null,
"IsLocked": null
},
{
"Key": "qty_multi",
"Value": "1",
"Name": null,
"IsLocked": null
},
{
"Key": "lado",
"Value": "lado",
"Name": null,
"IsLocked": null
},
{
"Key": "labels",
"Value": "[{\"etiqueta\":\"WIPPAVA\",\"multiplo\":\"4\",\"impressora\":\"\\\\\\\\10.86.24.19\\\\MF11\"}, {\"etiqueta\":\"WIPPAVA\",\"multiplo\":\"2\",\"impressora\":\"\\\\\\\\10.86.24.21\\\\MF12\"}]",
"Name": null,
"IsLocked": null
},
{
"Key": "ProductionOrderStatus",
"Value": "boposReleased",
"Name": null,
"IsLocked": null
}
],
"LaborPredictedTime": "00:00:00",
"LaborValueAddedTime": "00:00:00",
"LaborNonValueAddedTime": "00:00:00",
"MachinePredictedTime": "00:00:00",
"MachineValueAddedTime": "00:00:00",
"MachineNonValueAddedTime": "00:00:00"
}
],
"ProductionAlert": null,
"MaterialSupplies": null,
"PrintedLabel": {
"Zpl": "^XA\n^CI28\n^CF0,30; Set font type to 0 (default) and font size to 30 points\n\n;Você também pode escrever comentários no seu código ZPL\n;com o uso de ponto e vírgula\n\n; Título da etiqueta\n^FO40,30^FB700,1,0,C^FDEtiqueta de Produção^FS\n\n; Código da ordem\n^A0N,50,50^FO20,100^FB750,1,0,C^FDCódigo: 11229-01^FS\n\n; Descrição do material\n^FO20,210^FB750,3,0,L^FD^FS\n\n; Data atual\n^FO20,250^FB750,1,0,L^FDData: 09/08/2025 20:17^FS\n\n; Quantidade produzida\n^FO20,290^FB750,1,0,L^FDQuantidade produzida: 0UN^FS\n\n; Lote\n^FO20,330^FB750,1,0,L^FDLote: -|c42edd16-51f9-479e-ad90-795c35c40d8a|1^FS\n\n; Observação\n^FO20,370^FB750,1,0,L^FDObservação: Operador santana^FS\n\n; QR Code\n^FO600,440^BQN,2,4^FDMA,https://portal.plantscanner.io/dashboard/work-order?code=11229-01&operationCode=MASSA TEMPERATURA^FS\n\n; Logomarca PlantScanner\n^FO30,550^GFA,3150,3150,50,K03FE,J03FFE,J0IFE,I03IFE,I0JFE,001JFE,003JFE,00IFCV0IFC0078M078I038I0E1KF803FFCI03FEJ01EJ0EI03878001C1JFC1IF8,01FFEV01JF0078M07CI03CI0E1KF81IFCI0IF8I01FI01FI0787C001E3JFE3IFE,01FF8V01JFC078M07CI03EI0E1KF83IFC003IFEI03FI01F800787E001E3JFE3JF803FEW01JFE078M0FEI03FI0E1KF87IFC007F8FFI03F8001FC00787E001E3JFC3JFC07FCW01E003F078M0FEI03F800EI0FI078K0FC01F8007F8001FE00787F001E3CJ03C007C0FF8W01EI0F078L01FFI03FC00EI0FI0FK01FI07I0778001FF00787F801E3CJ03C001E0FFX01EI0F878L01EFI03BE00EI0FI0FK03EM073C001EF80787FC01E3CJ03C001E1FEX01EI07878L03CFI039F00EI0FI0EK07CM0F3C001E780787BE01E3CJ03CI0!1FCX01EI07878L03C780038F00EI0FI0EK078M0E1E001E3C07879F01E3CJ03CI0!3FCX01EI07878L078780038780EI0FI0FK0FM01E1E001E3E07878F81E3CJ03CI0!3F8X01EI07878L0783C00387C0EI0FI0FK0FM01C0F001E1F078787C1E3CJ03CI0!7F8X01EI07878L0783C00383E0EI0FI0F8J0FM03C0F001E0F878783C1E3IFE03CI0!7FY01EI07878L0F01E00381F0EI0FI07CJ0EM0380F001E07C78781E1E3IFE03CI0!7FY01EI0F078L0F01E00380F8EI0FI03FFE00EM03807801E03E78781F1E3IFE03C001EFEJ0FES01E001F078K01E01E003807CEI0FI01IF80EM07807801E01F78780F9E3IFC03C003EFEI01FFS01E007E078K01E00F003803EEI0FJ0IFC0EM07003C01E00F787807DE3CJ03C00FCFEI03FF8R01JFC078K03C00F003801FEI0FL07C0EM0F003C01E007F87803FE3CJ03JF8K07FFCR01JF8078K03C007803800FEI0FL03E0FM0E001E01E007F87801FE3CJ03JF,K07FFCR01IFE0078K038007803800FEI0FL01E0FL01E001E01E003F87800FE3CJ03IFC,K07FFCR01EK078K078003C038007EI0FM0F0FL01C001F01E001F878007E3CJ03C03C,K07FFCR01EK078K078003C038003EI0FM0F078K03CI0F01EI0F878003E3CJ03C01E,K07FFCR01EK078K0FI01E038001EI0FM0F07CK038I0F01EI07878003E3CJ03C01E,K07FFCR01EK078K0FI01E038I0EI0FM0E03CK038I0781EI07878001E3CJ03C00F,K07FFCR01EK078J01EI01E038I0EI0FL01E01FI06078I0781EI07878001E3CJ03C00F8K03FF8I07EM01EK078J01EJ0F038I0EI0FL03E01F800F07J03C1EI07878001E3CJ03C0078K01FFJ0FEM01EK07JF83CJ0F038I0EI0FI07IFC00FF8FF0FJ03C1EI07878001E3JFC3C003CL0FEJ0FEM01EK07JF83CJ07838I0EI0FI07IF8003IFE0EJ01E1EI07878001E3JFE3C003ER0FEM01EK07JF83CJ07838I0EI0FI07IFI01IF81EJ01E1EI07878001E3JFE3C001EQ01FCN0EK07JF878J03838I0EI0FI07FFCJ03FE01CK0E0EI03878001C1JFC1CI0!Q01FC,Q03FC,Q03F8,Q07F8,Q07F,Q0FF,P01FE,P03FE,FCN07FC,FEM01FF8,FEM07FFR08007K01C0FC0EQ01C03807C1F8M01C01E,FEL01FFEP04082044041020020108I0601J04004404004021I0C02102,FEK03IFCP040C2042041040020104I0A01J04008204004021880802082,FEJ0KF8P040A2042041020020104I0A01J04008204004002880202082,FEJ0KFQ040A20400410100201K0901J03008207C04012001202003E,FEJ0JFCQ040920400410040201F8001101K0C08204004012501103F02,FEJ0JFR0408A04204100202012I01F81K0408204004004503F02402,FEJ0IFCR0408E04204100202011K081K020820400400C502102202,FEJ0FFES04086044022006020108002081K040440400400C202082102,FEgN018018V03001,FE,:::::,^FS\n\n^XZ",
"PropertiesUsedArray": [
{
"Key": "id",
"Value": "2581"
},
{
"Key": "processId",
"Value": "1670"
},
{
"Key": "readOnly",
"Value": "false"
},
{
"Key": "type",
"Value": "0"
},
{
"Key": "assignedWorkStationId",
"Value": "16"
},
{
"Key": "beginPlanned",
"Value": "2024-08-05T11:51:00"
},
{
"Key": "endPlanned",
"Value": "2024-08-05T12:01:00"
},
{
"Key": "status",
"Value": "2"
},
{
"Key": "description",
"Value": ""
},
{
"Key": "missingTools",
"Value": ""
},
{
"Key": "workOrderProducedQuantity",
"Value": ""
},
{
"Key": "plannedDuration",
"Value": "00:10:00"
},
{
"Key": "workOrderType",
"Value": "2"
},
{
"Key": "materialCode",
"Value": "L90117934"
},
{
"Key": "materialUoM",
"Value": "UN"
},
{
"Key": "materialGroup",
"Value": ""
},
{
"Key": "materialId",
"Value": "8450"
},
{
"Key": "workOrderCode",
"Value": "11229-01"
},
{
"Key": "operationCode",
"Value": "MASSA TEMPERATURA"
},
{
"Key": "workOrderGrouper",
"Value": "-"
},
{
"Key": "workOrderRequestedQuantity",
"Value": "26"
},
{
"Key": "workOrderProducedGoodQuantity",
"Value": "0"
},
{
"Key": "workOrderPromiseDate",
"Value": "2024-09-16T03:00:00"
},
{
"Key": "predictedLaborTime",
"Value": "00:00:00"
},
{
"Key": "predictedMachineTime",
"Value": "00:00:00"
},
{
"Key": "runtime",
"Value": ""
},
{
"Key": "workStationCode",
"Value": "EST01"
},
{
"Key": "workStationDescription",
"Value": "Estação 01"
},
{
"Key": "areaCode",
"Value": "ADM"
},
{
"Key": "areaDescription",
"Value": "Administrativo"
},
{
"Key": "printIndex",
"Value": "1"
},
{
"Key": "printTotal",
"Value": "2"
},
{
"Key": "uuid",
"Value": "c42edd16-51f9-479e-ad90-795c35c40d8a"
},
{
"Key": "note",
"Value": "Operador santana"
}
],
"Dpi": 8,
"WidthInches": 4,
"HeightInches": 3.2,
"QuantityOfLabels": null,
"Note": null,
"SelectedTagId": 15,
"SelectedTagName": "TESTE",
"PrintIndex": 1,
"Uuid": "c42edd16-51f9-479e-ad90-795c35c40d8a"
}
}{
"Id": 4,
"Description": "Work Order Execution Ended",
"WorkStation": "NOVO",
"WorkStationCode": "NOVO",
"UserTrigger": null,
"EmployeeBadge": null,
"WorkOrders": [
{
"Id": 4355,
"Type": "Production",
"WorkOrderGrouper": "-",
"Code": "8116",
"MaterialCode": "PA000021",
"Customer": null,
"PromiseDate": "2024-08-12T03:00:00Z",
"OperationCode": "EMPACOTAMENTO",
"ProducedQuantityHistory": [
{
"Id": 724,
"Date": "2025-05-22T11:25:11.388699",
"ProducedGoodQuantity": 12,
"ProducedBadQuantity": 0
}
],
"Note": null,
"StatusDescription": null,
"StatusAdditionalDescription": null,
"StatusNote": "",
"RequestedQuantity": 573,
"ProducedGoodQuantity": 12,
"ProducedBadQuantity": 0,
"BeginReal": "2025-05-22T11:24:47.027551",
"EndReal": "2025-05-22T11:25:11.399373",
"BeginPlanned": "2025-05-10T17:08:00",
"EndPlanned": "2025-05-10T17:18:00",
"RawMaterials": [
{
"Code": "SKU001",
"Description": "Embalagem Ketchup",
"Sequence": 0,
"Quantity": 223,
"QuantityConsumed": 0,
"UoM": "UN",
"ConsumedRawMaterials": [
{
"Quantity": 223,
"SerialNumber": "2.ALI.T-3417"
}
]
},
{
"Code": "RC000010",
"Description": "",
"Sequence": 0,
"Quantity": 1,
"QuantityConsumed": 0,
"UoM": "",
"ConsumedRawMaterials": []
},
{
"Code": "MP000006",
"Description": "",
"Sequence": 1,
"Quantity": 2.44,
"QuantityConsumed": 0,
"UoM": "",
"ConsumedRawMaterials": []
},
{
"Code": "MP000018",
"Description": "",
"Sequence": 2,
"Quantity": 0.24,
"QuantityConsumed": 0,
"UoM": "",
"ConsumedRawMaterials": []
},
{
"Code": "EB000032",
"Description": "",
"Sequence": 3,
"Quantity": 573,
"QuantityConsumed": 0,
"UoM": "",
"ConsumedRawMaterials": []
}
],
"Properties": [
{
"Key": "ProductionOrderNumber",
"Value": "8116",
"Name": null,
"IsLocked": null
},
{
"Key": "ProductionOrderId",
"Value": "8712",
"Name": null,
"IsLocked": null
},
{
"Key": "WarehouseCode",
"Value": "DP07",
"Name": null,
"IsLocked": null
},
{
"Key": "ProductionOrderStatus",
"Value": "boposReleased",
"Name": null,
"IsLocked": null
},
{
"Key": "SAP:Retry",
"Value": "<a>Clique para enviar</a>",
"Name": "Enviar ordem SAP",
"IsLocked": null
}
],
"LaborPredictedTime": "00:00:00",
"LaborValueAddedTime": "00:00:00",
"LaborNonValueAddedTime": "00:00:00",
"MachinePredictedTime": "00:00:00",
"MachineValueAddedTime": "00:00:24.3718220",
"MachineNonValueAddedTime": "00:00:00"
}
],
"ProductionAlert": null,
"MaterialSupplies": null
}{
"Id": 0,
"Description": "Production Alert",
"WorkStation": "PlantScanner 01",
"WorkStationCode": "PS01",
"UserTrigger": "superuser@plantscanner.io",
"EmployeeBadge": null,
"WorkOrders": null,
"ProductionAlert": {
"Id": 84,
"Type": "Logística",
"Note": "<b>Observação:</b> ",
"Status": 3,
"Opened": "2024-11-21T01:30:49.929674",
"Acknowledged": "2025-02-01T15:19:40.372835",
"Closed": "2025-02-01T15:19:44.91526Z"
},
"MaterialSupplies": null
}{
"Id": 8,
"Description": "Material Task Supply",
"WorkStation": "Injetora 1",
"WorkStationCode": "INJ1",
"UserTrigger": "superuser@plantscanner.io",
"WorkOrders": null,
"ProductionAlert": null,
"MaterialSupplies": [
{
"WorkOrderCode": "68792",
"OperationCode": null,
"Code": "A572500095",
"Description": "Material Fabiano",
"Quantity": 1.4453,
"IsCompleted": true,
"Id": 78
}
]
}X-RateLimit-Limit: Limite total de requisiçõesX-RateLimit-Remaining: Requisições restantesX-RateLimit-Reset: Timestamp de reset do limitepage: Número da página (começa em 1)limit: Itens por página (máximo 100)X-Pagination-Total: Total de itensX-Pagination-Pages: Total de páginasX-Pagination-Current: Página atual| Código | Descrição | Exemplo de Resposta |
|---|---|---|
| 200 | Sucesso | { "data": { ... } } |
| 400 | Requisição inválida | { "errors": ["Parâmetro inválido"] } |
| 401 | Não autorizado | { "error": "Token inválido ou expirado" } |
| 403 | Acesso negado | { "error": "Sem permissão para acessar este recurso" } |
| 404 | Recurso não encontrado | { "error": "Ordem de serviço não encontrada" } |
| 412 | Erro de validação | { "errors": ["Data de início inválida"] } |
| 429 | Muitas requisições | { "error": "Limite de requisições excedido", "retryAfter": 60 } |
| 500 | Erro interno | { "logId": "uuid", "message": ["Erro interno do servidor"] } |
{
"logId": "550e8400-e29b-41d4-a716-446655440000",
"message": [
"Descrição detalhada do erro"
],
"stackTrace": [
"Detalhes do stack trace (apenas em ambiente de desenvolvimento)"
]
}{
"errors": [
"O código da ordem de serviço é obrigatório",
"A quantidade deve ser maior que zero",
"A data de início deve ser anterior à data de fim"
]
}{
"error": "Limite de requisições excedido",
"retryAfter": 60,
"limit": 100,
"remaining": 0,
"reset": "2024-03-20T11:00:00Z"
}PS:.