Ujednolicony interfejs API: wypełnianie luki między aplikacjami SaaS

Opublikowany: 2023-10-31

Ujednolicony interfejs programowania aplikacji (API) to interfejs API służący jako warstwa abstrakcji, która może komunikować się jednocześnie z wieloma podstawowymi interfejsami API.

W rezultacie każdy obiekt i punkt końcowy w ujednoliconym interfejsie API jest mapowany na odpowiedni obiekt i punkt końcowy w podstawowym interfejsie API . Umożliwia to firmom SaaS zbudowanie pojedynczej integracji z ujednoliconym interfejsem API i natychmiastowe dostarczanie integracji z każdym z podstawowych interfejsów API.

W tym artykule szczegółowo omówimy ujednolicone interfejsy API, ich działanie, związane z nimi wyzwania i funkcje oraz korzyści, jakie przynoszą firmom SaaS.

Jaki problem rozwiązują ujednolicone interfejsy API?

Nabywcy SaaS zaczęli oczekiwać płynnej, natywnej integracji z kupowanymi przez siebie rozwiązaniami. Interoperacyjność nie jest już przyjemnością, ale wymogiem. Jednak budowanie tych natywnych integracji z innymi narzędziami jest wyzwaniem, przed którym stoi dziś każda firma SaaS, ponieważ wymaga znacznych zasobów inżynieryjnych do wysyłki i konserwacji.

W przypadku każdej integracji inżynierowie muszą zbudować bezpieczne uwierzytelnianie, przeszukać dokumentację API aplikacji innej firmy, wdrożyć logikę biznesową wymaganą do dostarczenia przypadku użycia i stworzyć intuicyjną konfigurację dla użytkownika końcowego.

Nie uwzględnia to jednak całej pracy związanej z utrzymaniem i aktualizacją integracji w miarę dodawania nowych żądań funkcji, publikowania przełomowych zmian przez interfejs API innej firmy oraz czasu, jaki programiści poświęcają na pomaganie klientom w debugowaniu problemów z integracją.

W kontekście integracji SaaS w ostatnich latach pojawiły się ujednolicone interfejsy API, które pozwalają stawić czoła wyzwaniu, jakim jest zrozumienie dokumentacji API każdej aplikacji innych firm.

W istocie powinno to uchronić zespoły inżynieryjne od ciągłego uczenia się lub ponownego przeglądania niuansów, kształtów i nazewnictwa każdego indywidualnego interfejsu API, raz na każdą integrację.

Jak działają ujednolicone interfejsy API?

Przyjrzyjmy się, jak działa ujednolicony interfejs API, na namacalnym przykładzie.

Wyobraź sobie, że Twoi klienci proszą o integrację Twojego produktu z ich systemem CRM — w Twojej bazie użytkowników niektórzy klienci korzystają z Salesforce, inni z HubSpot, a jeszcze inni z Dynamics lub Pipedrive.

Ujednolicony interfejs API CRM wyodrębniłby interfejsy API każdego z tych CRM, utrzymując odniesienia do każdego z podstawowych interfejsów API CRM.

Przykład działania ujednoliconych interfejsów API

źródło: Paragon

Poniższy przykład pokazuje, że każdy bazowy CRM ma obiekt reprezentujący „kontakt”.

HubSpot nazywa to kontaktem, Salesforce zapewnia zarówno obiekt Lead, jak i kontakt, a Pipedrive nazywa kontakty potencjalnymi klientami. Po wywołaniu obiektu „Kontakt” w ujednoliconym interfejsie API, ujednolicony interfejs API odniesie się następnie do odpowiedniego obiektu w określonej usłudze.

Pierwszą warstwą są odniesienia na poziomie obiektu, ale w obrębie tych obiektów znajdują się również abstrakcyjne właściwości lub pola. W powyższym przykładzie może to obejmować inną nomenklaturę nazwiska, identyfikatora, firmy itp.

