ihk-content-provider-api

IHK Content Provider API

API und SPI-Definition für den Prüfungsmanager - einer Management-Shell für IHK Zwischen- und Abschlussprüfungen

Was ist der Prüfungsmanager

Der u-form Prüfungsmanager ist eine Managementplattform für die Durchführung von Prüfungen. Der Schwerpunkt liegt in der Durchführung von digitalen Zwischen- und Abschlussprüfungen der IHK-Organisationen.

Die Plattform besteht aus einem Managementanteil, die das Handling von Teilnehmenden und Teilnahmen managt. Eine Teilnahmen bedeutet: Die Teilnahme einer Person an einer Prüfung zu einem Zeitpunkt für ein Prüfungsfach.

Die zu prüfenden Inhalte stellen “content provider” (Inhaltsanbieter) zur Verfügung. Um die Inhalte zum richtigen Zeitpunkt mit Teilnahmen zu verbunden, den Ablauf der Prüfung zu steuern und zu überwachen sowie nach Abschluss der Prüfung die Ergebnisse zur Auswertung an die IHK-GfI GmbH zu übermitteln, implementieren die Inhaltsanbieter eine Serviceschnittstelle (SPI). Die Registrierung eines Inhaltsanbieters erfolgt wiederum über eine API im Prüfungsmanager.

Kurz dargestellt:

Beide Schnittstellen sind in diesem Repository als OpenAPI 3.0.x-Definition beschrieben.

Konzept des SPI

Die Grundfunktionen des SPI sind im Wesentlichen:

Alle Aufrufe erfolgen durch den Prüfungsmanager an den/die Inhaltsanbieter. Ausnahme ist hier eine laufende Subscription. In diesem Fall werden die Daten über SSE oder Websockets an den Prüfungsmanager gesendet.

Inhaltsanbieter (content provider)

Inhaltsanbieter sind für die Bereitstellung der Prüfungsinhalte verantwortlich. Sie implementieren die SPI, um mit dem Prüfungsmanager zu kommunizieren und die erforderlichen Funktionen bereitzustellen.

Konzept des Datenaustauschmodells

Das Datenaustauschmodell beschreibt die Struktur der Daten, die zwischen dem Prüfungsmanager und den Inhaltsanbietern sowie integrierten Systemen ausgetauscht werden.

Das Datenmodel ist in mehrere Level unterteilt, die jeweils unterschiedliche Aspekte der Prüfungsinhalte und -strukturen abbilden. Die Level sind:

Überblick über das Datenaustauschmodell

Die Definitionen sind in JSON Schema und OpenAPI 3.0.x-Format verfügbar.

Technische Schnittstellendefinitionen

Beschreibung der APIs

Die technischen Definitionen beschreiben die Schnittstellen im OpenAPI-Format V3

Technische Definition der Content Provider API

Technische Definition der Content Provider SPI

JSON Schema-Definitionen für Prüfungsdatenstrukturen

Die JSON Schema-Definitionen beschreiben die Datenstrukturen für die verschiedenen Level des Datenaustauschmodells:

Wiederverwendbare Typdefinitionen:

JSON-Beispielstruktur für CMI5-konforme Prüfungsinhalte

Nachfolgend ein Beispiel für eine CMI5-konforme JSON-Struktur mit einer Assignable Unit (AU) für “Medienkaufleute Digital und Print”:

{
  "courseStructure": {
    "course": {
      "id": "https://example.pruefung.io/courses/zp/f25/5598/medienkaufleute-2025",
      "title": {
        "langstring": [
          {
            "lang": "de",
            "value": "ZP F25 Medienkaufleute Digital und Print"
          }
        ]
      },
      "description": {
        "langstring": [
          {
            "lang": "de",
            "value": "IHK-Zwischenprüfung Frühjahr 2025 für Medienkaufleute Digital und Print"
          }
        ]
      }
    },
    "au": {
      "id": "https://example.pruefung.io/au/zp/f25/5598/wiso/medienkaufleute-2025-wiso",
      "moveOn": "Completed",
      "masteryScore": 1,
      "launchMethod": "AnyWindow",
      "activityType": "examination",
      "title": {
        "langstring": [
          {
            "lang": "de",
            "value": "ZP F25 Medienkaufleute Digital und Print Wiso"
          }
        ]
      },
      "description": {
        "langstring": [
          {
            "lang": "de",
            "value": "IHK Zwischenprüfung Frühjahr 2025 für Medienkaufleute Digital und Print. Prüfungsbereich Wiso"
          }
        ]
      },
      "url": "https://zp.pruefung.io",
      "pmdata": {
        "metadata": {
          "berufsnummer": "5598",
          "pruefungszeitpunkt": "F25",
          "pruefungsbereich": "Wiso",
          "erstellungseinrichtung": "ZPA"
        },
        "fragen": [
          {
            "id": "1",
            "titel": "Was ist der Hauptzweck des Marketings?",
            "interactiontypes": "fill-in"
          }
        ]
      }
    }
  }
}

Diese JSON-Struktur enthält:

Course-Definition:

Assignable Unit (AU) für “Medienkaufleute Digital und Print”:

Die JSON-basierte Struktur bietet gegenüber XML folgende Vorteile: