API Terpadu: Menjembatani Kesenjangan Antar Aplikasi SaaS
Diterbitkan: 2023-10-31Antarmuka pemrograman aplikasi (API) terpadu adalah API yang berfungsi sebagai lapisan abstraksi yang dapat berkomunikasi dengan beberapa API yang mendasarinya secara bersamaan.
Hasilnya, setiap objek dan titik akhir di API terpadu dipetakan ke objek dan titik akhir yang sesuai di API yang mendasarinya. Hal ini memungkinkan perusahaan SaaS untuk membangun integrasi tunggal dengan API terpadu dan langsung mengirimkan integrasi dengan masing-masing API yang mendasarinya.
Dalam artikel ini, kita akan mendalami API terpadu, cara kerjanya, tantangan dan fiturnya, serta manfaatnya bagi perusahaan SaaS.
Masalah apa yang dipecahkan oleh API terpadu?
Pembeli SaaS mengharapkan integrasi asli yang mulus dari solusi yang mereka beli. Interoperabilitas bukan lagi suatu hal yang bagus untuk dimiliki tetapi suatu keharusan. Namun, membangun integrasi asli ini dengan alat mereka yang lain merupakan tantangan yang dihadapi setiap perusahaan SaaS saat ini, karena memerlukan sumber daya teknik yang signifikan untuk mengirimkan dan memeliharanya.
Untuk setiap integrasi, teknisi harus membangun autentikasi yang aman, menelusuri dokumentasi API aplikasi pihak ketiga, menerapkan logika bisnis yang diperlukan untuk menyampaikan kasus penggunaan, dan membangun pengalaman konfigurasi yang intuitif bagi pengguna akhir.
Dan hal ini tidak memperhitungkan semua pekerjaan yang terlibat dalam memelihara dan memperbarui integrasi saat permintaan fitur baru ditambahkan, saat API pihak ketiga merilis perubahan yang dapat menyebabkan gangguan, dan waktu yang dihabiskan pengembang untuk membantu pelanggan melakukan debug pada masalah integrasi.
Dalam konteks integrasi SaaS , API terpadu muncul dalam beberapa tahun terakhir sebagai cara untuk mengatasi tantangan dalam memahami dokumentasi API setiap aplikasi pihak ketiga.
Pada intinya, hal ini akan menyelamatkan tim teknik dari terus-menerus mempelajari atau meninjau kembali nuansa, bentuk, dan tata nama setiap API, sekali untuk setiap integrasi.
Bagaimana cara kerja API terpadu?
Mari kita lihat cara kerja API terpadu dengan contoh nyata.
Bayangkan pelanggan Anda meminta produk Anda untuk diintegrasikan dengan CRM mereka - di seluruh basis pengguna Anda, beberapa pelanggan menggunakan Salesforce, yang lain menggunakan HubSpot, dan beberapa menggunakan Dynamics atau Pipedrive.
API CRM terpadu akan mengabstraksikan API dari masing-masing CRM ini dengan mempertahankan referensi ke masing-masing API CRM yang mendasarinya.
Sumber: Paragon
Contoh di sini menunjukkan bahwa setiap CRM yang mendasari memiliki objek yang mewakili “kontak.”
HubSpot menyebutnya Kontak, Salesforce menyediakan objek Prospek dan Kontak, dan Pipedrive menyebut kontak sebagai Prospek. Ketika panggilan dilakukan ke objek “Kontak” dalam API terpadu, API terpadu kemudian akan mereferensikan objek terkait dalam layanan yang ditentukan.
Sekarang, referensi tingkat objek adalah lapisan pertama, namun di dalam objek tersebut, terdapat juga properti atau bidang yang diabstraksi. Pada contoh di atas, hal tersebut dapat mencakup nomenklatur yang berbeda untuk nama, ID, perusahaan, dll.
Jadi, jika tim Anda sedang membangun beberapa integrasi CRM, secara teoritis, Anda dapat membangun satu integrasi dengan API CRM terpadu yang memungkinkan Anda mengirimkan semua integrasi CRM yang mendasarinya secara bersamaan.
API terpadu khusus kategori
Tidak semua API dapat disatukan dalam satu API karena aplikasi SaaS yang berbeda memiliki model, struktur, dan fitur data yang unik.
Oleh karena itu, vendor biasanya menawarkan beberapa API terpadu yang khusus untuk vertikal SaaS tertentu, seperti CRM, akuntansi, atau periklanan, karena aplikasi SaaS ini akan memiliki struktur data yang relatif serupa dan berbagi banyak objek atau properti yang sama.
Saat merancang API terpadu, penyedia API harus hati-hati memilih API dasar mana yang akan disertakan dalam API terpadu, karena semakin banyak API dasar yang tumpang tindih, semakin luas cakupan yang dapat disediakan oleh API terpadu.
Namun, jika API terpadu menyertakan aplikasi yang tidak mirip satu sama lain, hal ini akan menjadi kurang berguna karena tidak dapat menampilkan semua objek dan properti yang dimiliki bersama oleh API yang mendasarinya. Misalnya, API terpadu yang mencakup CRM dan aplikasi akuntansi mungkin tidak terlalu berguna karena di luar objek “pelanggan”, mungkin tidak banyak tumpang tindih di seluruh model data aplikasi lainnya.
Apa manfaat API terpadu?
API Terpadu memberikan banyak manfaat bagi tim teknik yang perlu mengirimkan dan memelihara lusinan integrasi.
Abstraksi API
Daripada mempelajari dan berinteraksi dengan API individual dari setiap layanan, tim teknik Anda hanya perlu mempelajari cara berinteraksi dengan API terpadu satu kali (per kategori).
Hal ini tidak hanya membuat pembangunan integrasi ini lebih mudah dan cepat tetapi juga membantu mengurangi kompleksitas integrasi.
Selain itu, dalam hal pemeliharaan, vendor API terpadu bertanggung jawab menangani komunikasi dengan API yang mendasarinya, yang berarti tim Anda tidak perlu khawatir tentang gangguan perubahan yang dilakukan pada salah satu API yang mendasarinya. Pada akhirnya, vendor API terpadu akan bertanggung jawab untuk memperbarui abstraksi mereka guna memastikan integrasi terus berfungsi.
Otentikasi terkelola
Penyedia API terpadu umumnya menawarkan layanan autentikasi terkelola yang menghilangkan kerumitan autentikasi dengan API yang mendasarinya, baik melalui kunci API atau OAuth.
Saat Anda berintegrasi dengan beberapa API secara langsung, Anda harus mengelola proses autentikasi untuk masing-masing API, termasuk mengelola kredensial pengguna dan memastikan kebijakan penyegaran token yang aman.
Mengingat ada banyak perbedaan dalam cara setiap aplikasi menangani autentikasi, ini bisa menjadi tugas yang rumit dan rawan kesalahan, terutama jika Anda bekerja dengan API dalam jumlah besar.
Pencatatan
Secara alami, API terpadu membuat permintaan proxy ke API yang mendasarinya. Dengan demikian, mereka akan mengumpulkan dan menganalisis data tentang permintaan yang dibuat ke aplikasi pihak ketiga. Akibatnya, ketika permintaan gagal, penyedia API terpadu dapat mencatat peristiwa ini dan memberikan detail tentang pesan kesalahan yang dikembalikan oleh API yang mendasarinya.
Fungsionalitas logging ini dapat berguna bagi tim Anda karena memungkinkan mereka mengidentifikasi masalah yang mungkin terjadi pada integrasi mereka dengan cepat. Daripada menelusuri log dari beberapa API pihak ketiga, mereka dapat mengandalkan penyedia API terpadu untuk memusatkan pencatatan log dan pelaporan kesalahan.
Dengan kesalahan debug, penyedia API terpadu sering kali dapat memberikan pesan kesalahan yang lebih detail dibandingkan API yang mendasarinya. Hal ini karena mereka dapat menganalisis respons kesalahan dan memberikan lebih banyak konteks seputar akar penyebab masalah, sehingga dapat sangat mengurangi jumlah waktu yang dihabiskan untuk mendiagnosis kesalahan dan mempercepat waktu respons insiden .
Antarmuka pengguna yang dibuat sebelumnya
Sebagian besar penyedia API terpadu menyediakan antarmuka siap pakai bagi pelanggan Anda untuk mengautentikasi ke dalam integrasi, sehingga Anda tidak perlu membuat sendiri pengalaman konfigurasi.
Hal ini membebani tim Anda dari merancang pengalaman pengguna untuk setiap integrasi, yang dapat menambah penghematan waktu ketika mempertimbangkan lusinan potensi integrasi yang dapat Anda bangun di API terpadu.
Apa saja tantangan dalam menggunakan API terpadu?
Meskipun API terpadu memberikan manfaat yang disebutkan di atas, API tersebut dilumpuhkan oleh beberapa keterbatasan struktural yang mulai disadari oleh perusahaan.
Batasan kasus penggunaan
Mengingat API terpadu hanya dapat mengabstraksi objek dan titik akhir yang “bersama” di antara API yang mendasarinya, Anda hanya dapat membuat fitur yang relatif sederhana dan dapat digeneralisasikan di seluruh integrasi. Sejauh ini, ini adalah batasan terbesar dari solusi API terpadu mana pun.
Selain itu, semakin banyak aplikasi yang didukung dalam API terpadu, semakin terbatas pula aplikasi tersebut.
Sumber: Paragon
Mari kita lihat beberapa contoh keterbatasan ini.
Ciri-ciri yang tidak dapat didamaikan
Jika Anda perlu membangun fitur integrasi yang melibatkan fungsionalitas atau properti yang khusus untuk salah satu integrasi, hal itu tidak dapat dilakukan dengan API terpadu.
Misalnya, Anda ingin berintegrasi dengan beberapa alat masukan pelanggan melalui “API masukan terpadu”. Jika satu alat memanfaatkan model kuantitatif dengan skor umpan balik antara 1-10, sedangkan alat lainnya hanya mengumpulkan “negatif, netral, positif” disertai dengan “catatan”, maka API terpadu tidak mungkin dapat mendukung kasus penggunaan tersebut, karena Anda tidak dapat melakukan rekonsiliasi itu menjadi satu referensi.
Bidang yang hilang
Jika properti yang perlu Anda perbarui melalui integrasi hanya tersedia untuk subset tertentu dari integrasi yang didukung, properti tersebut tidak akan tersedia dalam API terpadu.
Misalnya, meskipun beberapa aplikasi pihak ketiga yang mendasarinya memiliki kode pos sebagai bidangnya, selama ada yang tidak memilikinya, kode pos tidak dapat diakses sebagai properti melalui API terpadu.
Objek dan bidang khusus
Secara alami, API terpadu menyediakan serangkaian referensi yang telah ditentukan sebelumnya untuk setiap API yang mendasarinya. Namun, jika Anda memasukkan objek atau bidang khusus ke dalam campuran, penyedia API terpadu tidak dapat mengantisipasi objek atau bidang tersebut. Oleh karena itu, mereka tidak dapat mendukung integrasi yang melibatkan objek atau bidang khusus.
Ini bisa menjadi penghalang besar jika pelanggan Anda memerlukan integrasi yang Anda berikan untuk mendukung penggunaan objek khusus dalam aplikasi pihak ketiga.
Batasan tarif
Saat Anda berintegrasi dengan beberapa API sekaligus melalui API terpadu, Anda perlu mengetahui batas kecepatan setiap API dan memastikan bahwa logika integrasi Anda tidak melebihi batas untuk satu API mana pun.
Artinya, logika yang Anda bangun harus mematuhi batas laju API dengan ambang batas terendah untuk batas laju. Sederhananya, API dengan batas tarif terendah akan menjadi faktor pembatas integrasi Anda. Jika Anda mencoba membuat terlalu banyak permintaan ke titik akhir API tersebut, permintaan Anda akan mulai gagal, meskipun API lain di API terpadu secara teknis dapat mendukung volume yang sama.
Untuk menghindari kesalahan batas laju saat membuat permintaan massal ke titik akhir tertentu untuk integrasi tersebut, Anda harus menggunakan pengelompokan atau pembatasan untuk mengontrol laju permintaan yang Anda kirim ke setiap API.
Jadi, meskipun masih mungkin untuk mengatasi batas kecepatan yang lebih rendah, Anda akan membangun kompleksitas tambahan ke dalam basis kode Anda untuk mengakomodasi batasan dari salah satu integrasi yang mendasarinya.
Keamanan
API Terpadu umumnya mengharuskan Anda mengotorisasi akses ke semua cakupan layanan pihak ketiga agar dapat menggunakan API mereka, dibandingkan mengizinkan Anda memilih cakupan individual untuk setiap integrasi.
Artinya, saat Anda mengautentikasi pengguna untuk menggunakan integrasi Anda, pengguna tersebut akan dipaksa untuk memberi Anda akses ke semua data yang terkait dengan layanan pihak ketiga tersebut, bukan hanya data yang diperlukan untuk integrasi.
Misalnya, Anda membangun integrasi CRM melalui API terpadu, dan CRM memiliki akses ke data penjualan, pemasaran, dan dukungan pelanggan. Saat pengguna mengautentikasi akunnya untuk menggunakan integrasi Anda, Anda akan diberikan akses ke ketiga kumpulan data, meskipun yang dibutuhkan aplikasi Anda hanyalah data penjualan.
Hal ini dapat meningkatkan kekhawatiran keamanan bagi pelanggan Anda. Untuk mengurangi kekhawatiran ini, penting untuk bersikap transparan kepada pengguna tentang data apa yang Anda minta aksesnya dan menjelaskan mengapa Anda memerlukan data tersebut dengan jelas.
Selain itu, mengingat vendor umumnya menghosting API terpadu, Anda mengandalkan vendor untuk memastikan bahwa mereka memiliki langkah-langkah keamanan yang kuat untuk melindungi data pengguna Anda dari akses tidak sah atau pelanggaran.
Model data beropini
Cara vendor merekonsiliasi berbagai API dasar dan titik akhir referensi bergantung pada pendapat mereka sendiri. Meskipun hal ini bukan masalah bagi sebagian besar kasus penggunaan, ada kalanya kasus tersebut menampilkan abstraksi yang tidak Anda setujui, atau tidak sesuai dengan perilaku yang diharapkan.
Kendala peta jalan
Dibandingkan dengan platform integrasi tertanam , yang menyediakan abstraksi satu-satu dari setiap API pihak ketiga di banyak kategori, vendor API terpadu dibatasi pada kategori yang telah mereka buatkan API terpadunya.
Meskipun mereka dapat dan akan membuat API terpadu baru dari waktu ke waktu, jika Anda meminta integrasi dengan kategori yang saat ini tidak didukung, kemungkinan besar Anda harus menunggu bertahun-tahun agar integrasi tersebut tersedia.
Satu-satunya pengecualian adalah jika vendor sedang membangun API terpadu untuk kategori yang sesuai dengan integrasi yang diminta. Namun, mengingat luasnya ekosistem SaaS dan kategori potensial yang dapat didukungnya, hal ini jarang terjadi.
Solusi: Pasti ada banyak keterbatasan yang timbul pada API terpadu, yang dapat membuat Anda berpikir dua kali tentang nilai sebenarnya dari API terpadu; vendor yang ada saat ini mencoba memberikan solusi unik untuk memberikan solusi.
Misalnya, penyedia tertentu menciptakan kemampuan untuk membuat permintaan “pass-through” ke API yang mendasarinya. Namun, penerapan saat ini masih sangat terbatas dan menciptakan pengalaman pengembang di bawah standar.
Kapan sebaiknya Anda menggunakan API terpadu
Saat memutuskan apakah API terpadu adalah solusi yang tepat untuk tim Anda, Anda dapat mengikuti kriteria pengambilan keputusan sederhana.
Kriteria
Jika semua hal berikut ini benar, maka hal ini layak untuk dievaluasi.
- Peta jalan integrasi Anda terbatas pada kategori yang didukung oleh penyedia API terpadu.
- Setiap kasus penggunaan integrasi yang perlu Anda bangun dapat digeneralisasikan ke setiap aplikasi dalam kategori tersebut.
- Anda dapat menginvestasikan sumber daya khusus untuk membangun infrastruktur yang dapat menangani volume permintaan yang diperlukan untuk mendukung pelanggan seiring penskalaan Anda.
- Anda tidak memerlukan tim dukungan untuk memiliki visibilitas tentang bagaimana integrasi berperilaku dan di mana kesalahannya, dan Anda dapat meminta tim teknis untuk langsung melakukan debug.
Jika Anda tidak yakin untuk mengatakan ya pada empat poin di atas, Anda mungkin tidak ingin terjebak dalam penggunaan API terpadu.
Sebaliknya, sebuah platform integrasi tertanam mungkin merupakan solusi yang lebih baik, karena memungkinkan Anda membangun integrasi yang lebih dalam sekaligus menyediakan alat yang lebih komprehensif untuk membantu menyederhanakan proses pengembangan integrasi.
Tantangan integrasi SaaS B2B
Memutuskan solusi untuk membantu Anda menskalakan peta jalan integrasi asli produk SaaS Anda bukanlah hal yang mudah. Anda tidak hanya harus memastikan bahwa ini dapat mengatasi kasus penggunaan Anda saat ini, tetapi juga semua kemungkinan kasus penggunaan yang mungkin diminta pelanggan Anda di masa mendatang.
API Terpadu dapat menjadi solusi hebat untuk mengirimkan puluhan integrasi dengan upaya minimal, asalkan kasus penggunaan yang dibutuhkan pelanggan Anda seragam di setiap integrasi dalam kategori tertentu.
Ini adalah pasar berkembang dengan banyak pemain baru dan tentunya merupakan pendekatan yang menarik untuk memecahkan tantangan integrasi SaaS B2B.
Pelajari semua tentang API, manfaat, tantangan, dan kasus penggunaannya dalam panduan komprehensif.