Ponto final da estação para streaming de dados

Use um endpoint de estação API para transmitir dados de observação para as medidas de processo e saída diretamente nas tabelas de dados da estação.

Configuração do ponto final

Essa rota se conecta ao recurso da estação para transmissão de dados.

https: //spc.minitab.com/api/app/spc/Station/?apikey={APIKEY}&action=streamData&args=[{JSON}]

O órgão solicitante aceita as seguintes propriedades:
  • apikey – a chave API para autenticação e autorização
  • ação – "streamData" – o nome da ação da API
  • args – array JSON que contém o corpo da requisição serializada. Para essa API, trata-se de um modelo DataStreamingRequestDTO serializado.
Cada requisição de fluxo de dados pode conter dados de até 50 subgrupos com 1000 observações.

Propriedades de solicitação

Propriedades para [DataStreamingRequestDTO]:

Fornecer a external_station_id ou a sys_id para a estação.

  • corda   external_station_id

    Identificador externo da estação, geralmente nome da estação ou estação de trabalho na SAP Digital Manufacturing.

  • int  station_id

    Sys_id para a estação.

  • int   sampling_plan_id 

    Sys_id para o plano de amostragem. Opcional para um único plano de amostragem; É necessário se vários planos de amostragem estiverem associados à estação.

  • array[SubgroupWithObservationsRequestDTO]   subgrupos 

    Lista de subgrupos com suas propriedades e observações a serem criadas.

Propriedades para [SubgrupoWithObservationsRequestDTO] :
  • Data-hora  e carimbo de data e hora

    Carimbo de data para as observações. Opcional, data-hora na ISO 8601, padrão para a data e hora atuais do servidor se não for fornecida. Para obter mais informações, vá para Requisitos de dados de carimbo de tempo.

  • Descritores de array[Descriptor_valueRequestDTO]  

    Descritores e seus valores para o subgrupo. Opcional.

  • observações de array[ObservationRequestDTO]  

    Para observações para esse subgrupo, é necessária pelo menos 1 observação.

Propriedades para [DescriptorValueRequestDTO] :

Forneça o external_descriptor_id ou o sys_id para o descriptor.

  • corda  descriptor_value

    O valor do descritor é necessário.

  • external_descriptor_id de corda  

    Identificador de descritor externo.

  • int descriptor_id

    sys_id para o descritor.

Propriedades para [ObservationRequestDTO] :

Forneça o external_measure_id ou o sys_id para a medida.

  • external_measure_id de corda  

    Identificador externo de medida para a observação.

  • int measure_id

    sys_id pela medida.

  • Observaçãode flutuadores    

    É necessário valor para a observação.

  • Descritores de array[Descriptor_valueRequestDTO] 

    Descritores e seus valores para a observação. Opcional.

Observação

Somente medidas contínuas, de processo e de saída, podem ser transmitidas diretamente para as tabelas de estações.

Exemplos de arrays JSON

O corpo da requisição a seguir contém campos mínimos obrigatórios usando ids:
[
  {
    "station_id": 14,
    "subgroups": [
      {
        "observations": [
          {
            "observation": 3.5,
            "measure_id": 7
          }
        ]
      }
    ]
  }
]
O corpo da requisição a seguir contém campos mínimos exigidos usando IDs externos:
[
  {
    "external_station_id": "Ribbon Manufacturing Station",
    "subgroups": [
      {
        "observations": [
          {
            "observation": 3.5,
            "external_measure_id": "Roll Width"
          }
        ]
      }
    ]
  }
]
O corpo da requisição a seguir contém todos os campos disponíveis usando IDs externos:
[
  {
    "external_station_id": "Ribbon Manufacturing Station",
    "sampling_plan_id": 11,
    "subgroups": [
      {
        "timestamp": "2024-12-11 19:55:18Z",
        "descriptors": [
          { 
            "external_descriptor_id": "Batch Number",
            "descriptor_value": "4973" 
          }
        ],
        "observations": [
          {
            "observation": 3.5,
            "external_measure_id": "Roll Width",
            "descriptors": [
              { 
                "external_descriptor_id": "Roll Color",
                "descriptor_value": "Blue" 
              }
            ]
          }
        ]
      }
    ]
  }
]

