Direkt zum Inhalt

Application Programming Interface (API)

Was ist eine API?

API ist die Abkürzung für „Application Programming Interface“ (Anwendungsprogrammierschnittstelle). Eine API ist ein Tool, das es Anwendungen ermöglicht, miteinander zu kommunizieren.

Das Funktionsprinzip einer API ist sehr einfach. Eine Anwendung sendet Daten (bekannt als Anfrage) an einen Server. Der Server verarbeitet diese Informationen und sendet eine Antwort zurück. Die Anwendung interpretiert diese Daten dann und stellt sie in lesbarer Form dar.

Die Antwort erfolgt in der Regel im JSON-Format. JSON ist ein offenes Standard-Datenformat, das leichtgewichtig und für Menschen lesbar ist. Es wird in vielen Programmiersprachen unterstützt.

Der große Vorteil einer API besteht darin, dass Entwickler nicht wissen müssen, wie ein Server diese Informationen verarbeitet, was ihre Arbeit vereinfacht. Und auch aufgrund dieses Vorteils können Unternehmen ihre Daten und Funktionen sicher an Dritte weitergeben.

APIs sind äußerst beliebt. Alle gängigen Anwendungen wie Facebook, Amazon und viele andere verwenden sie.

Was ist REST?

Die zunehmende Nutzung von APIs in allen Marktsegmenten macht Protokolle, Standards und Regeln erforderlich, die den standardisierten Datenaustausch über die API erleichtern. Die am weitesten verbreitete Lösung für dieses Problem ist REST.

REST (Representational State Transfer) ist eine Reihe von Prinzipien oder Einschränkungen der Web-API-Architektur (kein Protokoll oder Standard), die vorschreiben, wie Webdienstanwendungen über das Internet kommunizieren. Zu diesem Zweck verwendet die REST-API (auch als RESTful API bekannt) das HTTP-Protokoll zwischen Client und Host-Server unter einer vordefinierten Reihe von URLs.

Struktur von REST-API-Anfragen und -Antworten

Anfrage:

  • Methode (HTTP-Verben: GET, PUT, POST, DELETE usw.)
  • URL (Ressource und Parameter)
  • Header (Metadaten der Anfrage)
  • Textkörper (Inhalt der Anfrage)

Antwort:

  • Statuscode
  • Header (Metadaten der Antwort)
  • Textkörper (Inhalt der Antwort)

HTTP-Verben

  • GET: Die GET-Methode wird verwendet, um Daten auf dem Server zu lesen (abzurufen).
  • POST: Die POST-Methode wird verwendet, um Daten zu erstellen.
  • PUT: Die PUT-Methode wird verwendet, um Daten zu aktualisieren.
  • DELETE: Die DELETE-Methode wird verwendet, um Daten zu löschen.

URL-Struktur

URL-Path-description

  • Hostname: Definiert die Adresse des Servers, der die Daten bereitstellt.
  • Base Path: Definiert den API-Produktnamen, der in der Regel mit einer Geschäftseinheit verknüpft ist, sowie die Version.
  • Ressourcenname: Definiert die spezifische API-Ressource, die weitere Details und Erläuterungen zu möglichen API-Anforderungsoptionen enthält.
  • Abfrageparameter: Können verwendet werden, um zusätzliche Anforderungsinformationen zu senden, z. B. zum Filtern, Sortieren oder für andere Aktionen.

Antwortcodes

HTTP-Statuscodes sind dreistellige Codes, die im HTTP-Header übermittelt werden. Sie geben an, ob eine bestimmte HTTP-Anfrage erfolgreich abgeschlossen wurde. Sie helfen auch dabei, die Ursache des Problems zu ermitteln, wenn eine Ressource nicht ordnungsgemäß geladen wird.

