Langweilige und sich wiederholende Aufgaben? Das ist nichts für unseren heutigen Podcast Gast: Frank Schmidt – Leidenschaftlicher Ingenieur und seit vielen Jahren bei Ingenious. In der neuesten Technologie Erklärt Folge beschreibt er anschaulich, was APIs sind und wofür man sie eigentlich nutzt.

PM22 – Technologie Erklärt: APIs – mit Frank Schmidt (Ingenious Technologies)

In dieser Episode geht es um:

  • Was ist eine API? (01:16)
  • Wie werden APIs genutzt? (06:10)
  • Was unterscheidet eine Rest API von einem einfach CSV Export? (09:25)
  • Was ist der Unterschied zwischen API Endpunkten und Standards? (18:27)
  • Wie geht ein Entwickler an eine API heran? (22:59)
  • API First! (26:18)
  • Die klassischen Anwendungsfälle einer API (33:35)
  • Die Zukunft der APIs (42:40)

Was ist eine API? (01:16)

Eine API ist ganz einfach gesprochen eine Schnittstelle zwischen zwei Computern. Also sie schafft die Möglichkeit, dass sich zwei Systeme miteinander unterhalten und Daten austauschen können.

Das Pendant aus unserem Alltag ist die grafische Benutzeroberfläche, also die Schnittstelle zwischen Mensch und Computer.

Wenn wir bei Ingenious über APIs sprechen, dann meinen wir häufig Web-APIs bzw. Rest-APIs: Schnittstellen, die dafür gedacht sind, dass Systeme über das Internet miteinander kommunizieren.

Warum arbeitet man mit APIs? In den meisten Fällen arbeiten wir einfach nur mit der grafischen Benutzeroberfläche. Bestimmte Tätigkeiten wiederholen sich häufig und/oder sind sehr aufwändig, weshalb man sie nicht per Hand machen will und stattdessen Automatismen aufbauen. Dafür eignen sich APIs sehr gut. 

Ein Beispiel dafür aus unserer Branche ist der Prozess der Sales Validierung: über das Tracking wurden Sales erfasst und diese sollen nun validiert werden. Der Advertiser hat in seinem System eine Art von nötiger Bestätigung eingebaut, dass dieser Einkauf nun valide ist (z.B. Rückgabezeitraum ist abgelaufen). Jetzt ist der Kauf bestätigt und der Partner soll die Vergütung dafür erhalten. Dieser Validierungsprozess wird vor allem bei großen Shops aufgrund des enormen Aufwands automatisiert.

 

Also eigentlich benutzen wir die APIs für Arbeiten, die wir als Menschen nicht machen wollen, weil wir keine Lust darauf haben, weil es sich um eine langweilige und repetitive Aufgabe handelt oder es sehr aufwändig wäre, weshalb man sie nicht per Hand machen will.

Frank Schmidt
Team Lead und Senior Software Engineer, Ingenious Technologies

Wie werden diese APIs genutzt? (06:10)

Die (manuelle) Nutzung einer API ist nicht ganz einfach. Das ist allerdings kein Problem, da APIs ja primär dafür gedacht sind, dass Systeme miteinander arbeiten und nicht, dass ein Mensch mit einbezogen muss. Häufig wird bei der Verwendung von APIs nicht mit Dateiformaten, die gut (für Menschen) verständlich sind, gearbeitet. Während wir oft mit Excel oder CSV Dateien arbeiten, sind die Dateiformate, über die APIs kommunizieren, sehr viel komplexer und für Menschen schwer lesbar.

Was unterscheidet eine Rest-API von einem einfach CSV-Export? (09:25)

Rest-APIs arbeiten mit strukturierten Objekten. Strukturiert bedeutet in der Excel Welt, dass jede Eigenschaft eines Objekts eine Zelle erhält.

Erklärung anhand eines Beispiels unserer Branche: Eine Conversion kann aus einem Warenkorb bestehen, der wiederum aus mehreren Produkten bestehen kann. Bei einer Darstellung in einer Exceltabelle wäre die Conversion eine Zeile und die Spalten die jeweiligen Eigenschaften der Conversion wie z.B. der Warenkorb. Der Warenkorb hat allerdings ebenso Eigenschaften und hätte damit auch eigene Spalten. In einem JSON Dokument (das von Rest-APIs genutzte Dateiformat) kann diese Mehrdimensionalität von Conversions abgebildet werden: beliebig viele strukturierte Objekte können in einem strukturierten Objekt enthalten sein (vgl. Unterkapitel in einer Gliederung).

Was ist der Unterschied zwischen API-Endpunkten und Standards? (18:27)

