Punto final de la estación para transmisión de datos

Utiliza un punto final de estación API para transmitir datos de observación para las medidas de proceso y salida directamente en tablas de datos de estación.

Configuración del punto final

Esta ruta conecta con el recurso de la estación para la transmisión de datos.

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

El organismo solicitante acepta las siguientes propiedades:
  • apikey – la clave API para autenticación y autorización
  • acción – "streamData" – el nombre de la acción API
  • args – matriz JSON que contiene el cuerpo de la petición serializada. Para esta API, es un tipo de modelo DataStreamingRequestDTO serializado.
Cada solicitud de flujo de datos puede contener datos de hasta 50 subgrupos con 1000 observaciones.

Propiedades de petición

Propiedades para [DataStreamingRequestDTO]:

Proporcionar el external_station_id o el sys_id para la emisora.

  • external_station_id de cuerda  

    Identificador externo de estación, normalmente nombre de estación o estación de trabajo en SAP Digital Manufacturing.

  • int  station_id

    Sys_id para la estación.

  • Int   sampling_plan_id 

    Sys_id para el plan de muestreo. Opcional para un solo plan de muestreo; Es necesario si la estación tiene varios planes de muestreo asociados.

  • subgrupos array[SubgroupWithObservationsRequestDTO]    

    Lista de subgrupos con sus propiedades y observaciones para crear.

Propiedades para [SubgroupWithObservationsRequestDTO] :
  • Fecha y  hora

    Marca temporal para las observaciones. Opcional, la fecha y hora en ISO 8601, por defecto es la fecha y hora actuales para el servidor si no se proporciona. Para obtener más información, vaya a Requisitos de datos de marca de tiempo.

  • Descriptoresde array[Descriptor_valueRequestDTO]  

    Descriptores y sus valores para el subgrupo. Opcional.

  • observaciones de array[ObservationRequestDTO]  

    Para este subgrupo se requiere al menos una observación para este subgrupo.

Propiedades para [DescriptorValueRequestDTO] :

Proporciona el external_descriptor_id o el sys_id del descriptor.

  • descriptor_value de cuerda  

    Se requiere un valor descriptor.

  • cuerda   external_descriptor_id

    Identificador externo de descriptor.

  • int descriptor_id

    sys_id para el descriptor.

Propiedades para [ObservationRequestDTO] :

Proporciona el external_measure_id o el sys_id para la medida.

  • external_measure_id de cuerda  

    Identificador externo de medida para la observación.

  • Int measure_id

    sys_id por la medida.

  • Observaciónde flotadores    

    Se requiere valor para la observación.

  • Descriptoresde array[Descriptor_valueRequestDTO] 

    Descriptores y sus valores para la observación. Opcional.

Nota

Solo las medidas continuas, tanto de proceso como de salida, pueden transmitirse directamente a las tablas de estaciones.

Ejemplos de matrices JSON

El siguiente cuerpo de solicitud contiene los campos mínimos requeridos usando ids:
[
  {
    "station_id": 14,
    "subgroups": [
      {
        "observations": [
          {
            "observation": 3.5,
            "measure_id": 7
          }
        ]
      }
    ]
  }
]
El siguiente cuerpo de la solicitud contiene los campos mínimos requeridos usando identificadores externos:
[
  {
    "external_station_id": "Ribbon Manufacturing Station",
    "subgroups": [
      {
        "observations": [
          {
            "observation": 3.5,
            "external_measure_id": "Roll Width"
          }
        ]
      }
    ]
  }
]
El siguiente cuerpo de solicitud contiene todos los campos disponibles usando identificadores 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 de las solicitudes

Para el streaming de datos, Real-Time SPC devuelve el número de registros exitosos y fallidos.
{
  "success_count": 40,
  "failure_count": 2        
}

Esquema de validación

Para ahorrar tiempo y reducir errores, utiliza el siguiente esquema JSON con un validador externo para validar tu transmisión de datos a las solicitudes de endpoint de la estación.
{
  "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"]
    }
  }
}