Was ist eine API? Schnittstellen verständlich erklärt
Eine Schnittstelle ist eine Vereinbarung zwischen zwei Systemen: Wer fragt wie, wer antwortet was, und was gilt, wenn etwas nicht klappt. Der letzte Teil ist der wichtigste — und der, der in Projekten am häufigsten fehlt.
Das lernen Sie
Eine Schnittstelle ist eine Vereinbarung
Wenn ein Shop eine Bestellung an die Warenwirtschaft übergibt, sprechen die beiden Systeme nicht einfach miteinander. Es gibt eine festgelegte Stelle, an der das eine System etwas anfragen kann, eine festgelegte Form für diese Anfrage, eine festgelegte Form für die Antwort — und eine Vereinbarung, was gilt, wenn etwas fehlt.
Diese Vereinbarung ist die Schnittstelle, auf Englisch Application Programming Interface, kurz API. Der technische Teil ist dabei oft der einfachere. Der schwierige Teil ist die Einigung darüber, welche Felder verpflichtend sind, welche Werte zulässig sind und wer bei Widersprüchen entscheidet.
Wie eine Anfrage abläuft
System A · Shop
- Bestellung wird aufgegeben
- Anfrage an die Schnittstelle
- Wartet auf Antwort
Schnittstelle
- Prüft Anmeldung und Rechte
- Prüft die Daten auf Vollständigkeit
- Übersetzt Felder und Formate
- Antwortet: angenommen oder abgelehnt mit Grund
System B · Warenwirtschaft
- Legt den Auftrag an
- Meldet eine Auftragsnummer zurück
- Lehnt ab, wenn ein Artikel unbekannt ist
Drei Dinge fallen an dieser Darstellung auf. Erstens: Die Schnittstelle prüft, bevor sie weitergibt — sonst landen fehlerhafte Daten im Zielsystem. Zweitens: Sie übersetzt, weil zwei Systeme dieselbe Sache fast nie gleich benennen. Drittens: Sie antwortet auch im Ablehnungsfall, und zwar mit einem Grund.
Abfragen oder benachrichtigt werden
Es gibt zwei Grundmuster, und die Wahl zwischen ihnen hat praktische Folgen.
In der Praxis werden beide oft kombiniert: Benachrichtigungen für den Normalfall, eine regelmäßige Abfrage als Netz darunter. Diese Doppelung ist kein Mehraufwand ohne Grund — sie ist die Antwort auf die Frage, was bei einer verlorenen Meldung passiert.
Ein Beispiel aus der Praxis
Die Bestellung, die niemand sah
Ein Shop meldet jede Bestellung per Benachrichtigung an die Warenwirtschaft. An einem Dienstag ist die Warenwirtschaft für zwanzig Minuten nicht erreichbar. Der Shop verschickt die Meldungen, bekommt keine Antwort — und verwirft sie. Vier Bestellungen fehlen, auffallen wird es beim Monatsabgleich.
Die Lösung ist nicht mehr Technik, sondern eine Vereinbarung: Meldungen werden wiederholt, bis sie bestätigt wurden, und was nach mehreren Versuchen nicht ankommt, landet in einer Liste, die ein Mensch sieht. Dazu gehört, dass eine zweimal zugestellte Meldung keinen zweiten Auftrag erzeugt.
Der Fehlerfall ist die halbe Arbeit
Eine Schnittstelle, die im Normalfall funktioniert, ist halb fertig. Dazu gehören:
Diese vier Punkte unterscheiden eine Schnittstelle, die man betreiben kann, von einer, die funktioniert, solange niemand hinsieht.
Sechs Fragen vor jeder Schnittstelle
Wer diese sechs Fragen vor dem Bauen beantwortet, hat den schwierigen Teil hinter sich. Wer sie überspringt, beantwortet sie später im Betrieb — unter Zeitdruck.
Häufige Missverständnisse
Weiterführende Quellen
- RFC 9110 — HTTP Semantics der Standard hinter Anfragen, Antworten und Statuscodes
- RFC 9457 — Problem Details for HTTP APIs einheitliches Format für Fehlerantworten
Über den Autor
Fabian Lücker ist geschäftsführender Gesellschafter der PHP-Schmiede KG in Rheine und seit 2007 in der Softwareentwicklung tätig. Er verantwortet Entwicklung und Konzeption und schreibt hier über Entscheidungen, die in echten Projekten anfallen.
Zwei Systeme, die sich nicht kennen?
Nennen Sie uns die beiden Seiten und was übertragen werden soll. Wir klären die sechs Fragen mit Ihnen.