API (Application Programming Interfaces) adalah tulang punggung dari pengembangan perangkat lunak modern, memungkinkan komunikasi yang lancar antara aplikasi yang berbeda. Memahami istilah teknis yang terkait dengan API dan endpoint sangat penting bagi pengembang untuk merancang, mengembangkan, dan memelihara API yang kuat. Dalam blog ini, kita akan menjelajahi beberapa istilah yang paling umum digunakan di dunia API dan endpoint.
Istilah Terkait API
Ada 12 istilah umum terkait API yang harus diketahui oleh pengembang:
1. Endpoint
Endpoint adalah URL spesifik tempat API dapat diakses oleh klien untuk melakukan operasi seperti mengambil atau mengirim data.

2. Metode HTTP
Ini adalah jenis permintaan yang dapat dibuat ke endpoint:
- GET: Mengambil data dari server.
- POST: Mengirim data ke server.
- PUT: Memperbarui data yang ada di server.
- DELETE: Menghapus data dari server.

3. Request Payload/Body (Muatan/Badan Permintaan)
Data yang dikirim oleh klien ke server dalam permintaan API, biasanya digunakan dalam permintaan POST dan PUT.

4. Response Payload/Body (Muatan/Badan Respons)
Data yang dikembalikan oleh server ke klien setelah permintaan API.

5. Kode Status
Kode yang dikembalikan oleh server untuk menunjukkan hasil dari permintaan API (misalnya, 200 OK, 404 Tidak Ditemukan, 500 Kesalahan Server Internal).

6. Headers (Tajuk)
Pasangan kunci-nilai yang dikirim dengan permintaan atau respons API, menyediakan metadata tentang permintaan atau respons.

7. Autentikasi
Proses memverifikasi identitas pengguna atau klien. Metode umum termasuk kunci API, OAuth, dan JWT (JSON Web Token).

8. Otorisasi
Proses menentukan apakah pengguna atau klien memiliki izin untuk melakukan tindakan tertentu atau mengakses data tertentu.

9. Pembatasan Laju (Rate Limiting)
Mengontrol jumlah permintaan yang dapat dibuat klien ke API dalam jangka waktu tertentu untuk mencegah penyalahgunaan.

10. Throttling
Mirip dengan pembatasan laju, ini melibatkan pengaturan laju di mana permintaan diproses oleh API.

11. Latensi
Waktu yang dibutuhkan untuk permintaan API diproses dan respons diterima.

12. CORS (Cross-Origin Resource Sharing - Berbagi Sumber Daya Lintas Asal)
Mekanisme untuk mengizinkan atau membatasi sumber daya di server web untuk diminta dari domain lain.

13. API Gateway (Gerbang API)
Server yang bertindak sebagai front-end API, menerima permintaan API, memberlakukan keamanan dan batasan laju, dan mengarahkan permintaan ke layanan back-end yang sesuai.

14. Webhooks
HTTP callbacks yang memungkinkan satu sistem mengirim data waktu nyata ke sistem lain ketika peristiwa tertentu terjadi.

Istilah Terkait Endpoint
1. Base URL (URL Dasar)
URL akar untuk semua endpoint API, yang biasanya mencakup protokol (http/https) dan domain.

2. Parameter Jalur (Path Parameter)
Bagian variabel dari URL endpoint, digunakan untuk menentukan sumber daya (misalnya, /users/{userId}
).

3. Parameter Kueri (Query Parameter)
Pasangan kunci-nilai yang ditambahkan ke URL endpoint untuk memfilter atau memodifikasi permintaan (misalnya, ?sort=asc&limit=10
).

4. Sumber Daya (Resource)
Objek atau entitas yang dapat dikelola oleh API, biasanya direpresentasikan sebagai URL (misalnya, /users
, /posts
).
5. Operasi CRUD
Operasi dasar yang dilakukan pada sumber daya:
- Create (Buat): Menambahkan sumber daya baru (biasanya melalui POST).
- Read (Baca): Mengambil sumber daya (biasanya melalui GET).
- Update (Perbarui): Memodifikasi sumber daya yang ada (biasanya melalui PUT atau PATCH).
- Delete (Hapus): Menghapus sumber daya (biasanya melalui DELETE).

6. Pembuatan Versi (Versioning)
Mengelola perubahan pada API dengan membuat versi yang berbeda (misalnya, /v1/users
, /v2/users
).

7. Pagination (Penomoran Halaman)
Membagi sekumpulan data besar menjadi potongan-potongan yang lebih kecil, sering kali menggunakan parameter kueri seperti page
dan limit
.

8. Serialisasi
Mengonversi objek menjadi format yang dapat dengan mudah ditransmisikan, seperti JSON atau XML.
9. Deserialisasi
Mengonversi data yang diserialisasi kembali menjadi objek.

10. Mock API
Versi simulasi dari API yang digunakan untuk pengujian dan pengembangan tanpa memerlukan server langsung.

11. Skema
Cetak biru atau struktur tentang bagaimana data diatur, sering kali didefinisikan menggunakan format seperti Skema JSON untuk tujuan validasi.

12. Middleware
Perangkat lunak yang mencegat dan memproses permintaan dan respons API, sering digunakan untuk pencatatan, autentikasi, atau modifikasi permintaan.

13. Penanganan Kesalahan (Error Handling)
Mengelola dan menanggapi kesalahan dalam API, sering kali dengan mengembalikan kode status dan pesan kesalahan tertentu.
