API unificata: colmare il divario tra le applicazioni SaaS
Pubblicato: 2023-10-31Un'API (Application Programming Interface) unificata è un'API che funge da livello di astrazione in grado di comunicare contemporaneamente con più API sottostanti.
Di conseguenza, ogni oggetto ed endpoint nell'API unificata viene mappato a un oggetto ed endpoint corrispondente nell'API sottostante. Ciò consente alle aziende SaaS di creare un'unica integrazione con l'API unificata e di fornire immediatamente integrazioni con ciascuna delle API sottostanti.
In questo articolo approfondiremo le API unificate, il loro funzionamento, le loro sfide e funzionalità e i vantaggi che apportano alle aziende SaaS.
Quale problema risolvono le API unificate?
Gli acquirenti SaaS si aspettano integrazioni native perfette dalle soluzioni che acquistano. L’interoperabilità non è più un piacere da avere ma un requisito. Tuttavia, la realizzazione di queste integrazioni native con gli altri strumenti è una sfida che ogni azienda SaaS deve affrontare oggi, poiché richiede notevoli risorse tecniche per la distribuzione e la manutenzione.
Per ogni integrazione, gli ingegneri devono creare un'autenticazione sicura, esaminare la documentazione API dell'app di terze parti, implementare la logica aziendale richiesta per fornire il caso d'uso e creare un'esperienza di configurazione intuitiva per l'utente finale.
E questo non tiene conto di tutto il lavoro necessario per mantenere e aggiornare l'integrazione man mano che vengono aggiunte nuove richieste di funzionalità, quando l'API di terze parti rilascia modifiche importanti e il tempo che gli sviluppatori dedicano ad aiutare i clienti a risolvere i problemi di integrazione.
Nel contesto delle integrazioni SaaS , negli ultimi anni sono emerse API unificate come un modo per affrontare la sfida di comprendere la documentazione API di ciascuna app di terze parti.
In sostanza, ciò dovrebbe evitare ai team di ingegneri di apprendere o rivisitare costantemente le sfumature, le forme e la nomenclatura di ogni singola API, una volta per ogni integrazione.
Come funzionano le API unificate?
Esaminiamo come funziona un'API unificata con un esempio tangibile.
Immagina che i tuoi clienti chiedano che il tuo prodotto si integri con il loro CRM: nella tua base utenti, alcuni clienti utilizzano Salesforce, altri utilizzano HubSpot e alcuni utilizzano Dynamics o Pipedrive.
Un'API CRM unificata astrarrebbe le API di ciascuno di questi CRM mantenendo i riferimenti a ciascuna API dei CRM sottostanti.
Fonte: Paragone
L'esempio qui mostra che ciascun CRM sottostante ha un oggetto che rappresenta un "contatto".
HubSpot lo chiama Contatto, Salesforce fornisce sia un oggetto Lead che Contatto e Pipedrive si riferisce ai contatti come Prospettivi. Quando viene effettuata una chiamata all'oggetto "Contatto" all'interno dell'API unificata, l'API unificata farà quindi riferimento all'oggetto corrispondente nel servizio specificato.
Ora, i riferimenti a livello di oggetto rappresentano il primo livello, ma all'interno di tali oggetti sono presenti anche proprietà o campi astratti. Nell'esempio sopra, ciò potrebbe includere nomenclatura diversa per nome, ID, azienda, ecc.
Pertanto, se il tuo team sta creando più integrazioni CRM, in teoria puoi creare un'unica integrazione con un'API CRM unificata che ti consente di fornire contemporaneamente tutte le integrazioni CRM sottostanti.
API unificate specifiche per categoria
Non tutte le API possono essere unificate in un'unica API perché diverse applicazioni SaaS hanno modelli di dati, strutture e funzionalità unici.
Pertanto, i fornitori in genere offrono più API unificate specifiche per un determinato verticale SaaS, come CRM, contabilità o pubblicità, poiché queste applicazioni SaaS avranno strutture di dati relativamente simili e condivideranno molti oggetti o proprietà comuni.
Quando si progetta un'API unificata, il fornitore dell'API deve scegliere attentamente quali API sottostanti includere nell'API unificata, poiché maggiore è la sovrapposizione delle API sottostanti, maggiore è la copertura che l'API unificata può fornire.
Tuttavia, se l'API unificata dovesse includere applicazioni non simili tra loro, sarebbe meno utile in quanto non sarebbe in grado di far emergere tutti gli oggetti e le proprietà condivisi dalle API sottostanti. Ad esempio, un'API unificata che include un CRM e un'applicazione di contabilità potrebbe non essere molto utile perché al di fuori di un oggetto "cliente" potrebbe non esserci molta sovrapposizione tra i modelli di dati del resto delle applicazioni.
Quali sono i vantaggi delle API unificate?
Le API unificate offrono molteplici vantaggi ai team di ingegneri che devono fornire e mantenere decine di integrazioni.
Astrazioni API
Invece di apprendere e interagire con le singole API di ciascun servizio, il tuo team di ingegneri deve solo imparare come interfacciarsi con l'API unificata una volta (per categoria).
Ciò non solo rende la creazione di queste integrazioni più semplice e veloce, ma aiuta anche a ridurre la complessità delle integrazioni.
Inoltre, quando si tratta di manutenzione, il fornitore dell'API unificata è responsabile della gestione della comunicazione con le API sottostanti, il che significa che il tuo team non deve preoccuparsi di apportare modifiche sostanziali a una delle API sottostanti. In definitiva, il fornitore dell'API unificata sarà responsabile dell'aggiornamento della propria astrazione per garantire che l'integrazione continui a funzionare.
Autenticazione gestita
I fornitori di API unificate generalmente offrono un servizio di autenticazione gestito che elimina le complessità dell'autenticazione con le API sottostanti, sia tramite chiavi API che OAuth.
Quando esegui l'integrazione diretta con più API, devi gestire il processo di autenticazione per ciascuna di esse, inclusa la gestione delle credenziali dell'utente e la garanzia di policy di aggiornamento dei token sicure.
Dato che esistono molte sfumature nel modo in cui ciascuna applicazione gestisce l'autenticazione, questa può essere un'attività complessa e soggetta a errori, soprattutto se lavori con un numero elevato di API.
Registrazione
Per natura, l'API unificata effettua richieste proxy alle API sottostanti. Pertanto, raccoglieranno e analizzeranno i dati relativi alle richieste effettuate alle applicazioni di terze parti. Di conseguenza, quando una richiesta ha esito negativo, il provider API unificato può registrare questo evento e fornire dettagli sul messaggio di errore restituito dall'API sottostante.
Questa funzionalità di registrazione può essere utile per il tuo team in quanto consente loro di identificare rapidamente i problemi che potrebbero verificarsi con le loro integrazioni. Invece di esaminare i log di più API di terze parti, possono fare affidamento sul provider API unificato per centralizzare la registrazione e la segnalazione degli errori.
Con gli errori di debug, i provider API unificati possono spesso fornire messaggi di errore più dettagliati rispetto alle stesse API sottostanti. Questo perché possono analizzare la risposta all'errore e fornire più contesto sulla causa principale del problema, il che può ridurre notevolmente la quantità di tempo dedicata alla diagnosi degli errori e accelerare i tempi di risposta agli incidenti .
Interfaccia utente predefinita
La maggior parte dei fornitori di API unificate fornisce un'interfaccia predefinita per consentire ai tuoi clienti di autenticarsi in un'integrazione, evitandoti di dover creare tu stesso l'esperienza di configurazione.
Ciò solleva il tuo team dalla progettazione dell'esperienza utente per ciascuna integrazione, il che può aumentare in termini di risparmio di tempo se si considerano le dozzine di potenziali integrazioni che puoi creare sull'API unificata.
Quali sono le sfide legate all'utilizzo delle API unificate?
Sebbene le API unificate forniscano i vantaggi sopra menzionati, sono ostacolate da alcune limitazioni strutturali di cui le aziende stanno iniziando a diventare più consapevoli.
Limitazioni dei casi d'uso
Dato che le API unificate possono solo astrarre gli oggetti e gli endpoint “condivisi” tra le API sottostanti, è possibile creare solo funzionalità relativamente semplici e generalizzabili in tutte le integrazioni. Questa è di gran lunga la limitazione più grande di qualsiasi soluzione API unificata.
Inoltre, quante più applicazioni sono supportate all'interno di un'API unificata, tanto più limitata diventa.
Fonte: Paragone
Esaminiamo alcuni esempi di queste limitazioni.
Caratteristiche inconciliabili
Se devi creare una funzionalità di integrazione che coinvolga funzionalità o proprietà specifiche di una delle integrazioni, ciò non sarà possibile con un'API unificata.
Ad esempio, supponiamo che tu voglia integrarti con più strumenti di feedback dei clienti tramite una "API di feedback unificata". Se uno strumento sfrutta un modello quantitativo con punteggi di feedback compresi tra 1 e 10, mentre un altro raccoglie solo "negativo, neutro, positivo" accompagnato da "note", non è possibile che un'API unificata possa supportare tali casi d'uso, poiché non è possibile riconciliare quelli in un unico riferimento.
Campi mancanti
Se la proprietà che devi aggiornare tramite l'integrazione è disponibile solo per un sottoinsieme specifico delle integrazioni supportate, tale proprietà non verrà resa disponibile all'interno dell'API unificata.
Ad esempio, anche se alcune delle applicazioni sottostanti di terze parti hanno il codice postale come campo, finché non lo fa, non è possibile accedere al codice postale come proprietà tramite l'API unificata.
Oggetti e campi personalizzati
Per natura, le API unificate forniscono una serie di riferimenti predefiniti a ciascuna API sottostante. Tuttavia, se introduci oggetti o campi personalizzati nel mix, il provider API unificato non può prevedere quali siano tali oggetti o campi. Pertanto, non possono supportare integrazioni che coinvolgono oggetti o campi personalizzati.
Questo può rappresentare un grosso ostacolo se i tuoi clienti richiedono le integrazioni che fornisci per supportare l'uso di oggetti personalizzati all'interno delle applicazioni di terze parti.
Limiti di tariffa
Quando esegui l'integrazione con più API contemporaneamente tramite un'API unificata, devi essere consapevole dei limiti di velocità di ciascuna API e assicurarti che la logica di integrazione non superi i limiti di nessuna API.
Ciò significa che la logica creata deve rispettare i limiti di velocità dell'API con la soglia più bassa per i limiti di velocità. In parole povere, l'API con il limite di velocità più basso sarà il fattore limitante per la tua integrazione. Se provi a effettuare troppe richieste agli endpoint di quell'API, le tue richieste inizieranno a fallire, anche se le altre API nell'API unificata possono tecnicamente supportare lo stesso volume.
Per evitare di riscontrare errori relativi al limite di velocità quando si effettuano richieste in blocco a endpoint specifici per tali integrazioni, è necessario utilizzare l'invio in batch o la limitazione per controllare la velocità delle richieste inviate a ciascuna API.
Pertanto, sebbene sia ancora possibile aggirare limiti di velocità inferiori, ti ritroverai a creare ulteriore complessità nella tua base di codice per soddisfare le limitazioni di una qualsiasi delle integrazioni sottostanti.
Sicurezza
Le API unificate generalmente richiedono che tu autorizzi l'accesso a tutti gli ambiti per un servizio di terze parti per poter utilizzare la loro API, invece di consentirti di selezionare ambiti individuali per ciascuna integrazione.
Ciò significa che quando autentichi un utente per utilizzare la tua integrazione, l'utente sarà costretto a darti accesso a tutti i dati associati a quel servizio di terze parti, non solo ai dati richiesti per l'integrazione.
Ad esempio, stai creando un'integrazione CRM tramite un'API unificata e il CRM ha accesso ai dati di vendita, marketing e assistenza clienti. Quando un utente autentica il proprio account per utilizzare la tua integrazione, ti verrà concesso l'accesso a tutti e tre i set di dati, anche se tutto ciò di cui la tua applicazione ha bisogno sono i dati di vendita.
Ciò può sollevare problemi di sicurezza per i tuoi clienti. Per mitigare queste preoccupazioni, è importante essere trasparenti con i tuoi utenti riguardo ai dati a cui richiedi l'accesso e spiegare chiaramente perché hai bisogno di tali dati.
Inoltre, dato che il fornitore generalmente ospita API unificate, ti affidi al fornitore per garantire che disponga di solide misure di sicurezza per proteggere i dati dei tuoi utenti da accessi non autorizzati o violazioni.
Modello di dati supponente
Il modo in cui il fornitore riconcilia le diverse API sottostanti e gli endpoint di riferimento è soggetto alla propria opinione. Sebbene questo non sia un problema per la maggior parte dei casi d'uso, ci saranno momenti in cui potrebbero presentare un'astrazione con cui non sei d'accordo o che non aderisce al comportamento previsto.
Vincoli della tabella di marcia
Rispetto alle piattaforme di integrazione integrate , che forniscono astrazioni individuali di ogni API di terze parti in molte categorie, i fornitori di API unificate sono limitati alle categorie per le quali hanno creato API unificate.
Sebbene possano e creeranno nuove API unificate nel tempo, se richiedi un'integrazione con una categoria che non è attualmente supportata, è probabile che dovrai attendere anni prima che tale integrazione venga resa disponibile.
L'unica eccezione sarebbe se il fornitore stesse creando un'API unificata per la categoria in cui rientra l'integrazione richiesta. Tuttavia, data l’ampiezza dell’ecosistema SaaS e le potenziali categorie che potrebbero supportare, questo sarà raramente il caso.
Soluzioni alternative: ci sono sicuramente molte limitazioni legate alle API unificate, che possono farti riflettere due volte sul vero valore delle API unificate; i fornitori esistenti oggi stanno cercando di trovare soluzioni uniche per fornire soluzioni alternative.
Ad esempio, alcuni provider hanno creato la possibilità di effettuare richieste “pass-through” all’API sottostante. Tuttavia, l'implementazione odierna è ancora molto limitante e crea un'esperienza di sviluppo scadente.
Quando dovresti utilizzare un'API unificata
Quando si tratta di decidere se un'API unificata è la soluzione giusta per il tuo team, puoi seguire semplici criteri decisionali.
Criteri
Se tutte le seguenti affermazioni sono vere, allora vale sicuramente la pena valutarle.
- La tua roadmap di integrazione è limitata alle categorie supportate dal provider API unificato.
- Ogni caso d'uso di integrazione che dovrai creare può essere generalizzato a tutte le applicazioni della categoria.
- Puoi investire risorse dedicate per costruire un'infrastruttura in grado di gestire il volume di richieste necessarie per supportare i tuoi clienti man mano che espandi.
- Non è necessario che il tuo team di supporto abbia visibilità su come si comporta l'integrazione e dove si è verificato un errore, e puoi chiedere al team di ingegneri di intervenire per eseguire il debug.
Se non puoi dire sì con sicurezza ai quattro punti precedenti, potresti non voler essere costretto a utilizzare un'API unificata.
Invece, un la piattaforma di integrazione incorporata può essere una soluzione migliore, poiché consente di creare integrazioni molto più profonde fornendo al contempo strumenti più completi per semplificare il processo di sviluppo dell'integrazione.
La sfida dell’integrazione SaaS B2B
Decidere una soluzione che ti aiuti a scalare la roadmap di integrazione nativa del tuo prodotto SaaS non è facile. Non devi solo assicurarti che possa affrontare i tuoi casi d'uso attuali, ma anche tutti i possibili casi d'uso che i tuoi clienti potrebbero richiedere in futuro.
Le API unificate possono essere un'ottima soluzione per distribuire decine di integrazioni con il minimo sforzo, a condizione che i casi d'uso richiesti dai clienti siano uniformi in ogni integrazione all'interno di una determinata categoria.
È un mercato in via di sviluppo con molti nuovi attori e rappresenta sicuramente un approccio interessante per risolvere la sfida dell’integrazione SaaS B2B.
Scopri tutto sulle API, i relativi vantaggi, sfide e casi d'uso nella guida completa.