All Downloads are FREE. Search and download functionalities are using the official Maven repository.

set-schemas.set_schema_1.0.0.json Maven / Gradle / Ivy

Go to download

Library that provides client access to the FIT-Connect api-endpoints for sending, subscribing and routing

The newest version!
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://schema.fitko.de/fit-connect/set-payload/1.0.0/set-payload.schema.json",
  "title": "Security Event Token (SET)",
  "description": "Security Event Token (SET) nach RFC 8417",
  "type": "object",
  "properties": {
    "$schema": {
      "description": "URI des Schemas, dem dieser Security Event Token entspricht.",
      "type": "string",
      "enum": [
        "https://schema.fitko.de/fit-connect/set-payload/1.0.0/set-payload.schema.json"
      ]
    },
    "jti": {
      "description": "Die JWT ID (jti) ist eine eindeutige UUID für das SET.",
      "type": "string",
      "format": "uuid"
    },
    "iss": {
      "description": "Als Issuer ('iss') wird die UUID der Destination eingetragen. Bei vom Zustelldienst ausgestellten SETs steht dort die Basis-URL des Zustelldienstes.",
      "type": "string"
    },
    "iat": {
      "description": "The 'iat' (issued at) claim identifies the time at which the JWT was issued.",
      "type": "integer",
      "minimum": 1577833200
    },
    "sub": {
      "description": "Das Subject ('sub') enthält 'submission:' und die UUID der Submission.",
      "type": "string",
      "pattern": "^submission:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"
    },
    "txn": {
      "description": "Der Transaction Identifier ('txn') enthält 'case:' und die UUID des Cases.",
      "type": "string",
      "pattern": "^case:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"
    },
    "events": {
      "description": "Enthält genau eines der spezifizierten Events als Unterobjekt.",
      "type": "object",
      "properties": {
        "https://schema.fitko.de/fit-connect/events/create-submission": {
          "description": "Mit diesem Event dokumentiert der Zustelldienst, dass eine Einreichung angelegt wurde.",
          "type": "object"
        },
        "https://schema.fitko.de/fit-connect/events/submit-submission": {
          "description": "Mit diesem Event dokumentiert der Zustelldienst, dass die Einreichung abgesendet wurde.",
          "type": "object",
          "properties": {
            "authenticationTags": {
              "title": "Authentication Tags",
              "description": "Authentication Tags des Meta- und Fachdatensatzes sowie der Anlagen",
              "type": "object",
              "properties": {
                "metadata": {
                  "$ref": "#/properties/events/properties/https%3A~1~1schema.fitko.de~1fit-connect~1events~1submit-submission/properties/authenticationTags/properties/data"
                },
                "data": {
                  "title": "Authentication Tag",
                  "description": "Struktur eines einzelnen Authentication Tags",
                  "type": "string",
                  "pattern": "^[a-zA-Z0-9-_=]+$",
                  "minLength": 22,
                  "maxLength": 86
                },
                "attachments": {
                  "type": "object",
                  "patternProperties": {
                    "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$": {
                      "$ref": "#/properties/events/properties/https%3A~1~1schema.fitko.de~1fit-connect~1events~1submit-submission/properties/authenticationTags/properties/data"
                    }
                  },
                  "additionalProperties": false
                }
              },
              "additionalProperties": false,
              "required": [
                "metadata"
              ]
            }
          },
          "required": [
            "authenticationTags"
          ]
        },
        "https://schema.fitko.de/fit-connect/events/notify-submission": {
          "description": "Mit diesem Event dokumentiert der Zustelldienst, dass das empfangende System Kenntnis von der Einreichung erlangt hat. Wie dies erfolgt ist, wird mit dem Eintrag `notifyType` dokumentiert.",
          "type": "object",
          "properties": {
            "notifyType": {
              "type": "string",
              "enum": [
                "callback",
                "polling"
              ]
            }
          },
          "required": [
            "notifyType"
          ]
        },
        "https://schema.fitko.de/fit-connect/events/forward-submission": {
          "description": "Mit diesem Event dokumentiert ein nachgelagertes System, dass es die Einreichung zur Weiterleitung übernommen hat.",
          "type": "object"
        },
        "https://schema.fitko.de/fit-connect/events/reject-submission": {
          "description": "Mit diesem Event dokumentiert das empfangende System, dass die Einreichung zurückgewiesen wird.",
          "type": "object",
          "properties": {
            "problems": {
              "title": "Problems",
              "description": "Liste der Probleme bei der Validierung einer Submission.",
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "type": {
                    "description": "Fehlercode in Form einer URI.",
                    "type": "string",
                    "pattern": "^https:\\/\\/schema\\.fitko\\.de\\/fit-connect\\/events\\/problems\\/[-a-z]+$"
                  },
                  "title": {
                    "description": "Für Menschen verständliche Fehlermeldung",
                    "type": "string"
                  },
                  "detail": {
                    "description": "Details zum Fehler, z.B. eine technische Fehlermeldung (optional)",
                    "type": "string"
                  },
                  "instance": {
                    "description": "Betroffener Teil der Übertragung. Mögliche Werte: `submission`, `metadata`, `data`, `attachment:` + UUID des Attachments oder `other`",
                    "type": "string",
                    "pattern": "^(submission|metadata|data|attachment:.+|other)$"
                  }
                },
                "required": [
                  "type",
                  "title",
                  "instance"
                ]
              }
            }
          },
          "required": [
            "problems"
          ]
        },
        "https://schema.fitko.de/fit-connect/events/accept-submission": {
          "description": "Mit diesem Event dokumentiert das empfangende System, dass die Einreichung akzeptiert wurde.",
          "type": "object",
          "properties": {
            "problems": {
              "$ref": "#/properties/events/properties/https%3A~1~1schema.fitko.de~1fit-connect~1events~1reject-submission/properties/problems"
            },
            "authenticationTags": {
              "$ref": "#/properties/events/properties/https%3A~1~1schema.fitko.de~1fit-connect~1events~1submit-submission/properties/authenticationTags"
            }
          },
          "required": [
            "authenticationTags"
          ]
        },
        "https://schema.fitko.de/fit-connect/events/delete-submission": {
          "description": "Mit diesem Event dokumentiert der Zustelldienst, dass die Einreichung gelöscht wurde.",
          "type": "object"
        }
      },
      "additionalProperties": false,
      "minProperties": 1,
      "maxProperties": 1
    }
  },
  "additionalProperties": false,
  "required": [
    "$schema",
    "jti",
    "iss",
    "iat",
    "sub",
    "txn",
    "events"
  ]
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy