Apa itu titik akhir API?

 05 Agustus 2024

Penyusun

Michael Goodwin

Editorial lead, Automation & ITOps

Apa itu titik akhir API?

Titik akhir API adalah lokasi digital tempat antarmuka pemrograman aplikasi (API) menerima panggilan API, juga dikenal sebagai permintaan API, untuk sumber daya di servernya. Titik akhir API adalah komponen API dan paling sering berupa URL, atau pencari sumber daya seragam.

API adalah perantara yang memungkinkan aplikasi perangkat lunak untuk berkomunikasi satu sama lain untuk bertukar data, fitur, dan fungsionalitas. Ini adalah serangkaian protokol dan aturan yang menentukan bagaimana klien API—perangkat lunak yang membuat permintaan—dapat berkomunikasi dengan server untuk mengakses data dan fungsi. Dengan menggunakan API, pengembang dapat memanfaatkan data dan layanan yang sudah ada; dan pemilik aplikasi dapat berbagi atau memasarkan data dan layanan yang sama tersebut.

Titik akhir berfungsi seperti nomor telepon: seperti halnya pengguna menghubungi nomor telepon untuk menghubungi orang atau bisnis tertentu, klien API (perangkat lunak yang melakukan panggilan API) menyediakan URL titik akhir untuk mencapai sumber daya tertentu. URL titik akhir menyediakan lokasi sumber daya pada server API dan membantu menghubungkan klien API dengan sumber daya yang dimintanya. Ini pada dasarnya memberi tahu server, “sumber daya yang saya butuhkan terletak di sini.”

Titik akhir API dapat memungkinkan klien API untuk meminta semua jenis data dari suatu API, dengan contoh penggunaan yang berkisar dari pembaruan waktu nyata dari aplikasi perangkat lunak media sosial hingga fungsionalitas seperti menanamkan audio atau video, mengambil berita atau membuat postingan baru.

Pemandangan udara dari jalan raya

Dapatkan ketenangan saat menggunakan cloud 


Dapatkan Buletin Think mingguan untuk mendapatkan panduan pakar dalam mengoptimalkan pengaturan multicloud di era AI.

Mengapa titik akhir API penting?

Titik akhir API yang diformat dengan benar dan aman adalah bagian penting dari cara kerja API. API menyederhanakan desain dan pengembangan aplikasi dan layanan baru (karena memungkinkan pengembang untuk membangun kemampuan dan layanan yang ada) dan integrasi dan pengelolaan untuk yang sudah ada. Mereka juga menawarkan manfaat yang signifikan bagi para pengembang dan organisasi secara luas termasuk peningkatan kolaborasi, percepatan inovasi, peningkatan kelincahan, skalabilitas, keamanan, dan banyak lagi. Dengan titik akhir API, pertukaran sumber daya yang memungkinkan integrasi tersebut bisa terwujud.

Untuk bekerja dengan baik, titik akhir API harus tepat, intuitif, dapat dicari, dan telah diverifikasi. Jika tidak, komunikasi antara klien dan server dapat gagal—menyebabkan kehilangan fungsionalitas dan kepuasan pengguna. Sederhananya, titik akhir API mendukung klien API agar berhasil menemukan dan mengakses sumber daya serta fungsi yang diminta.

AI Academy

Mencapai kesiapan AI dengan hybrid cloud

Dipandu oleh pemimpin terkemuka IBM, kurikulumnya dirancang untuk membantu pemimpin bisnis dalam mendapatkan pengetahuan yang diperlukan untuk memprioritaskan investasi AI yang dapat mendorong pertumbuhan.

Bagaimana cara kerja titik akhir API? 

Titik akhir API biasanya ditemukan dalam dokumentasi API, tempat pengembang meletakkan informasi API seperti jenis permintaan yang akan diterima API dan seperti apa format permintaan. Idealnya, dokumentasi ini juga menyertakan daftar semua titik akhir API yang tersedia dan deskripsi singkat tentang fungsinya.

Dalam konteks REST API (gaya arsitektur perangkat lunak yang sering digunakan untuk aplikasi web), prosesnya terlihat seperti ini:

Proses ini dimulai ketika klien API mengirimkan permintaan sumber daya (panggilan API) ke titik akhir API yang sesuai. Titik akhir diakses dengan menggunakan metode permintaan HTTP seperti POST, GET, PUT, PATCH, dan DELETE. Metode ini menunjukkan tindakan yang ingin dilakukan klien pada sumber daya yang ditentukan.

Misalnya, jika klien ingin mengambil daftar total medali Olimpiade untuk tahun tertentu dari basis data fiktif Olympicfacts.com, permintaan GET dikirim ke URL titik akhir berikut: 

https://api.olympicfacts.com/v1/{year}

Permintaan ini akan mengembalikan daftar total medali Olimpiade menurut negara. (v1 di titik akhir fiktif kami menunjukkan versi API, praktik umum dalam pembuatan versi API.) Jika klien menginginkan total untuk negara tertentu pada tahun tertentu, ID akan ditambahkan ke URL dasar: 

https://api.olympicfacts.com/v1/year/{id}

Dalam contoh ini, ID {id} digunakan untuk menunjukkan negara yang informasinya diminta oleh klien.

Selain itu, permintaan mungkin mencakup:

  • Header: Header dapat memberikan informasi tambahan tentang permintaan, seperti header Accept yang menentukan jenis media yang diterima

  • Parameter: Parameter kueri dapat ditambahkan ke URL dasar atau di isi permintaan untuk memfilter kriteria pencarian lebih lanjut atau menambahkan spesifikasi lainnya.

  • Isi permintaan: Isi permintaan mencakup data yang diperlukan untuk membuat atau memodifikasi sumber daya. Sebagai contoh, jika permintaannya adalah untuk membuat blog baru (permintaan POST), konten blog baru akan disertakan dalam badan permintaan.

Setelah server mengautentikasi permintaan dan memvalidasi input, server akan mengambil data yang diminta dan menampilkan respons pada klien. Banyak organisasi menggunakan gateway API untuk menjalankan fungsi ini dan mengelola aliran lalu lintas API.

Apa perbedaan antara REST API dan titik akhir GraphQL?

REST API (juga disebut RESTful API atau RESTful web API) adalah API yang sesuai dengan prinsip-prinsip desain gaya arsitektur transfer status representasional (REST).GraphQL adalah bahasa kueri sumber terbuka dan waktu proses sisi server yang menentukan bagaimana klien harus berinteraksi dengan API.2

GraphQL dan RES T keduanya adalah teknologi berbasis sumber daya yang mendukung format data serupa (JSON dan XML, misalnya) dan memungkinkan klien untuk meminta data dari server dengan menggunakan metode HTTP. Namun, beberap perbedaan utamanya terletak pada persyaratan permintaan dan pengambilan data. Kami berakan fokus pada perbedaan utama terkait titik akhir.

REST API menggunakan beberapa titik akhir dan memiliki titik akhir yang berbeda untuk setiap sumber daya. Ketika klien meminta sumber daya, server mengembalikan semua data yang terkait dengan sumber daya tersebut, meskipun klien hanya membutuhkan sebagian kecil data. Ini dikenal sebagai overfetching. Jika klien membutuhkan data yang tersebar di beberapa sumber daya, klien perlu melakukan panggilan API terpisah ke masing-masing sumber daya tersebut untuk mengumpulkan data yang dibutuhkan.

GraphQL mengekspos model data dengan menggunakan satu titik akhir dan menggunakan sintaks yang memungkinkan klien untuk membuat permintaan API dalam satu baris, atau beberapa baris, untuk menentukan dengan tepat apa yang mereka butuhkan. Kueri GraphQL dapat mengikuti referensi antar sumber daya dan memenuhi tugas pengambilan data yang kompleks dalam satu permintaan. Ini membantu menghilangkan masalah kekurangan dan kelebihan pengambilan dan kebutuhan untuk melakukan beberapa panggilan API.