Jeśli więc Twój zespół buduje wiele integracji CRM, teoretycznie możesz zbudować pojedynczą integrację z ujednoliconym interfejsem API CRM, który umożliwi jednoczesne dostarczanie wszystkich podstawowych integracji CRM.

Ujednolicone interfejsy API specyficzne dla danej kategorii

Nie wszystkie interfejsy API można ujednolicić w jednym interfejsie API, ponieważ różne aplikacje SaaS mają unikalne modele danych, struktury i funkcje.

Dlatego dostawcy zazwyczaj oferują wiele ujednoliconych interfejsów API, które są specyficzne dla określonej branży SaaS, takiej jak CRM, księgowość lub reklama, ponieważ te aplikacje SaaS będą miały stosunkowo podobne struktury danych i mają wiele wspólnych obiektów lub właściwości.

Projektując ujednolicony interfejs API, dostawca interfejsu API musi uważnie wybrać, które podstawowe interfejsy API mają zostać uwzględnione w ujednoliconym interfejsie API, ponieważ im bardziej pokrywają się podstawowe interfejsy API, tym szerszy zasięg może zapewnić ujednolicony interfejs API.

Jeśli jednak ujednolicony interfejs API miałby obejmować aplikacje, które nie są do siebie tak podobne, byłby mniej przydatny, ponieważ nie byłby w stanie wyświetlić wszystkich obiektów i właściwości wspólnych dla bazowych interfejsów API. Na przykład ujednolicony interfejs API obejmujący CRM i aplikację księgową może nie być zbyt przydatny, ponieważ poza obiektem „klienta” modele danych pozostałych aplikacji mogą nie pokrywać się zbytnio.

Jakie są zalety ujednoliconych interfejsów API?

Ujednolicone interfejsy API zapewniają wiele korzyści zespołom inżynieryjnym, które muszą dostarczać i utrzymywać dziesiątki integracji.

Abstrakcje API

Zamiast uczyć się i wchodzić w interakcję z indywidualnymi interfejsami API każdej usługi, Twój zespół inżynierów musi tylko raz (dla każdej kategorii) nauczyć się, jak korzystać z ujednoliconego interfejsu API.

To nie tylko ułatwia i przyspiesza budowanie tych integracji, ale także pomaga zmniejszyć złożoność integracji.

Dodatkowo, jeśli chodzi o konserwację, ujednolicony dostawca API jest odpowiedzialny za obsługę komunikacji z podstawowymi interfejsami API, co oznacza, że ​​Twój zespół nie musi się martwić o wprowadzenie istotnych zmian w jednym z podstawowych interfejsów API. Ostatecznie dostawca ujednoliconego interfejsu API będzie odpowiedzialny za aktualizację abstrakcji, aby zapewnić dalsze działanie integracji.

Uwierzytelnianie zarządzane

Dostawcy ujednoliconych interfejsów API zazwyczaj oferują usługę zarządzanego uwierzytelniania, która eliminuje złożoność uwierzytelniania za pomocą podstawowych interfejsów API, niezależnie od tego, czy odbywa się to za pomocą kluczy API, czy OAuth.

W przypadku bezpośredniej integracji z wieloma interfejsami API należy zarządzać procesem uwierzytelniania każdego z nich, w tym zarządzać danymi uwierzytelniającymi użytkowników i zapewniać zasady bezpiecznego odświeżania tokenów.

Biorąc pod uwagę, że istnieje wiele niuansów w sposobie, w jaki każda aplikacja obsługuje uwierzytelnianie, może to być kłopotliwe i podatne na błędy zadanie, szczególnie jeśli pracujesz z dużą liczbą interfejsów API.

Logowanie

Z natury ujednolicony interfejs API wysyła żądania proxy do swoich podstawowych interfejsów API. W związku z tym będą gromadzić i analizować dane dotyczące żądań kierowanych do aplikacji stron trzecich. W rezultacie, gdy żądanie nie powiedzie się, ujednolicony dostawca interfejsu API może zarejestrować to zdarzenie i podać szczegółowe informacje na temat komunikatu o błędzie zwróconego przez podstawowy interfejs API.