Diese Codes sind in fünf Klassen unterteilt:

  1. Informationsantworten (100–199)
  2. Erfolgreiche Antworten (200–299)
  3. Umleitungsnachrichten (300–399)
  4. Antworten auf Client-Fehler (400–499)
  5. Antworten auf Server-Fehler (500–599)

Die häufigsten Antworten sind:

HTTP CODE STATUS Beschreibung
200 OK Die Anfrage war erfolgreich
201 Created Die Anfrage wurde erfüllt und führte zur Erstellung einer neuen Ressource
400 Bad Request Die Anfrage konnte vom Server aufgrund einer falschen Syntax nicht verstanden werden
401 Unauthorized Die Anfrage erfordert eine Benutzerauthentifizierung
403 Forbidden Der Client hat keine Zugriffsrechte auf den Inhalt
404 Not Found Der Server hat nichts gefunden, was dem Request-URI entspricht
429 Too Many Requests Der Benutzer hat in einem bestimmten Zeitraum zu viele Anfragen gesendet („Rate Limiting“)
500 Internal Server Error Der Server hat einen unerwarteten Zustand festgestellt, der ihn daran gehindert hat, die Anfrage zu erfüllen
502 Bad Gateway Der Server, der als Gateway oder Proxy fungiert, hat eine ungültige Antwort vom Upstream-Server erhalten, auf den er zugegriffen hat, um die Anfrage zu erfüllen
503 Service Unavailable Der Server kann die Anfrage derzeit aufgrund einer vorübergehenden Überlastung oder Wartung des Servers nicht bearbeiten
504 Gateway Timeout Der Server fungiert als Gateway und kann keine rechtzeitige Antwort auf eine Anfrage erhalten

Glossary

