PlantScanner
HomeSobre a PlantScanner
HomeSobre a PlantScanner
  1. Home
  • Developers
  • O que são as propriedades?
  • SKUs e Insumos
    • SKUs e Insumos
    • Gets all materials.
      GET
    • Synchronize materials batch between customer ERP and PlantScanner bases.
      POST
  • Ordens de Produção
    • Ordens de Produção ( Ordens de Trabalho )
    • Gets work orders that have been planned or executed between the specified dates or by the work order code.
      GET
    • Gets work orders that with production details
      GET
    • Synchronize work orders batch between customer ERP and PlantScanner bases.
      POST
    • Synchronize work orders batch current execution.
      POST
    • Synchronize work order properties data
      POST
    • Synchronize work orders batch planning dates.
      POST
  • Estoque
    • Estoque
    • Synchronize materials inventories between customer ERP and PlantScanner bases.
      POST
  • Alertas de Produção
    • Alertas de Produção
    • Synchronize work orders batch between customer ERP and PlantScanner bases.
      GET
  • Tempos de Mão de Obra
    • Tempos de Mão de Obra
    • Get employee logged hours with work order info if one was in execution.
      GET
  • Inspeções de Qualidade
    • Inspeções de Qualidade
    • Gets inspections that have been planned or executed between the specified dates or by the work order code.
      GET
    • Synchronize inspections batch between customer ERP and PlantScanner bases.
      POST
    • Synchronize inspections batch current execution.
      POST
    • Synchronize work order properties data
      POST
  • Processos de Inspeção
    • Processos de Inspeção
    • Gets all inspections processes
    • Synchronize inspection processes batch between customer ERP and PlantScanner bases.
  • Listas de Qualidade
    • Listas de Qualidade
    • Gets work orders checks that have been planned or executed between the specified dates or by the work order code.
  • Lotes Consumidos
    • Lotes Consumidos
    • Synchronize work orders batch between customer ERP and PlantScanner bases.
    • Sync consumed raw material quantity based on updated quantity in work order.
  • Histórico de Ordens
    • Synchronize work orders batch between customer ERP and PlantScanner bases.
  • Estações de Trabalho
    • Estações de Trabalho
    • Gets work stations with shifts and area.
  • Esquemas
    • Schemas
      • PlantScanner.API.Application.Boundaries.GetAlerts_ResultWorkOrderStatus
      • PlantScanner.API.Application.Boundaries.GetAlerts_ResultWorkOrder
      • PlantScanner.API.Application.Boundaries.GetAlerts_ResultWorkStation
      • PlantScanner.API.Application.Boundaries.GetAlerts_ResultAlertType
      • PlantScanner.API.Application.Boundaries.GetAlerts_ResultAlertStatus
      • System_TimeSpan
      • PlantScanner.API.Application.Boundaries.GetAlerts_ResultAlert
      • PlantScanner.API.WebApi.Dtos.V1.GetAlerts_GetAlertsResponse
      • PlantScanner.API.WebApi.Dtos.Errors_ValidationError
      • PlantScanner.API.WebApi.Dtos.Errors_InternalServerError
      • PlantScanner.API.WebApi.Dtos.Errors_ToManyRequestsError
      • PlantScanner.API.Application.Boundaries.GetEmployeeHours_ResultEmployee
      • PlantScanner.API.Application.Boundaries.GetEmployeeHours_ResultWorkOrder
      • PlantScanner.API.Application.Boundaries.GetEmployeeHours_ResultWorkStation
      • PlantScanner.API.Application.Boundaries.GetEmployeeHours_ResultEmployeeHour
      • PlantScanner.API.WebApi.Dtos.v1.GetEmployeeHours_GetEmployeeHoursResponse
      • PlantScanner.API.Application.Boundaries.GetWorkOrders_ResultWorkOrderType
      • PlantScanner.API.Application.Boundaries.GetWorkOrders_ResultWorkOrderStatus
      • PlantScanner.API.Application.Boundaries.GetWorkOrders_ResultArea
      • PlantScanner.API.Application.Boundaries.GetWorkOrders_ResultWorkStation
      • PlantScanner.API.Application.Boundaries.GetWorkOrders_ResultEmployee
      • PlantScanner.Domain.Model_WorkOrderProperties
      • PlantScanner.API.Application.Boundaries.GetWorkOrders_ResultWorkOrder
      • PlantScanner.API.WebApi.Dtos.V1.GetWorkOrders_GetWorkOrdersResponse
      • PlantScanner.API.WebApi.Dtos.V1.SyncWorkOrders_SyncWorkOrderProperties
      • PlantScanner.API.WebApi.Dtos.V1.SyncWorkOrders_SyncInspectionsRequestInnerWorkOrderDetails
      • PlantScanner.API.WebApi.Dtos.V1.SyncWorkOrders_SyncInspectionsRequest
      • PlantScanner.API.Application.Boundaries_AffectedItemsStatistics
      • PlantScanner.API.WebApi.Dtos.V1.SyncWorkOrders_SyncWorkOrdersResponse
      • PlantScanner.API.Application.Boundaries_FailedItemDescription
      • PlantScanner.API.WebApi.Dtos.V1.SyncWorkOrders_SyncWorkOrdersPartialSuccessResponse
      • PlantScanner.API.WebApi.Dtos.V1.SyncWorkOrdersRuntime_MachineIntegrationPauseDto
      • PlantScanner.API.WebApi.Dtos.V1.SyncWorkOrdersRuntime_SyncWorkOrdersRuntimeRequest
      • PlantScanner.API.WebApi.Dtos.V1.SyncWorkOrdersRuntime_MachineIntegration
      • PlantScanner.API.WebApi.Dtos.V1.SyncWorkOrdersRuntime_CurrentWorkStation
      • PlantScanner.API.WebApi.Dtos.V1.SyncWorkOrdersRuntime_SyncWorkOrdersRuntimeResponse
      • PlantScanner.API.WebApi.Dtos.V1.SyncWorkOrdersRuntime_SyncWorkOrderProperties
      • PlantScanner.API.WebApi.Dtos.V1.SyncWorkOrdersRuntime_SyncWorkOrderPropertiesRequest
      • PlantScanner.API.Application.Boundaries.GetMaterials_ResultInspection
      • PlantScanner.API.WebApi.Dtos.v1.GetWorkOrdersChecks_GetInspectionsProcessesResponse
      • PlantScanner.API.WebApi.Dtos.V1.SyncMaterials_SyncInspectionProcessRequestInnerMaterial
      • PlantScanner.API.WebApi.Dtos.V1.SyncMaterials_SyncInspectionProcessRequest
      • PlantScanner.API.WebApi.Dtos.V1.SyncMaterials_SyncMaterialsResponse
      • PlantScanner.API.WebApi.Dtos.V1.SyncMaterials_SyncMaterialsPartialSuccessResponse
      • PlantScanner.API.WebApi.Dtos.V1.SyncMaterialInventories_SyncMaterialInventoriesRequestInnerInventory
      • PlantScanner.API.WebApi.Dtos.V1.SyncMaterialInventories_SyncMaterialInventoriesRequestInnerMaterialInventory
      • PlantScanner.API.WebApi.Dtos.V1.SyncMaterialInventories_SyncMaterialInventoriesRequest
      • PlantScanner.API.WebApi.Dtos.V1.SyncMaterialInventories_SyncMaterialInventoriesResponse
      • PlantScanner.API.WebApi.Dtos.V1.SyncMaterialInventories_SyncMaterialInventoriesPartialSuccessResponse
      • PlantScanner.API.Application.Boundaries.GetMaterials_ResultProcess
      • PlantScanner.API.Application.Boundaries.GetMaterials_ResultMaterial
      • PlantScanner.API.WebApi.Dtos.v1.GetWorkOrdersChecks_GetMaterialsResponse
      • PlantScanner.API.WebApi.Dtos.V1.SyncMaterials_SyncMaterialsRequestInnerMaterial
      • PlantScanner.API.WebApi.Dtos.V1.SyncMaterials_SyncMaterialsRequest
      • PlantScanner.API.Application.Boundaries.GetProgrammedStoppages_ResultProgrammedStoppageStatus
      • PlantScanner.API.Application.Boundaries.GetProgrammedStoppages_ResultArea
      • PlantScanner.API.Application.Boundaries.GetProgrammedStoppages_ResultWorkStation
      • PlantScanner.API.Application.Boundaries.GetProgrammedStoppages_ResultEmployee
      • PlantScanner.API.Application.Boundaries.GetProgrammedStoppages_ResultProgrammedStoppageTemaplate
      • PlantScanner.API.Application.Boundaries.GetProgrammedStoppages_ResultProgrammedStoppage
      • PlantScanner.API.WebApi.Dtos.V1.GetProgrammedStoppages_GetProgrammedStoppagesResponse
      • PlantScanner.API.Application.Boundaries.GetWorkOrders_ResultProducedQuantityLog
      • PlantScanner.API.Application.Boundaries.GetWorkOrders_ResultWorkOrderProduction
      • PlantScanner.API.WebApi.Dtos.V1.GetWorkOrders_GetWorkOrdersProductionResponse
      • PlantScanner.API.Application.Boundaries.SyncWorkOrders_WorkOrderToSyncStatus
      • PlantScanner.API.Application.Boundaries.SyncWorkOrders_ConsumedRawMaterialToSync
      • PlantScanner.API.Application.Boundaries.SyncWorkOrders_RawMaterialToSync
      • PlantScanner.API.WebApi.Dtos.V1.SyncWorkOrders_SyncWorkOrdersRequestInnerWorkOrder
      • PlantScanner.API.WebApi.Dtos.V1.SyncWorkOrders_SyncWorkOrdersRequestInnerWorkOrderDetails
      • PlantScanner.API.WebApi.Dtos.V1.SyncWorkOrders_SyncWorkOrdersRequest
      • PlantScanner.API.WebApi.Dtos.V1.SyncWorkOrdersPlanning_SyncWorkOrdersPlanningRequest
      • PlantScanner.API.Application.Boundaries.GetWorkOrdersChecks_ResultWorkOrderType
      • PlantScanner.API.Application.Boundaries.GetWorkOrdersChecks_ResultWorkOrderStatus
      • PlantScanner.API.Application.Boundaries.GetWorkOrdersChecks_ResultWorkOrderQualityCheckResponse
      • PlantScanner.API.Application.Boundaries.GetWorkOrdersChecks_ResultWorkOrderQualityCheckQuestion
      • PlantScanner.API.Application.Boundaries.GetWorkOrdersChecks_ResultWorkOrderQualityCheckQuestionGroup
      • PlantScanner.API.Application.Boundaries.GetWorkOrdersChecks_ResultWorkOrderQualityCheck
      • PlantScanner.API.Application.Boundaries.GetWorkOrdersChecks_ResultWorkOrderProcessChecks
      • PlantScanner.API.Application.Boundaries.GetWorkOrdersChecks_ResultWorkOrder
      • PlantScanner.API.WebApi.Dtos.v1.GetWorkOrdersChecks_GetWorkOrdersChecksResponse
      • PlantScanner.API.Application.Boundaries.GetWorkOrdersConsumedRawMaterials_ResultWorkOrderType
      • PlantScanner.API.Application.Boundaries.GetWorkOrdersConsumedRawMaterials_ResultWorkOrderStatus
      • PlantScanner.API.Application.Boundaries.GetWorkOrdersConsumedRawMaterials_ResultConsumedRawMaterial
      • PlantScanner.API.Application.Boundaries.GetWorkOrdersConsumedRawMaterials_ResultRawMaterial
      • PlantScanner.API.Application.Boundaries.GetWorkOrdersConsumedRawMaterials_ResultWorkOrder
      • PlantScanner.API.WebApi.Dtos.V1.GetWorkOrdersConsumedRawMaterials_GetWorkOrdersConsumedRawMaterialsResponse
      • PlantScanner.API.WebApi.Dtos.V1.SyncConsumedRawMaterial_ConsumedRawMaterialRequest
      • PlantScanner.API.WebApi.Dtos.V1.SyncConsumedRawMaterial_SyncConsumedRawMaterialRequest
      • PlantScanner.API.WebApi.Dtos.V1.SyncConsumedRawMaterial_SyncConsumedRawMaterialResponse
      • PlantScanner.API.Application.Boundaries.GetWorkOrdersHistory_ResultWorkOrderType
      • PlantScanner.API.Application.Boundaries.GetWorkOrdersHistory_ResultWorkOrderStatus
      • PlantScanner.API.Application.Boundaries.GetWorkOrdersHistory_ResultWorkStation
      • PlantScanner.API.Application.Boundaries.GetWorkOrdersHistory_ResultEmployee
      • PlantScanner.API.Application.Boundaries.GetWorkOrdersHistory_ResultWorkOrderRuntime
      • PlantScanner.API.Application.Boundaries.GetWorkOrdersHistory_ResultWorkOrderPlanningHistory
      • PlantScanner.API.Application.Boundaries.GetWorkOrdersHistory_ResultWorkOrderHistory
      • PlantScanner.API.WebApi.Dtos.V1.GetWorkOrdersHistory_GetWorkOrdersHistoryResponse
      • PlantScanner.API.Application.Boundaries.GetWorkStations_ResultArea
      • PlantScanner.API.Application.Boundaries.GetWorkStations_ResultInterval
      • PlantScanner.API.Application.Boundaries.GetWorkStations_ResultShift
      • PlantScanner.API.Application.Boundaries.GetWorkStations_ResultWorkStation
      • PlantScanner.API.WebApi.Dtos.V1.GetWorkOrders_GetWorkStationsResponse
      • PlantScanner.API.WebApi.Dtos.Hooks_ConsumedRawMaterialDetailHookDto
      • PlantScanner.API.WebApi.Dtos.Hooks_RawMaterialHookDto
      • PlantScanner.API.WebApi.Dtos.Hooks_WorkOrderDto
      • PlantScanner.Domain.Enum_HookTypeEnum
      • PlantScanner.API.WebApi.Dtos.Hooks_WorkOrderHookDto
      • PlantScanner.API.WebApi.Dtos.Hooks_MaterialSupplyHookDto
      • PlantScanner.API.WebApi.Dtos.Hooks_MaterialSupplyPayedHook
      • PlantScanner.API.WebApi.Dtos.Hooks_WorkOrderExecutionError
      • PlantScanner.API.WebApi.Dtos.Hooks_WorkOrderExecutionErrorsResponse
      • PlantScanner.API.WebApi.Dtos.Hooks_ProductionAlertDto
      • PlantScanner.API.WebApi.Dtos.Hooks_ProductionAlertHookDto
    • RequestBodies
      • PlantScanner.API.WebApi.Dtos.V1.SyncWorkOrdersRuntime_SyncWorkOrdersRuntimeRequestArray
