API sind aus der heutigen Web-Welt nicht mehr wegzudenken. Die Öffnung gegenüber Dritten ermöglicht eine sehr spannende Entwicklung im Web, da Plattformen und deren Inhalte enger zusammenwachsen. Dadurch können nicht nur Prozesse laufend optimiert werden, es entstehen auch neue oder weiterführende Dienstleistungen. Lesen Sie hier die Antworten rund um die wichtigsten Fragen zur API.
API steht für „Application Programming Interface“. Grundsätzlich handelt es sich dabei um eine Schnittstelle, die die Kommunikation und Interaktion zwischen zwei Systemen ermöglicht. Das heisst mit dieser Schnittstelle wird anderen Programmen ein Tool zur Verfügung gestellt, über welches sie sich an das Software System anbinden können. In Internetkreisen redet man meistens von Webservice APIs oder Web APIs d.h. von Schnittstellen zu Webseiten oder Webapplikationen. Auch die API von ricardo.ch ist eine Web API.
Die APIs dienen dazu Daten und Inhalte zwischen verschiedenen Webseiten, Programmen und Anbietern auszutauschen und weiterzuverarbeiten. Somit ermöglicht die API den Zugriff auf bisher verschlossene Datenpools und Benutzerkreise. Entwickler können so mit Hilfe der Schnittstelle die bereitgestellten Daten und Inhalte dynamisch in das eigene Programm integrieren. Durch die gemeinsame Nutzung der zur Verfügung gestellten Daten entstehen so neue Dienste.
Das User Interface (auch Frontend genannt) ist die visuelle Oberfläche. Das heisst, das User Interface bildet die Schnittstelle zwischen dem Benutzer und der dahinterliegenden Softwarelogik. Somit nimmt das User Interface die Daten des Benutzers entgegen und leitet diese zur Verarbeitung an die Software weiter. Anschliessend zeigt das User Interface die Resultate am Benutzer wieder an. Meistens wird die Oberfläche mittels HTML, CSS oder Flash umgesetzt und auf Usability (Benutzerfreundlichkeit) hin optimiert. Das Gegenstück zum User Interface sind die maschinenlesbaren APIs. Diese ermöglichen einen klaren abstrahierten und strukturierten Zugriff auf die Funktionen im Back-End (d.h. der Software-Logik), da über die APIs Daten in einer einfachen und strukturierten Form ausgetauscht werden können.
Ebenso wie die Webseite (d.h. das User Interface) entworfen werden muss, muss auch die API konzipiert und gestaltet werden. Da die Schnittstelle zuerst immer von einem Programmierer implementiert und getestet werden muss, stehen für den Programmierer verständliche Dokumentationen zur Verfügung. Damit der Wissenstransfer gelingt, haben sich eine Handvoll Standards (sogenannte Protokolle) etabliert. Zur Standardisierung der allgemeinen Struktur gibt es vor allem die Protokolle: SOAP, XML-RPC oder REST. Zur Standardisierung des Datenformats kommen meisten die beiden Standards XML oder JSON zum Tragen.
Es gibt verschiedene Typen von Web APIs. Im Folgenden werden die beiden Typen erläutert, die auch ricardo.ch anbietet:
Externe APIs
Wenn generell von API gesprochen wird, ist meist die externe API gemeint. Das heisst, anstelle dass die API die Schnittstelle zwischen dem User Interface und der Softwarelogik bildet, können die Daten über eine externe API ausgetauscht werden. Dies ist insbesondere interessant, um Inhalte bzw. Daten weiterzuverarbeiten.
Authentifizierungs- und Autorisierungs-APIs
Die Authentifizierungs- und Autorisierung-API ist ein Sondertyp. Bei dieser Schnittstelle geht es darum, dass der Benutzer identifiziert wird und seine Zugriffsrechte überprüft werden.