Ta funkcja rejestrowania może być przydatna dla Twojego zespołu, ponieważ pozwala mu szybko zidentyfikować problemy, które mogą wystąpić podczas integracji. Zamiast przeglądać dzienniki z wielu zewnętrznych interfejsów API, mogą polegać na ujednoliconym dostawcy interfejsu API, który scentralizuje rejestrowanie i raportowanie błędów.

W przypadku błędów debugowania ujednoliceni dostawcy interfejsów API mogą często udostępniać bardziej szczegółowe komunikaty o błędach niż same podstawowe interfejsy API. Dzieje się tak dlatego, że mogą analizować reakcję na błąd i zapewnić więcej kontekstu wokół pierwotnej przyczyny problemu, co może znacznie skrócić czas poświęcany na diagnozowanie błędów i przyspieszyć czas reakcji na incydenty .

Gotowy interfejs użytkownika

Większość dostawców ujednoliconych interfejsów API zapewnia klientom wstępnie zbudowany interfejs umożliwiający uwierzytelnienie w ramach integracji, co pozwala uniknąć konieczności samodzielnego tworzenia konfiguracji.

Odciąża to Twój zespół od projektowania doświadczenia użytkownika dla każdej integracji, co może się zwiększyć pod względem oszczędności czasu, biorąc pod uwagę dziesiątki potencjalnych integracji, które możesz zbudować w oparciu o ujednolicony interfejs API.

Jakie wyzwania wiążą się z korzystaniem z ujednoliconych interfejsów API?

Chociaż ujednolicone interfejsy API zapewniają korzyści opisane powyżej, są one sparaliżowane przez pewne ograniczenia strukturalne, których firmy zaczynają być coraz bardziej świadome.

Ograniczenia przypadków użycia

Biorąc pod uwagę, że ujednolicone interfejsy API mogą jedynie wyodrębniać „współdzielone” obiekty i punkty końcowe z bazowych interfejsów API, można budować tylko funkcje, które są stosunkowo proste i można je uogólnić we wszystkich integracjach. Jest to zdecydowanie największe ograniczenie każdego ujednoliconego rozwiązania API.

Dodatkowo, im więcej aplikacji jest obsługiwanych w ramach ujednoliconego API, tym bardziej staje się ono ograniczone.

streszczenie ujednoliconego zasięgu API

źródło: Paragon

Przeanalizujmy kilka przykładów tych ograniczeń.

Cechy nie do pogodzenia

Jeśli zajdzie potrzeba zbudowania funkcji integracji obejmującej funkcjonalność lub właściwości specyficzne dla jednej z integracji, nie będzie to możliwe w przypadku ujednoliconego interfejsu API.

Załóżmy na przykład, że chcesz zintegrować się z wieloma narzędziami do przesyłania opinii klientów za pośrednictwem „ujednoliconego interfejsu API opinii”. Jeśli jedno narzędzie wykorzystuje model ilościowy z oceną opinii w przedziale 1–10, podczas gdy inne zbiera jedynie „negatywne, neutralne, pozytywne” wraz z „notatkami”, nie ma możliwości, aby ujednolicony interfejs API obsługiwał te przypadki użycia, ponieważ nie da się pogodzić w jedno odniesienie.

Brakujące pola

Jeśli właściwość, którą chcesz zaktualizować poprzez integrację, jest dostępna tylko dla określonego podzbioru obsługiwanych integracji, ta właściwość nie zostanie udostępniona w ramach ujednoliconego interfejsu API.

Na przykład, nawet jeśli kilka aplikacji innych firm ma kod pocztowy jako pole, o ile jedna z nich tego nie robi, nie można uzyskać dostępu do kodu pocztowego jako właściwości za pośrednictwem ujednoliconego interfejsu API.

Niestandardowe obiekty i pola