Begriff Beschreibung
Analytics Metriken und Erkenntnisse, die API-Nutzern zur Verfügung gestellt werden, damit sie Nutzungsmuster, Leistung und andere relevante Daten überwachen und so letztlich ihre API-Integration optimieren können.
API API (Application Programming Interface) ist eine Anwendungsprogrammierschnittstelle, die die Regeln und Protokolle fest legt, nach denen Softwareanwendungen miteinander kommunizieren und interagieren.
API Consumer Entwickler eines API-Konsumenten oder Softwareanwendungen, die APIs nutzen, um auf bestimmte Funktionen oder Daten zuzugreifen.
API Gateway (backend-facing) Stellt Enterprise Service APIs (Backend) für die externe Nutzung und die Nutzung durch BFFs/BFIs im Falle von Nord-Süd-Datenverkehr (API-Nutzung durch andere Backends nur in Ausnahmefällen, in denen ereignisgesteuerte Ansätze nicht durchführbar oder sinnvoll sind) bereit.
API Gateway (consumer-facing) Legt API gegenüber API-Konsumenten offen, einschließlich Anwendungen, Benutzeroberflächen, Customer Journeys, externen Partnern usw. Das API-Gateway dient als API-Zugangspunkten für Konsumenten. Registrierte Konsumenten-Apps können eine API mit Schlüsseln und Secrets oder anderen Authentifizierungsmethoden aufrufen.
API Provider Unternehmen, Organisationen oder Einzelpersonen, die APIs zur Nutzung durch Entwickler entwickeln und anbieten.
Authentifizierung  Der Verifizierungsprozess zur Bestätigung der Identität und Berechtigungen eines Benutzers oder einer Anwendung, die API-Zugriff anfordert.
Backend-for-frontend (BFF) Eine UI-spezifische Komponente, die APIs nutzt, die vom Backend-API-Gateway bereitgestellt werden, Datentransferobjekten (DTOs) erstellt und einfache Lösungen implementiert, um Performance, Zwischenspeicherung usw. sicherzustellen. BFFs werden nur von einer bestimmten Benutzeroberfläche genutzt und sind Teil dieser Benutzeroberfläche.
Backend-for-integration (BFI) Eine Verbraucherspezifische Komponente, die sich auf die Bereitstellung maßgeschneiderter APIs für bestimmte Partner konzentriert; die Nutzung von APIs, die vom Backend-API-Gateway bereitgestellt werden, die Erstellung von Datentransferobjekten (DTOs) und die Implementierung von leichtgewichtigen Lösungen zur Sicherstellung von Perfomance, Zwischenspeicherung usw. BFIs werden nur von einem bestimmten externen Partner genutzt und sind Teil der spezifischen Integrationslogik mit diesem externen Partner. Im Idealfall implementieren BFIs das Facade-Pattern.
Documentation Umfassende Informationen und Anweisungen von API-Provider, die Entwicklern bei der effektiven Nutzung ihrer APIs helfen.
Endpoint Eine bestimmte URL innerhalb einer API, die eine Ressource oder eine bestimmte Funktionalität darstellt. Entwickler stellen Anfragen an diese Endpunkte, um mit der API zu interagieren.
Identity Provider Stellt die Identitäten und Token für API Gateway, das Entwicklerportal und alle anderen Komponenten, die eine tokenbasierte Authentifizierung oder andere Formen der Authentifizierung erfordern, bereit.
Integration Der Prozess der Einbindung und Nutzung einer API in einer Softwareanwendung zur Erweiterung ihrer Funktionen.
Quota Eine von API Gateway implementierte Technik zur Kontrolle der Anzahl von API-Anfragen, die ein Benutzer oder eine Anwendung innerhalb eines bestimmten größeren Zeitrahmens stellen kann, um die Anzahl der für einen Verbraucher zulässigen Anfragen zu begrenzen. Wird meist zusammen mit Rate Limiting verwendet. 
Rate Limiting Eine von API Gateway implementierte Technik zur Steuerung der Anzahl von API-Anfragen, die ein Benutzer oder eine Anwendung innerhalb eines bestimmten kurzen Zeitraums stellen kann, um eine faire Nutzung zu gewährleisten und Missbrauch zu verhindern. Wird meist zusammen mit Quotas verwendet.
Request Ein Aufruf eines API-Konsumenten an einen API-Endpunkt, der in der Regel den gewünschten Vorgang, die Parameter und die Daten angibt, um Informationen abzurufen oder eine Aktion auszuführen.
Response Die von einem API-Endpunkt als Antwort auf eine Anfrage eines API-Konsumenten zurückgegebenen Daten und Informationen. Sie umfassen Statuscodes, Header und die eigentliche Datennutzlast.
REST Representational State Transfer, ein weit verbreiteter Architekturstil für die Gestaltung vernetzter Anwendungen, einschließlich APIs, der den Schwerpunkt auf zustandslose Kommunikation und ressourcenorientiertes Design legt.
SDK Eine Abkürzung für Software Development Kit, das Tools, Bibliotheken und Dokumentationen umfasst, die Entwicklern die Integration und Arbeit mit bestimmten APIs erleichtern.
Testing Sandbox Eine kontrollierte Umgebung innerhalb von API-Marketplaces, die es Entwicklern ermöglicht, ihre Anwendungen und APIs zu testen, ohne Produktionsdaten oder -dienste zu beeinträchtigen.
Versionierung  Die Praxis, eindeutige Kennungen, wie z. B. Versionsnummern, zuzuweisen, um Änderungen, Aktualisierungen und Abwärtskompatibilität effektiv zu verwalten.
Webhooks Ein von einigen APIs bereitgestellter Mechanismus, mit dem Entwickler eine URL registrieren können, um automatische Benachrichtigungen oder Datenaktualisierungen zu erhalten, sobald ein bestimmtes Ereignis oder ein bestimmter Auslöser eintritt.

 

About us

We build custom-fit developer portals in Drupal, a proven enterprise-ready technology with a large consultant and developer community.

API catalog

Category 1

Category 2

Category 3

Category for hover

bottom_navigation_image

We are here to make insurance simple for you.