DE · AT · CHGlossar

Schnittstelle und API

Aktualisiert:

Kurz gesagt

Eine API ist eine Programm-Schnittstelle: Sie legt fest, welche Anfragen ein Programm wie ein Kassensystem an ein anderes wie ein ERP-System richten darf und was zurückkommt. Läuft die Schnittstelle über HTTP, gehen die Anfragen als HTTP-Nachrichten mit Statuscode-Antwort (RFC 9110); die OpenAPI Specification beschreibt solche HTTP-APIs herstellerunabhängig.

Das Wichtigste

  • API steht für Application Programming Interface: eine Schnittstelle für Programme, nicht für Menschen am Bildschirm.
  • Eine HTTP-Anfrage enthält Methode und Zieladresse und kann Kopfzeilen und Inhalt tragen; die Antwort enthält einen Statuscode (RFC 9110, Abschnitt 3.4).
  • Der Statuscode 200 (OK) zeigt an, dass die Anfrage erfolgreich war (RFC 9110, Abschnitt 15.3.1).
  • JSON ist ein textbasiertes, sprachunabhängiges Format für strukturierte Daten; sein Medientyp ist application/json (RFC 8259).
  • Die OpenAPI Specification beschreibt HTTP-APIs herstellerunabhängig; aktuell ist Version 3.2.1 vom 10. September 2026.

Definition

Eine API (Application Programming Interface) ist eine Schnittstelle zwischen Programmen: Der aufrufende Partner sendet eine vereinbarte Anfrage und erhält eine definierte Antwort, ohne den internen Aufbau des anderen Programms zu kennen. Die Schnittstelle bestimmt, welche Anfragen zulässig sind, welche Daten sie tragen und in welcher Form die Antwort kommt.

Wozu Kasse und ERP eine API verwenden

Kassensystem und ERP-Software sind getrennte Programme mit getrennten Datenbeständen. Das ERP führt Lagerbestand, Artikelpreise und Finanzbuchhaltung; die Kasse zeichnet die Vorgänge an der Theke auf. Über eine API kann die Kasse jeden verkauften Artikel ans ERP melden und Artikeldaten oder Preise aus dem ERP abrufen. Welche Schnittstellenarten es daneben gibt und wann welche sinnvoll ist, zeigt der Artikel zu Schnittstellen zwischen Kasse und ERP. Ob Ihr Kassensystem eine API zum angestrebten ERP anbietet und ob sie Zusatzkosten verursacht, gehört in die Angebotsprüfung.

Beispiel: Anfrage und Antwort zwischen Kasse und ERP

Das folgende Beispiel ist erfunden und zeigt das Muster. Die Kasse meldet einen Verkauf als HTTP-Anfrage an das ERP:

POST /v1/sales HTTP/1.1
Host: erp.beispielbetrieb.example
Content-Type: application/json
Content-Length: 176

{"register_id": "kasse-01", "belegnummer": "2026-0412-0007", "artikel": [{"ean": "4012345000123", "menge": 2, "preis_brutto": 16.25}], "summe_brutto": 32.50, "waehrung": "EUR"}

Das ERP bestätigt die Aufnahme mit einer Antwort, deren Statuscode 200 (OK) den Erfolg anzeigt:

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 47

{"status": "erfasst", "verkauf_id": "SV-92117"}

Die Kopfzeile Content-Length gibt die Länge des Inhalts in Bytes an; bei einer HTTP/1.1-Anfrage signalisiert sie (oder alternativ Transfer-Encoding), dass überhaupt ein Nachrichtenkörper folgt (RFC 9112, Abschnitt 6).

Pfad wie /v1/sales, Feldnamen und Fehlerantworten legt der Hersteller fest; stellt er eine OpenAPI-Beschreibung bereit, dokumentiert sie diese Vereinbarungen.

Was HTTP, JSON und OpenAPI damit zu tun haben