HomeSobre a PlantScanner
HomeSobre a PlantScanner
  1. Home

Developers

Documentação PlantScanner#

Visão Geral#

APIs
Endpoints e integrações disponíveis na plataforma. Saiba mais
API REST
Webhooks
Integrações
Propriedades Reservadas
Propriedades especiais para controle e personalização. Saiba mais
Propriedades de Ordem de Serviço

APIs#

Autenticação OAuth2#

O PlantScanner utiliza OAuth2 para autenticação. Para integrar com a API, você precisará configurar um cliente OAuth com as seguintes credenciais:

Credenciais do Cliente#

{
  "client_id": "portal",
  "client_secret": "gsUkbqCMuv%YcX7z^YhBnJ!#@*uBs26&WpV7agO9H@dZ!unL",
  "scopes": [
    "plantscanner-portal-api",
    "plantscanner-api",
    "offline_access"
  ]
}

Endpoints de Autenticação#

URL de Autorização: https://login.plantscanner.io/connect/authorize
URL de Token: https://login.plantscanner.io/connect/token

Fluxo de Autenticação (Authorization Code)#

1.
Redirecione o usuário para a URL de autorização com os parâmetros necessários:
GET 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>
2.
Após a autorização, troque o código por um token:
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>
3.
Use o token recebido nas requisições subsequentes:
Authorization: Bearer <seu-token>