Z natury ujednolicone interfejsy API zapewniają zestaw predefiniowanych odniesień do każdego podstawowego interfejsu API. Jeśli jednak do miksu wprowadzisz niestandardowe obiekty lub pola, dostawca ujednoliconego interfejsu API nie będzie w stanie przewidzieć, jakie to będą obiekty lub pola. Dlatego nie mogą obsługiwać integracji obejmujących niestandardowe obiekty lub pola.

Może to stanowić ogromną przeszkodę, jeśli Twoi klienci wymagają dostarczonych przez Ciebie integracji w celu obsługi korzystania z niestandardowych obiektów w aplikacjach innych firm.

Limity stawek

Jeśli integrujesz się z wieloma interfejsami API jednocześnie za pośrednictwem ujednoliconego interfejsu API, musisz zdawać sobie sprawę z ograniczeń szybkości każdego interfejsu API i upewnić się, że logika integracji nie przekracza limitów dla żadnego z interfejsów API.

Oznacza to, że tworzona logika musi być zgodna z limitami szybkości interfejsu API z najniższym progiem limitów szybkości. Mówiąc prościej, czynnikiem ograniczającym Twoją integrację będzie API z najniższym limitem szybkości. Jeśli spróbujesz wysłać zbyt wiele żądań do punktów końcowych tego interfejsu API, Twoje żądania zaczną kończyć się niepowodzeniem, nawet jeśli inne interfejsy API w ujednoliconym interfejsie API będą technicznie obsługiwać ten sam wolumin.

Aby uniknąć błędów związanych z limitem szybkości podczas wysyłania żądań zbiorczych do określonych punktów końcowych w ramach tych integracji, należy użyć przetwarzania wsadowego lub ograniczania przepustowości w celu kontrolowania liczby żądań wysyłanych do poszczególnych interfejsów API.

Tak więc, chociaż nadal możliwe jest obejście niższych limitów szybkości, zauważysz, że w swojej bazie kodu będziesz tworzyć dodatkową złożoność, aby uwzględnić ograniczenia wynikające z którejkolwiek z podstawowych integracji.

Bezpieczeństwo

Ujednolicone interfejsy API zazwyczaj wymagają autoryzacji dostępu do wszystkich zakresów usługi innej firmy w celu korzystania z ich interfejsu API, zamiast umożliwiać wybranie poszczególnych zakresów dla każdej integracji.

Oznacza to, że podczas uwierzytelniania użytkownika w celu korzystania z Twojej integracji będzie on zmuszony udzielić Ci dostępu do wszystkich danych powiązanych z usługą strony trzeciej, a nie tylko do danych wymaganych do integracji.

Na przykład budujesz integrację CRM za pośrednictwem ujednoliconego interfejsu API, a CRM ma dostęp do danych dotyczących sprzedaży, marketingu i obsługi klienta. Gdy użytkownik uwierzytelni swoje konto, aby móc korzystać z Twojej integracji, otrzymasz dostęp do wszystkich trzech zestawów danych, nawet jeśli Twoja aplikacja potrzebuje tylko danych sprzedażowych.

Może to budzić obawy klientów dotyczące bezpieczeństwa. Aby złagodzić te obawy, ważne jest, aby zapewnić użytkownikom przejrzystość w zakresie danych, do których chcesz uzyskać dostęp, i jasno wyjaśnić, dlaczego potrzebujesz tych danych.

Ponadto, biorąc pod uwagę, że dostawca zazwyczaj udostępnia ujednolicone interfejsy API, możesz polegać na dostawcy, że zapewni on silne środki bezpieczeństwa w celu ochrony danych użytkowników przed nieautoryzowanym dostępem lub naruszeniami.

Uparty model danych

Sposób, w jaki dostawca godzi różne podstawowe interfejsy API i referencyjne punkty końcowe, zależy od jego własnej opinii. Chociaż nie stanowi to problemu w większości przypadków użycia, zdarzają się sytuacje, w których mogą one przedstawiać abstrakcję, z którą się nie zgadzasz lub która nie jest zgodna z oczekiwanym zachowaniem.

Ograniczenia planu działania

