Schnittstelle und API
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.