GraphQL API#

Além da API REST, o PlantScanner também fornece um endpoint GraphQL para consultas mais flexíveis.
Endpoint: /graphql
Recursos:
Suporte completo para consulta de ordens de serviço e dados relacionados
Capacidades integradas de filtragem e ordenação
Suporte a assinaturas em tempo real
Interface interativa para construção e teste de queries

Exemplo de Queries GraphQL#

Webhooks e Notificações#

É recomendado utilizar webhooks ao invés de polling as APIs. Para isso, habilite os webhooks e registre uma URL que receberá requisições POST quando os eventos abaixo ocorrerem. Também é possível receber notificações via SMS ou email.

Eventos Disponíveis#

IDEventoDescriçãoPayload
0ProductionAlertDisparado quando qualquer alerta de estação de trabalho é invocado por qualquer operadorProductionAlertHookDto
1WorkOrderPlannedDisparado quando uma ordem de serviço é agendada, desagendada ou deslocadaWorkOrderHookDto
2WorkOrderExecutionBeginDisparado quando uma ordem de serviço inicia a produçãoWorkOrderHookDto
3WorkOrderExecutionPausedDisparado quando uma ordem de serviço pausa a produçãoWorkOrderHookDto
4WorkOrderExecutionEndedDisparado quando o fluxo de uma ordem de serviço é concluídoWorkOrderHookDto
5WorkOrderResetDisparado quando uma ordem de serviço é resetadaWorkOrderHookDto
6WorkOrderConsumedRawMaterialUpdatedDisparado quando um material consumido é atualizado, mesmo com a ordem fechadaWorkOrderHookDto
7WorkOrderExecutionResumedDisparado quando uma ordem de serviço pausada é retomadaWorkOrderHookDto
8MaterialSupplyUpdatedDisparado quando um fornecimento de material é pagoMaterialSupplyPayedHook
9WorkOrderProducedQuantityUpdatedDisparado quando a quantidade produzida é atualizada via PortalWorkOrderHookDto
10CanWorkOrderFinalizeDisparado quando um operador tenta finalizar a ordem, permitindo verificações customizadasWorkOrderValidationDto
11CanWorkOrderTrackQuantityDisparado quando um operador tenta registrar quantidades boas/ruins, permitindo verificações customizadasWorkOrderValidationDto
12TagPrintedDisparado quando uma nova etiqueta é impressaTagPrintedDto