W porównaniu do wbudowanych platform integracyjnych , które zapewniają indywidualne abstrakcje wszystkich interfejsów API innych firm w wielu kategoriach, dostawcy ujednoliconych interfejsów API są ograniczeni do kategorii, dla których stworzyli ujednolicone interfejsy API.

Chociaż mogą i będą z czasem tworzyć nowe, ujednolicone interfejsy API, jeśli poprosisz o integrację z kategorią, która nie jest obecnie obsługiwana, prawdopodobnie będziesz musiał czekać latami na udostępnienie tej integracji.

Jedynym wyjątkiem byłaby sytuacja, gdyby dostawca tworzył ujednolicony interfejs API dla kategorii, do której pasuje żądana integracja. Jednak biorąc pod uwagę szerokość ekosystemu SaaS i potencjalne kategorie, które mogą obsługiwać, rzadko będzie to miało miejsce.

Obejścia: zdecydowanie istnieje wiele ograniczeń związanych z ujednoliconymi interfejsami API, co może skłonić Cię do zastanowienia się dwa razy nad prawdziwą wartością ujednoliconych interfejsów API; obecni dostawcy starają się wymyślić unikalne rozwiązania, aby zapewnić obejścia.

Na przykład niektórzy dostawcy stworzyli możliwość wysyłania żądań „przekazujących” do bazowego interfejsu API. Jednak dzisiejsze wdrożenia są nadal bardzo ograniczające i powodują kiepskie doświadczenia programistów.

Kiedy należy używać ujednoliconego API

Jeśli chodzi o podjęcie decyzji, czy ujednolicony interfejs API jest właściwym rozwiązaniem dla Twojego zespołu, możesz kierować się prostymi kryteriami podejmowania decyzji.

Kryteria

Jeśli wszystkie poniższe warunki są prawdziwe, z pewnością warto to ocenić.

  • Twój plan integracji jest ograniczony do kategorii obsługiwanych przez ujednoliconego dostawcę API.
  • Każdy przypadek użycia integracji, jaki kiedykolwiek będziesz musiał zbudować, można uogólnić na każdą aplikację w danej kategorii.
  • Możesz zainwestować dedykowane zasoby w budowę infrastruktury , która będzie w stanie obsłużyć liczbę żądań wymaganych do obsługi klientów w miarę skalowania.
  • Nie potrzebujesz, aby Twój zespół wsparcia miał wgląd w to, jak zachowuje się integracja i gdzie wystąpiły błędy, możesz natomiast poprosić zespół inżynierów o włączenie się w celu debugowania.

Jeśli nie możesz z całą pewnością zgodzić się z czterema powyższymi punktami, być może nie chcesz ograniczać się do korzystania z ujednoliconego interfejsu API.

Zamiast tego Wbudowane platformy integracyjne mogą być lepszym rozwiązaniem, ponieważ umożliwiają budowanie znacznie głębszych integracji, zapewniając jednocześnie bardziej kompleksowe narzędzia pomagające usprawnić proces rozwoju integracji.

Wyzwanie związane z integracją B2B SaaS

Decyzja o wyborze rozwiązania, które pomoże Ci skalować plan integracji natywnej produktu SaaS, nie jest łatwa. Musisz nie tylko upewnić się, że będzie on uwzględniał Twoje dzisiejsze przypadki użycia, ale także wszystkie możliwe przypadki użycia, o które Twoi klienci mogą poprosić w przyszłości.

Ujednolicone interfejsy API mogą być świetnym rozwiązaniem do dostarczania dziesiątek integracji przy minimalnym wysiłku, pod warunkiem, że przypadki użycia, których wymagają Twoi klienci, są jednolite dla każdej integracji w danej kategorii.

Jest to rynek rozwijający się z wieloma nowymi graczami i z pewnością stanowi ciekawe podejście do rozwiązania wyzwania związanego z integracją B2B SaaS.

Z obszernego przewodnika dowiesz się wszystkiego o interfejsach API, ich zaletach, wyzwaniach i przypadkach użycia.