API, atau application programming interface, adalah antarmuka yang memungkinkan satu program meminta data atau tindakan dari program lain dengan aturan yang jelas. API sederhana di web biasanya menerima permintaan HTTP dan mengembalikan data dalam format JSON.
Konsep dasar
| Konsep | Arti | Contoh |
|---|---|---|
| Endpoint | Alamat sumber daya | /produk |
| Metode HTTP | Jenis tindakan | GET (ambil), POST (tambah), PUT atau PATCH (ubah), DELETE (hapus) |
| Permintaan | Pesan dari klien | Meminta daftar produk |
| Balasan | Data dan kode status | JSON dan kode 200 |
| Kode status | Hasil permintaan | 200 berhasil, 400 permintaan keliru, 401 belum masuk, 404 tidak ditemukan, 500 galat server |
Contoh alur daftar produk
- GET /produk mengembalikan daftar produk.
- GET /produk/12 mengembalikan produk dengan ID 12.
- POST /produk menambah produk baru dari data yang dikirim.
- PUT /produk/12 mengubah produk tersebut.
- DELETE /produk/12 menghapus produk.
Langkah membuat
- Rancang sumber daya dan endpoint secara konsisten.
- Pilih bahasa dan kerangka kerja yang Anda kuasai.
- Definisikan format data dan nama bidang yang konsisten.
- Validasi masukan di server.
- Kembalikan kode status dan pesan kesalahan yang jelas.
- Tambahkan otentikasi, misalnya kunci API atau token, untuk endpoint yang tidak publik.
- Batasi laju permintaan untuk mencegah penyalahgunaan.
- Dokumentasikan endpoint dengan contoh.
- Uji dengan alat pengujian API dan kasus tidak normal.
- Pantau dan catat permintaan serta kesalahan.
Kesalahan umum
Tidak memvalidasi masukan, membocorkan pesan kesalahan internal, mengabaikan otentikasi, dan tidak memberi versi pada API sehingga perubahan merusak klien lama. API merupakan kontrak, yaitu perubahan harus dikelola hati-hati. Pegangannya ialah konsisten dan terdokumentasi. Lihat cara menghubungkan website dengan database dan jasa integrasi API. Valtef membuat API dan integrasi untuk sistem Anda; ceritakan kebutuhan.
Pertanyaan yang sering diajukan
Apa bedanya API dan website?
Website untuk manusia melihat; API untuk program berkomunikasi.
Perlukah otentikasi?
Untuk data yang tidak publik, ya.
Format apa yang umum?
JSON adalah format yang paling umum untuk API web.