Estruturas de Payload#

Você consegue através da tela de WebHooks conseguir exemplos de cada um após pelo menos 1 execução.
Screenshot 2025-05-22 at 10.29.12.png
WorkOrderValidationDto#
{
  "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
}
TagPrintedDto#
{
    "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"
    }
}
WorkOrderHookDto#
{
  "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
}
ProductionAlertHookDto#
{
  "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
}
MaterialSupplyPayedHook#
{
  "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
    }
  ]
}

Limites e Restrições#

Rate Limiting#

Limite padrão: 100 requisições por minuto
Headers de resposta:
X-RateLimit-Limit: Limite total de requisições
X-RateLimit-Remaining: Requisições restantes
X-RateLimit-Reset: Timestamp de reset do limite

Paginação#

Parâmetros padrão:
page: Número da página (começa em 1)
limit: Itens por página (máximo 100)
Headers de resposta:
X-Pagination-Total: Total de itens
X-Pagination-Pages: Total de páginas
X-Pagination-Current: Página atual

Tratamento de Erros#

Códigos de Status HTTP#

CódigoDescriçãoExemplo de Resposta
200Sucesso{ "data": { ... } }
400Requisição inválida{ "errors": ["Parâmetro inválido"] }
401Não autorizado{ "error": "Token inválido ou expirado" }
403Acesso negado{ "error": "Sem permissão para acessar este recurso" }
404Recurso não encontrado{ "error": "Ordem de serviço não encontrada" }
412Erro de validação{ "errors": ["Data de início inválida"] }
429Muitas requisições{ "error": "Limite de requisições excedido", "retryAfter": 60 }
500Erro interno{ "logId": "uuid", "message": ["Erro interno do servidor"] }

