Einheitliche API: Überbrückung der Lücke zwischen SaaS-Anwendungen
Veröffentlicht: 2023-10-31Eine einheitliche Anwendungsprogrammierschnittstelle (API) ist eine API, die als Abstraktionsebene dient und mit mehreren zugrunde liegenden APIs gleichzeitig kommunizieren kann.
Dadurch wird jedes Objekt und jeder Endpunkt in der einheitlichen API einem entsprechenden Objekt und Endpunkt in der zugrunde liegenden API zugeordnet. Dies ermöglicht es SaaS-Unternehmen, eine einzige Integration mit der einheitlichen API aufzubauen und Integrationen mit jeder der zugrunde liegenden APIs sofort auszuliefern.
In diesem Artikel befassen wir uns eingehend mit einheitlichen APIs, ihrer Funktionsweise, ihren Herausforderungen und Funktionen sowie den Vorteilen für SaaS-Unternehmen.
Welches Problem lösen einheitliche APIs?
SaaS-Käufer erwarten von den von ihnen erworbenen Lösungen mittlerweile nahtlose native Integrationen. Interoperabilität ist nicht länger ein „nice to have“, sondern eine Voraussetzung. Allerdings stellt der Aufbau dieser nativen Integrationen mit den anderen Tools heute eine Herausforderung für jedes SaaS-Unternehmen dar, da für den Versand und die Wartung erhebliche technische Ressourcen erforderlich sind.
Für jede Integration müssen Ingenieure eine sichere Authentifizierung erstellen, die API-Dokumentation der Drittanbieter-App durchsuchen, die für die Bereitstellung des Anwendungsfalls erforderliche Geschäftslogik implementieren und ein intuitives Konfigurationserlebnis für den Endbenutzer erstellen.
Und dabei ist noch nicht der ganze Aufwand berücksichtigt, der mit der Pflege und Aktualisierung der Integration verbunden ist, wenn neue Funktionsanforderungen hinzugefügt werden, wenn die Drittanbieter-API wichtige Änderungen veröffentlicht, und die Zeit, die Entwickler damit verbringen, Kunden beim Debuggen von Integrationsproblemen zu unterstützen.
Im Zusammenhang mit SaaS-Integrationen sind in den letzten Jahren einheitliche APIs entstanden, um die Herausforderung zu bewältigen, die API-Dokumentation jeder Drittanbieter-App zu verstehen.
Im Kern soll dies den Entwicklungsteams das ständige Erlernen oder Überdenken der Nuancen, Formen und Nomenklaturen für jede einzelne API ersparen, einmal für jede Integration.
Wie funktionieren einheitliche APIs?
Lassen Sie uns anhand eines konkreten Beispiels durchgehen, wie eine einheitliche API funktioniert.
Stellen Sie sich vor, Ihre Kunden möchten, dass Ihr Produkt in ihr CRM integriert wird. In Ihrer gesamten Benutzerbasis verwenden einige Kunden Salesforce, andere HubSpot und einige Dynamics oder Pipedrive.
Eine einheitliche CRM-API würde die APIs jedes dieser CRMs abstrahieren, indem sie Verweise auf die APIs aller zugrunde liegenden CRMs verwaltet.
Quelle: Paragon
Das Beispiel hier zeigt, dass jedes zugrunde liegende CRM über ein Objekt verfügt, das einen „Kontakt“ darstellt.
HubSpot nennt es einen Kontakt, Salesforce stellt sowohl ein Lead- als auch ein Kontaktobjekt bereit und Pipedrive bezeichnet Kontakte als Interessenten. Wenn ein Aufruf an das „Kontakt“-Objekt innerhalb der einheitlichen API erfolgt, verweist die einheitliche API dann auf das entsprechende Objekt im angegebenen Dienst.
Nun sind Referenzen auf Objektebene die erste Ebene, aber innerhalb dieser Objekte gibt es auch Eigenschaften oder Felder, die abstrahiert sind. Im obigen Beispiel könnte dies eine andere Nomenklatur für Name, ID, Firma usw. umfassen.
Wenn Ihr Team also mehrere CRM-Integrationen erstellt, können Sie theoretisch eine einzige Integration mit einer einheitlichen CRM-API erstellen, die es Ihnen ermöglicht, alle zugrunde liegenden CRM-Integrationen gleichzeitig auszuliefern.
Kategoriespezifische einheitliche APIs
Nicht alle APIs können in einer einzigen API vereinheitlicht werden, da verschiedene SaaS-Anwendungen über einzigartige Datenmodelle, Strukturen und Funktionen verfügen.
Daher bieten Anbieter in der Regel mehrere einheitliche APIs an, die spezifisch für eine bestimmte SaaS-Branche sind, z. B. CRM, Buchhaltung oder Werbung, da diese SaaS-Anwendungen relativ ähnliche Datenstrukturen haben und viele gemeinsame Objekte oder Eigenschaften teilen.
Beim Entwerfen einer einheitlichen API muss der API-Anbieter sorgfältig auswählen, welche zugrunde liegenden APIs in die einheitliche API aufgenommen werden sollen, denn je größer die Überlappung der zugrunde liegenden APIs ist, desto größer ist die Abdeckung, die die einheitliche API bieten kann.
Wenn die einheitliche API jedoch Anwendungen umfassen würde, die einander nicht so ähnlich sind, wäre sie weniger nützlich, da sie nicht in der Lage wäre, alle Objekte und Eigenschaften anzuzeigen, die die zugrunde liegenden APIs gemeinsam nutzen. Beispielsweise ist eine einheitliche API, die eine CRM- und eine Buchhaltungsanwendung umfasst, möglicherweise nicht sehr nützlich, da es außerhalb eines „Kunden“-Objekts möglicherweise keine großen Überschneidungen mit den Datenmodellen der übrigen Anwendungen gibt.
Welche Vorteile bieten einheitliche APIs?
Einheitliche APIs bieten Entwicklungsteams, die Dutzende Integrationen liefern und warten müssen, zahlreiche Vorteile.
API-Abstraktionen
Anstatt die einzelnen APIs jedes Dienstes zu erlernen und mit ihnen zu interagieren, muss Ihr Engineering-Team nur einmal (pro Kategorie) lernen, wie es mit der einheitlichen API interagiert.
Dies macht die Erstellung dieser Integrationen nicht nur einfacher und schneller, sondern trägt auch dazu bei, die Komplexität der Integrationen zu reduzieren.
Darüber hinaus ist der einheitliche API-Anbieter im Hinblick auf die Wartung für die Kommunikation mit den zugrunde liegenden APIs verantwortlich, sodass sich Ihr Team keine Sorgen über bahnbrechende Änderungen an einer der zugrunde liegenden APIs machen muss. Letztendlich ist der einheitliche API-Anbieter für die Aktualisierung seiner Abstraktion verantwortlich, um sicherzustellen, dass die Integration weiterhin funktioniert.
Verwaltete Authentifizierung
Anbieter einheitlicher APIs bieten im Allgemeinen einen verwalteten Authentifizierungsdienst an, der die Komplexität der Authentifizierung mit den zugrunde liegenden APIs abstrahiert, sei es über API-Schlüssel oder OAuth.
Wenn Sie mehrere APIs direkt integrieren, müssen Sie den Authentifizierungsprozess für jede einzelne verwalten, einschließlich der Verwaltung von Benutzeranmeldeinformationen und der Gewährleistung sicherer Token-Aktualisierungsrichtlinien.
Da es viele Nuancen bei der Authentifizierung durch jede Anwendung gibt, kann dies eine umständliche und fehleranfällige Aufgabe sein, insbesondere wenn Sie mit einer großen Anzahl von APIs arbeiten.
Protokollierung
Naturgemäß stellt die einheitliche API Proxy-Anfragen an die zugrunde liegenden APIs. Dabei sammeln und analysieren sie Daten über die an die Drittanwendungen gestellten Anfragen. Wenn eine Anfrage fehlschlägt, kann der einheitliche API-Anbieter daher dieses Ereignis protokollieren und Details zur Fehlermeldung bereitstellen, die von der zugrunde liegenden API zurückgegeben wurde.
Diese Protokollierungsfunktion kann für Ihr Team nützlich sein, da sie es ihnen ermöglicht, Probleme, die möglicherweise bei ihren Integrationen auftreten, schnell zu identifizieren. Anstatt die Protokolle mehrerer APIs von Drittanbietern durchzugehen, können sie sich darauf verlassen, dass der einheitliche API-Anbieter die Protokollierung und Fehlerberichterstattung zentralisiert.
Bei Debugging-Fehlern können einheitliche API-Anbieter häufig detailliertere Fehlermeldungen bereitstellen als die zugrunde liegenden APIs selbst. Dies liegt daran, dass sie die Fehlerreaktion analysieren und mehr Kontext zur Grundursache des Problems liefern können, was den Zeitaufwand für die Fehlerdiagnose erheblich reduzieren und die Reaktionszeiten bei Vorfällen verkürzen kann.
Vorgefertigte Benutzeroberfläche
Die meisten Anbieter einheitlicher APIs bieten Ihren Kunden eine vorgefertigte Schnittstelle zur Authentifizierung bei einer Integration, sodass Sie die Konfigurationserfahrung nicht selbst erstellen müssen.
Dadurch wird Ihr Team von der Gestaltung der Benutzererfahrung für jede Integration entlastet, was bei der Betrachtung der Dutzenden potenzieller Integrationen, die Sie auf der einheitlichen API aufbauen können, zu einer Zeitersparnis führen kann.
Was sind die Herausforderungen bei der Verwendung einheitlicher APIs?
Obwohl einheitliche APIs die oben genannten Vorteile bieten, unterliegen sie einigen strukturellen Einschränkungen, derer sich Unternehmen zunehmend bewusst werden.
Anwendungsfallbeschränkungen
Da einheitliche APIs nur die „gemeinsamen“ Objekte und Endpunkte zwischen den zugrunde liegenden APIs abstrahieren können, können Sie nur Funktionen erstellen, die relativ einfach und über alle Integrationen hinweg verallgemeinerbar sind. Dies ist bei weitem die größte Einschränkung einer einheitlichen API-Lösung.
Darüber hinaus gilt: Je mehr Anwendungen innerhalb einer einheitlichen API unterstützt werden, desto eingeschränkter wird diese.
Quelle: Paragon
Sehen wir uns einige Beispiele dieser Einschränkungen an.
Unvereinbare Merkmale
Wenn Sie eine Integrationsfunktion erstellen müssen, die Funktionen oder Eigenschaften umfasst, die für eine der Integrationen spezifisch sind, ist dies mit einer einheitlichen API nicht möglich.
Nehmen wir zum Beispiel an, Sie möchten über eine „einheitliche Feedback-API“ mehrere Kundenfeedback-Tools integrieren. Wenn ein Tool ein quantitatives Modell mit Feedback-Scores zwischen 1 und 10 nutzt, während ein anderes nur „negativ, neutral, positiv“ zusammen mit „Notizen“ sammelt, gibt es keine Möglichkeit, dass eine einheitliche API diese Anwendungsfälle unterstützen kann, da Sie sie nicht in Einklang bringen können diese in einer einzigen Referenz.
Fehlende Felder
Wenn die Eigenschaft, die Sie über die Integration aktualisieren müssen, nur für eine bestimmte Teilmenge der unterstützten Integrationen verfügbar ist, wird diese Eigenschaft nicht innerhalb der einheitlichen API verfügbar gemacht.
Selbst wenn beispielsweise einige der zugrunde liegenden Anwendungen von Drittanbietern die Postleitzahl als Feld haben, kann über die einheitliche API nicht auf die Postleitzahl als Eigenschaft zugegriffen werden, solange dies nicht der Fall ist.
Benutzerdefinierte Objekte und Felder
Von Natur aus stellen einheitliche APIs eine Reihe vordefinierter Verweise auf jede zugrunde liegende API bereit. Wenn Sie jedoch benutzerdefinierte Objekte oder Felder in den Mix einführen, kann der einheitliche API-Anbieter nicht vorhersehen, um welche Objekte oder Felder es sich handelt. Daher können sie keine Integrationen unterstützen, die benutzerdefinierte Objekte oder Felder umfassen.
Dies kann ein großes Hindernis sein, wenn Ihre Kunden die von Ihnen bereitgestellten Integrationen benötigen, um die Verwendung benutzerdefinierter Objekte in den Anwendungen von Drittanbietern zu unterstützen.
Tarifbegrenzungen
Wenn Sie über eine einheitliche API mehrere APIs gleichzeitig integrieren, müssen Sie sich der Ratengrenzen jeder API bewusst sein und sicherstellen, dass Ihre Integrationslogik die Grenzen für keine einzelne API überschreitet.
Das bedeutet, dass die von Ihnen erstellte Logik die Ratenlimits der API mit dem niedrigsten Schwellenwert für Ratenlimits einhalten muss. Vereinfacht ausgedrückt ist die API mit der niedrigsten Ratenbegrenzung der limitierende Faktor für Ihre Integration. Wenn Sie versuchen, zu viele Anfragen an die Endpunkte dieser API zu stellen, schlagen Ihre Anfragen fehl, selbst wenn die anderen APIs in der einheitlichen API dasselbe Volumen technisch unterstützen können.
Um Fehler bei der Ratenbegrenzung zu vermeiden, wenn Sie Massenanfragen an bestimmte Endpunkte für diese Integrationen stellen, müssen Sie die Rate der Anfragen, die Sie an jede API senden, mithilfe von Batchverarbeitung oder Drosselung steuern.
Während es also immer noch möglich ist, niedrigere Ratengrenzen zu umgehen, werden Sie feststellen, dass Sie zusätzliche Komplexität in Ihre Codebasis einbauen, um Einschränkungen durch eine der zugrunde liegenden Integrationen zu berücksichtigen.
Sicherheit
Für einheitliche APIs ist es im Allgemeinen erforderlich, dass Sie den Zugriff auf alle Bereiche für einen Drittanbieterdienst autorisieren, um deren API verwenden zu können, anstatt dass Sie für jede Integration einzelne Bereiche auswählen können.
Das heißt, wenn Sie einen Benutzer authentifizieren, um Ihre Integration zu verwenden, wird der Benutzer gezwungen, Ihnen Zugriff auf alle mit diesem Drittanbieterdienst verbundenen Daten zu gewähren, nicht nur auf die für die Integration erforderlichen Daten.
Sie bauen beispielsweise eine CRM-Integration über eine einheitliche API auf und das CRM hat Zugriff auf Vertriebs-, Marketing- und Kundensupportdaten. Wenn ein Benutzer sein Konto authentifiziert, um Ihre Integration zu verwenden, erhalten Sie Zugriff auf alle drei Datensätze, auch wenn Ihre Anwendung lediglich Verkaufsdaten benötigt.
Dies kann Sicherheitsbedenken für Ihre Kunden hervorrufen. Um diese Bedenken auszuräumen, ist es wichtig, Ihren Benutzern gegenüber transparent zu machen, auf welche Daten Sie Zugriff anfordern, und klar zu erklären, warum Sie diese Daten benötigen.
Da der Anbieter im Allgemeinen einheitliche APIs hostet, verlassen Sie sich außerdem darauf, dass der Anbieter sicherstellt, dass er über strenge Sicherheitsmaßnahmen verfügt, um die Daten Ihrer Benutzer vor unbefugtem Zugriff oder Sicherheitsverletzungen zu schützen.
Meinungsbasiertes Datenmodell
Wie der Anbieter verschiedene zugrunde liegende APIs und Referenzendpunkte in Einklang bringt, unterliegt seiner eigenen Meinung. Während dies für die meisten Anwendungsfälle kein Problem darstellt, kann es vorkommen, dass sie eine Abstraktion darstellen, mit der Sie nicht einverstanden sind oder die nicht dem erwarteten Verhalten entspricht.
Roadmap-Einschränkungen
Im Vergleich zu eingebetteten Integrationsplattformen , die Eins-zu-eins-Abstraktionen aller Drittanbieter-APIs über viele Kategorien hinweg bereitstellen, sind Anbieter einheitlicher APIs auf die Kategorien beschränkt, für die sie einheitliche APIs erstellt haben.
Sie können und werden im Laufe der Zeit zwar neue einheitliche APIs erstellen, aber wenn Sie nach einer Integration mit einer Kategorie fragen, die derzeit nicht unterstützt wird, müssen Sie wahrscheinlich Jahre warten, bis diese Integration verfügbar ist.
Die einzige Ausnahme wäre, wenn der Anbieter zufällig eine einheitliche API für die Kategorie entwickelt, in die die angeforderte Integration passt. Angesichts der Breite des SaaS-Ökosystems und der potenziellen Kategorien, die es unterstützen könnte, wird dies jedoch selten der Fall sein.
Problemumgehungen: Es gibt definitiv viele Einschränkungen, die mit einheitlichen APIs einhergehen, was dazu führen kann, dass Sie zweimal über den wahren Wert einheitlicher APIs nachdenken. Die heutigen Anbieter versuchen, einzigartige Lösungen zu finden, um Workarounds bereitzustellen.
Beispielsweise haben bestimmte Anbieter die Möglichkeit geschaffen, „Pass-Through“-Anfragen an die zugrunde liegende API zu stellen. Allerdings ist die heutige Implementierung immer noch sehr einschränkend und führt zu einer unterdurchschnittlichen Entwicklererfahrung.
Wann sollten Sie eine einheitliche API verwenden?
Bei der Entscheidung, ob eine einheitliche API die richtige Lösung für Ihr Team ist, können Sie einfachen Entscheidungskriterien folgen.
Kriterien
Wenn alle der folgenden Aussagen zutreffen, ist es auf jeden Fall eine Bewertung wert.
- Ihre Integrations-Roadmap ist auf die Kategorien beschränkt, die vom einheitlichen API-Anbieter unterstützt werden .
- Jeder Integrationsanwendungsfall, den Sie jemals erstellen müssen, kann auf jede Anwendung in der Kategorie verallgemeinert werden .
- Sie können dedizierte Ressourcen in den Aufbau einer Infrastruktur investieren, die das erforderliche Anfragenvolumen bewältigen kann, um Ihre Kunden bei der Skalierung zu unterstützen.
- Ihr Support-Team muss keinen Überblick darüber haben, wie sich die Integration verhält und wo Fehler aufgetreten sind, und Sie können das Engineering-Team mit der Fehlerbehebung beauftragen.
Wenn Sie die oben genannten vier Punkte nicht mit Sicherheit bejahen können, möchten Sie möglicherweise nicht auf die Verwendung einer einheitlichen API festgelegt sein.
Stattdessen ein Eine eingebettete Integrationsplattform ist möglicherweise eine bessere Lösung, da sie Ihnen die Erstellung viel tieferer Integrationen ermöglicht und gleichzeitig umfassendere Tools zur Rationalisierung des Integrationsentwicklungsprozesses bereitstellt.
Die Herausforderung der B2B-SaaS-Integration
Die Entscheidung für eine Lösung, die Sie bei der Skalierung der nativen Integrations-Roadmap Ihres SaaS-Produkts unterstützt, ist nicht einfach. Sie müssen nicht nur sicherstellen, dass es Ihre heutigen Anwendungsfälle abdeckt, sondern auch alle möglichen Anwendungsfälle, die Ihre Kunden in der Zukunft anfordern könnten.
Einheitliche APIs können eine großartige Lösung für die Bereitstellung Dutzender Integrationen mit minimalem Aufwand sein, vorausgesetzt, dass die von Ihren Kunden benötigten Anwendungsfälle für alle Integrationen innerhalb einer bestimmten Kategorie einheitlich sind.
Es handelt sich um einen sich entwickelnden Markt mit vielen neuen Akteuren und ist sicherlich ein interessanter Ansatz zur Lösung der Herausforderung der B2B-SaaS-Integration.
Erfahren Sie im umfassenden Leitfaden alles über APIs, ihre Vorteile, Herausforderungen und Anwendungsfälle.