Resultados dos pedidos

Para streaming de dados, retorna Real-Time SPC o número de registros bem-sucedidos e falhados.
{
  "success_count": 40,
  "failure_count": 2        
}

Esquema de validação

Para economizar tempo e reduzir erros, use o seguinte esquema JSON com um validador externo para validar seus dados transmitidos para as solicitações do endpoint da estação.
{
  "title": "DataStreamingRequestDto",
  "description": "",
  "type": "object",
  "properties": {
    "sampling_plan_id": {
      "type": ["integer","null"],
      "minimum": 1
    },
    "external_station_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 255
    },
    "station_id": {
      "type": "integer",
      "minimum": 1
    },
    "subgroups": {
      "type": "array",
      "maxItems": 50,
      "minItems": 1,
      "items": {
        "$ref": "#/$defs/SubgroupWithObservationsRequestDto"
      }
    }
  },
  "required": ["subgroups"],
  "oneOf": [
    {
      "required": ["external_station_id"]
    },
    {
      "required": ["station_id"]
    }
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$defs": {
    "DescriptorValueRequestDto": {
      "title": "DescriptorValueRequestDto",
      "description": "",
      "type": "object",
      "properties": {
        "descriptor_value": {
          "type": "string",
          "minLength": 1,
          "maxLength": 255,
          "pattern": "^(?!\\s*$).+"
        },
        "external_descriptor_id": {
          "type": "string",
          "minLength": 1,
          "maxLength": 255
        },
        "descriptor_id": {
          "type": "integer",
          "minimum": 1
        }
      },
      "required": ["descriptor_value"],
      "oneOf": [
        {
          "required": ["external_descriptor_id"]
        },
        {
          "required": ["descriptor_id"]
        }
      ]
    },
    "ObservationRequestDto": {
      "title": "ObservationRequestDto",
      "description": "",
      "type": "object",
      "properties": {
        "external_measure_id": {
          "type": "string",
          "minLength": 1,
          "maxLength": 255
        },
        "measure_id": {
          "type": "integer",
          "minimum": 1
        },
        "observation": {
          "type": ["number", "null"],
          "minimum": -10000000000,
          "maximum": 10000000000
        },
        "descriptors": {
          "type": ["array", "null"],
          "maxItems": 100,
          "items": {
            "$ref": "#/$defs/DescriptorValueRequestDto"
          }
        }
      },
      "required": ["observation"],
      "oneOf": [
        {
          "required": ["external_measure_id"]
        },
        {
          "required": ["measure_id"]
        }
      ]
    },
    "SubgroupWithObservationsRequestDto": {
      "title": "SubgroupWithObservationsRequestDto",
      "description": "",
      "type": "object",
      "properties": {
        "timestamp": {
          "type": ["string", "null"],
           "pattern": "^(\\d{4}-\\d{2}-\\d{2}[T ]\\d{2}:\\d{2}:\\d{2}(?:Z|(?:[+-]\\d{2}:\\d{2})|)?)$",
          "$comment": "Value must be a valid date-time with optional timezone.",
          "examples": [
            "\"2025-01-01T01:23:45\"",
            "\"2025-01-01 01:23:45\"",
            "\"2025-01-01T01:23:45Z\"",
            "\"2025-01-01 01:23:45Z\"",
            "\"2025-01-01T01:23:45-05:00\"",
            "\"2025-01-01 01:23:45-05:00\""
          ]
        },
        "descriptors": {
          "type": ["array", "null"],
          "maxItems": 100,
          "items": {
            "$ref": "#/$defs/DescriptorValueRequestDto"
          }
        },
        "observations": {
          "type": "array",
          "maxItems": 1000,
          "minItems": 1,
          "items": {
            "$ref": "#/$defs/ObservationRequestDto"
          }
        }
      },
      "required": ["observations"]
    }
  }
}