Estrutura de Erro Padrão#

{
  "logId": "550e8400-e29b-41d4-a716-446655440000",
  "message": [
    "Descrição detalhada do erro"
  ],
  "stackTrace": [
    "Detalhes do stack trace (apenas em ambiente de desenvolvimento)"
  ]
}

Erros de Validação#

{
  "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"
  ]
}

Erros de Rate Limit#

{
  "error": "Limite de requisições excedido",
  "retryAfter": 60,
  "limit": 100,
  "remaining": 0,
  "reset": "2024-03-20T11:00:00Z"
}

API REST#

A API REST do PlantScanner fornece endpoints para gerenciamento de ordens de serviço, equipamentos, usuários e mais.

Propriedades Reservadas#

O PlantScanner utiliza propriedades reservadas para controle e personalização de diferentes aspectos do sistema. Estas propriedades são identificadas pelo prefixo PS:.

Integrações#

Serviços Suportados#

Webhooks

Configuração de Integrações#

Para configurar os seus próprios webhooks você pode usar a tela WebHooks

Logs#

Os logs do sistema são armazenados em arquivos locais e podem ser solicitados através do nosso email contato@plantscanner.io.

Nota: Esta documentação é um documento vivo e será atualizada conforme novos recursos são adicionados ou modificados.
Modificado em 2025-08-09 23:24:50
Próxima página
O que são as propriedades?
Built with