REST atau GraphQL API secara inheren tidak lebih unggul dari satu sama lain; mereka adalah alat yang berbeda yang cocok untuk tugas yang berbeda.3

Bagaimana pengujian API dilakukan?

Kunci untuk setiap desain API yang baik adalah fase pengujian. Aplikasi modern sering kali menggunakan API untuk mengintegrasikan fungsi-fungsi dari perangkat lunak lain, atau dibangun dengan menggunakan arsitektur layanan mikro (yang mengandalkan API untuk komunikasi antara layanan yang berbeda). Menguji titik akhir API sangat penting untuk memastikan keandalan.

Ada opsi pengujian manual untuk API dan opsi pengujian yang menggunakan otomatisasi, serta banyak alat dan platform pengujian (baik sumber terbuka maupun kesesuaian) yang dapat digunakan perusahaan.

Pengujian titik akhir API secara manual bisa jadi lebih lambat dan kurang efisien, tetapi juga lebih akurat dan dapat disesuaikan dengan contoh penggunaan tertentu. Pengujian fungsional adalah dengan mengirimkan permintaan dari aplikasi untuk memastikan bahwa respons yang diberikan benar. Dalam contoh media sosial, hal ini dapat berarti mengirimkan permintaan untuk postingan baru oleh pengguna tertentu dan memeriksa untuk memastikan bahwa postingan yang ditampilkan memang benar.

Jenis pengujian manual lainnya melibatkan: 

  • mengirim banyak permintaan sekaligus untuk melihat bagaimana server menangani beban permintaan

  • memeriksa apakah API terintegrasi dengan baik dengan layanan lain

  • menentukan kecepatan dan waktu respons dari permintaan yang diberikan

  • sengaja memberikan permintaan yang tidak valid untuk memeriksa bahwa pesan kesalahan yang benar ditampilkan

Pengujian otomatis yang dilakukan melalui platform API management dapat memberikan beberapa keuntungan:

  • mengurangi kemungkinan kesalahan manusia

  • lebih efisien dalam memeriksa validitas beberapa titik akhir API

  • dapat meningkatkan kecepatan pengujian dan berpotensi mengurangi biaya dalam jangka panjang setelah sistem pengujian otomatis dibuat (menghemat waktu karyawan, misalnya)

  • Menyelaraskan pengujian di sepanjang protokol, standar, dan izin yang seragam

Secara umum, masing-masing harus mengembalikan respons yang dimaksud, dalam hal format, data yang ditampilkan, dan kode status.

Cara mengamankan titik akhir API

Karena titik akhir API menyediakan cara bagi aplikasi dan sistem internal dan eksternal untuk mengakses dan mengintegrasikan data, mereka juga menghadirkan titik masuk potensial bagi pelaku kejahatan. Serangan denial-of-service terdistribusi (DDoS) dapat menggunakan permintaan yang sah tetapi dalam jumlah yang tidak masuk akal untuk membanjiri server. Jenis serangan lain mungkin mencoba menggunakan titik akhir API untuk mengekstrak lebih banyak informasi daripada yang diizinkan oleh klien untuk menerima atau menggunakan titik akhir API untuk menginstal malware atau kode berbahaya.

Ada beberapa cara organisasi dapat menjaga keamanan titik akhir API dan keamanan API secara keseluruhan, termasuk:

Mekanisme autentikasi

Metode autentikasi seperti autentikasi kunci API dan OAuth memastikan bahwa hanya pengguna yang diizinkan yang dapat mengakses data.

HTTPS

HTTPS (versi yang lebih aman dari hypertext transfer protocol atau HTTP) menggunakan transport layer security (TLS) untuk mengenkripsi komunikasi antara klien dan server. Hal ini meningkatkan keamanan transfer data.

Pembatasan laju

Pembatasan kecepatan adalah istilah umum yang mengacu pada upaya untuk mengatur jumlah maksimum permintaan, yang dapat membantu mencegah serangan DDoS dan menjaga stabilitas sistem. Batas yang berbeda juga dapat diterapkan ke titik akhir API yang berbeda.