Ein Endpunkt beschreibt eine Operation/Aktion (z.B. abrufen, verändern, löschen) auf einem bestimmten Datenmodell (z.B. Conversion oder Advertiser). Standards beschreiben die Form, in der Dinge aussehen bzw. Ablaufen müssen, sodass ein einheitliches Format bzw. Sprache vorliegt.

Wie geht ein Entwickler an eine API heran? (22:59)

Häufig kommt der Auftrag einer Automatisierung von einer anderen Abteilung als der der EntwicklerInnen. Im optimalen Fall mit Zugriff zum User Account, einem API Key und dem Link zur API Dokumentation ausgestattet, beginnen die EntwicklerInnen den Prozess. 

Aufgrund der bereits erwähnten vorgegebenen Standards ist die Dokumentation von Rest APIs in der Regel gut strukturiert. In dieser Dokumentation wird nach den relevanten Endpunkten gesucht. Die Operationen werden dann zunächst manuell ausprobiert und die Ergebnisse dekomponiert. Eine gute, genaue und interaktive API Dokumentation ist dabei entscheidend. Im Optimalfall ist es möglich, nach einer Authentifizierung die einzelnen Endpunkte aufzurufen, um zu sehen, welche Input-Daten werden benötigt und wie sieht das Ergebnis bzw. Die Antwort aus. Dies dient als Beispiel und Veranschaulichung für die Codeentwicklung.

API First! (26:18)

Ingenious entwickelt nach dem Motto API First. Das bedeutet, unser Produkt wird über API Schnittstellen erweitert. Also die APIs bilden die Grundlage einer jeden neuen Funktion.

Eine API First Strategie ermöglicht es zum Beispiel, die grafische Benutzeroberfläche auszutauschen, ohne die Programmlogik und das Backend verändern zu müssen.

Mithilfe von API First werden also viele Produkte und Funktionen unabhängig von der Darstellung im Frontend (grafische Benutzeroberfläche) entwickelt. Bei Veränderungen bei einzelnen Teilen des Programms ist durch die Unabhängigkeit nicht alles betroffen.

Außerdem können externe Nutzer der Technologie – sprich in der Regel die Kunden – können auf Basis von APIs Automatisierungen bauen.

Wie beeinflussen APIs die Ingenious Plattform?
Die Plattform besteht aus einzelnen Produkten (Trail, Finance, Creatives etc.), welche wiederum eigene Systeme und APIs besitzen. Da die Produkte über eine längere Zeit nach und nach entwickelt und erweitert wurden, stimmen die Konzepte nicht miteinander überein. Deshalb wurde kürzlich die API Dokumentation überarbeitet und Schnittstellen vereinheitlicht. Jetzt stellt die Ingenious Plattform wieder ein einheitliches Gesamtbild dar und ist daher einfacher für EntwicklerInnen, die mit der Ingenious API konfrontiert werden, zu handhaben. 

Die klassischen Anwendungsfälle einer API (in der Partnermarketing Welt) (35:33)

  • Validierung von Conversions
  • Zusammenführung von Daten aus unterschiedlichen Quellen in einem (eigenen) Data Warehouse
  • Migrationen in ein neues System: Partnerprogramme, Werbemittel etc müssen in das neue System migriert werden. Gerade bei größeren Kunden wäre dies eine unlösbare Aufgabe aufgrund des Aufwands.
  • Reklamationen von KundInnen z.B. bei einem Cashback Portal

Die Zukunft der APIs (42:40)

Während sich drumherum vieles getan hat, hat sich der Standard der (Rest-) APIs in den letzten Jahren kaum verändert. Das Tooling hat sich zwar sehr wohl verändert, weshalb Standard API Beschreibungen und Dokumentationen nun möglich sind und sich der Umgang mit APIs weiterentwickelt und vereinfacht hat. Allerdings bleiben die Spezifikationen und die Standards der APIs gleich.

In vielen Bereichen bedeutet Stillstand bekanntermaßen Rückschritt. In diesem Fall ist es allerdings zu unserem Vorteil. Denn die Technologie kann weiterentwickelt werden und die API bleibt dennoch stabil im Sinne der Technologie. Sie muss nicht bzw. kaum angepasst werden und funktioniert dennoch weiterhin wie zuvor. 

Manche Endpunkte werden natürlich veralten, andere werden hinzukommen. Das Prinzip und nach welchen Regel es sich verhält, bleibt gleich.

Spotify: https://open.spotify.com/episode/0sSIkcN1vipchMurPNrLai?si=d716e278082d4072

Apple Podcast: https://podcasts.apple.com/de/podcast/pm22-technologie-erkl%C3%A4rt-apis-mit-frank-schmidt/id1521860067?i=1000544319454

 

Schnitt: Darius Rybacki