Der Aufbau von Anfrage und Antwort folgt dem Hypertext Transfer Protocol (HTTP). RFC 9110 „HTTP Semantics” (Juni 2022) beschreibt ihn: Eine Anfrage enthält Methode und Zieladresse und kann Kopfzeilen und Inhalt tragen; eine Antwort enthält einen Statuscode und kann ebenfalls Kopfzeilen und Inhalt tragen (Abschnitt 3.4). Der Statuscode 200 zeigt an, dass die Anfrage erfolgreich war (Abschnitt 15.3.1). Für strukturierte Daten im Inhalt steht JSON (RFC 8259, Dezember 2017) als textbasiertes, sprachunabhängiges Format zur Verfügung; sein Medientyp ist application/json.

Die OpenAPI Specification der OpenAPI Initiative definiert eine standardisierte, programmiersprachenunabhängige Schnittstellenbeschreibung für HTTP-APIs, sodass Menschen und Programme die Fähigkeiten eines Dienstes ohne Einblick in den Quellcode oder in den Netzwerkverkehr verstehen können. Ein OpenAPI-Dokument ist selbst ein JSON-Objekt und darf als JSON oder YAML vorliegen; aktuell ist Version 3.2.1 vom 10. September 2026. Ob Ihr Hersteller eine solche Beschreibung anbietet, ist eine Angebotsfrage.

Keines dieser Dokumente ist Gesetz. Es bindet, wo Gesetz oder Vertrag darauf verweist oder ein Hersteller seine Schnittstelle entsprechend umgesetzt hat.

Nicht zu verwechseln mit

  • Der Bedienoberfläche: Das Kassendisplay richtet sich an Mitarbeitende, eine API an Programme.
  • Einem Datenexport: Eine exportierte Datei wird bereitgestellt und später eingelesen, nicht zur Laufzeit abgefragt. Die DSFinV-K ist ein solches Exportformat: die Beschreibung einer Schnittstelle für den Datenexport aus elektronischen Aufzeichnungssystemen für Außenprüfung und Kassen-Nachschau in Deutschland.

Häufige Fragen

Brauche ich für den Datenaustausch zwischen Kasse und ERP zwingend eine API?

Nein. Daten lassen sich auch als exportierte Datei oder durch manuelle Erfassung ans ERP bringen. Eine API kann sie beim Vorgang selbst liefern, muss aber nicht: HTTP sieht auch die asynchrone Verarbeitung vor, bei der die Schnittstelle den Eingang mit dem Statuscode 202 (Accepted) bestätigt (RFC 9110, Abschnitt 15.3.3) und die Verarbeitung noch nicht abgeschlossen ist. Welche Schnittstellen Ihr Kassensystem zum angestrebten ERP anbietet und wann sie welche Daten übergeben, prüfen Sie im Angebot beim Hersteller.

Wozu dient die OpenAPI Specification in der Praxis?

Sie beschreibt Endpunkte, Parameter und Antworten einer HTTP-API in einem festen Schema, als JSON oder YAML. Wenn der Hersteller eine solche Beschreibung seiner Schnittstelle bereitstellt, können Sie daran prüfen, welche Daten Ihr Kassensystem ans ERP liefern kann, bevor Sie einen Anschluss buchen.

Quellen

  1. RFC 9110: HTTP Semantics (Juni 2022)Internet Engineering Task Force (IETF), RFC Editor · abgerufen am
  2. RFC 8259: The JavaScript Object Notation (JSON) Data Interchange Format (Dezember 2017)Internet Engineering Task Force (IETF), RFC Editor · abgerufen am
  3. RFC 9112: HTTP/1.1 (Juni 2022)Internet Engineering Task Force (IETF), RFC Editor · abgerufen am
  4. OpenAPI Specification v3.2.1 (veröffentlicht 10. September 2026)OpenAPI Initiative (Linux Foundation) · abgerufen am
  5. Digitale Schnittstelle der Finanzverwaltung für Kassensysteme (DSFinV-K), BeschreibungBundeszentralamt für Steuern · abgerufen am