Filter geografis

Jika serangan dibuat dari lokasi tertentu, filter geografis dapat digunakan untuk memblokir atau membatasi akses dari lokasi tersebut.

API gateway

Gateway API adalah lapisan perangkat lunak yang bertindak sebagai perantara antara perangkat klien dan server. Ini adalah titik pusat yang menerima semua panggilan API dan merutekannya ke layanan yang diminta. Banyak dari fitur keamanan ini (selain fitur analitik dan pemantauan API) dapat diimplementasikan dalam gateway API; dan penggunaan gateway mendorong penerapan protokol keamanan yang konsisten di seluruh lingkungan API.

Apa perbedaan antara sumber daya dan titik akhir API?

Sumber daya API adalah kumpulan data atau objek yang disediakan oleh API. Sumber daya bervariasi berdasarkan API yang dimaksud, tetapi jenis kontennya meliputi teks, tabel, file sumber, audio, video, gambar, pengguna, produk, dan banyak lagi.

Titik akhir API adalah lokasi spesifik sumber daya tersebut pada server. Ini adalah titik kontak antara klien dan server API, tempat panggilan API diarahkan.

Pikirkan listing bisnis untuk sebuah toko. Listing ini menyediakan lokasi toko (titik akhir) dan cara menghubunginya untuk meminta informasi seperti jam buka toko dan inventaris produk (sumber daya).

Apa perbedaan antara kunci API dan titik akhir API?

Kunci API adalah metode untuk memverifikasi dan mengautentikasi identitas dan keaslian klien yang membuat panggilan API. Kunci API adalah rangkaian karakter yang dibuat secara acak yang dikeluarkan oleh penyedia API kepada pengguna API yang terdaftar. Perangkat klien menyertakan kunci API saat membuat panggilan API. Gateway API atau server API yang menerima panggilan terlebih dahulu memeriksa kunci untuk memvalidasi identitas klien sebelum memenuhi permintaan API. Jika kunci tidak cocok dengan salah satu kunci yang diizinkan, server akan menolak panggilan API dan mengeluarkan pesan penolakan.

Organisasi menggunakan kunci API untuk mengautentikasi klien dan proyek individual, melacak dan mengidentifikasi pola lalu lintas, memblokir penggunaan yang tidak diinginkan, dan banyak lagi.

Titik akhir API, seperti yang telah dijelaskan, bertindak sebagai antarmuka antara klien dan server, tempat klien API mengarahkan permintaan data atau fungsi tertentu dari API. Kunci API dapat digunakan untuk meningkatkan keamanan seluruh lingkungan API perusahaan dan integrasi API-nya.

Solusi terkait
IBM webMethods

Integrasikan aplikasi Anda dan otomatiskan pekerjaan dengan platform multicloud hybrid IBM WebMethods.

Jelajahi webMethods
Perangkat Lunak dan Solusi Integrasi

Buka potensi bisnis dengan solusi integrasi IBM, menghubungkan aplikasi dan sistem untuk mengakses data penting dengan cepat dan aman.

Jelajahi solusi cloud integration
Layanan Konsultasi Cloud 

Dapatkan kemampuan baru dan dorong ketangkasan bisnis dengan layanan konsultasi cloud IBM. Temukan cara menciptakan solusi dengan berkreasi bersama, mempercepat transformasi digital, dan mengoptimalkan kinerja melalui strategi hybrid cloud dan kemitraan pakar.

Layanan cloud
Ambil langkah selanjutnya

Sederhanakan perjalanan transformasi digital Anda dengan alat integrasi yang canggih. Temukan bagaimana solusi terkemuka IBM dapat menghubungkan, mengotomatisasi, dan mengamankan aplikasi bisnis Anda.

Memulai dengan integrasi Jelajahi solusi khusus
Catatan kaki

What is a REST API?”, IBM.com

What is GraphQL?”, Chrystal China, Michael Goodwin, 8 Desember 2023

GraphQL vs. REST API: What’s the difference?”, Chrystal China, 29 Maret 2024