Belajar Croot.js, API.js, dan Webhook.cool: Panduan Basic HTTP Request untuk Pemula
PENDAHULUAN
Sebelum Mulai, Pahami Dulu 3 Konsep Ini:
1. Apa itu API?
API adalah "pelayan restoran". Kamu minta menu (request), pelayan ambil ke dapur (server), lalu kasih ke kamu (response).
2. Apa itu Webhook?
Webhook adalah "kotak surat". Kamu kirim data ke suatu URL, dan data itu akan tersimpan di sana. Berbeda dengan API yang harus kamu minta dulu, webhook langsung menerima data.
3. Kenapa kita pakai GitHub Organisasi?
GitHub Organisasi memudahkan kolaborasi tim dalam satu repository. Semua anggota tim bisa mengakses dan mengelola kode bersama, serta tetap bisa menggunakan GitHub Pages untuk hosting gratis.
Tujuan : Belajar menggunakan library api.js dari croot.js.org untuk HTTP request dan mempublikasikannya di GitHub Pages (via Organisasi)
Hasil: Bisa GET data dari API dan POST ke webhook, serta diakses online via organisasi GitHub
Apa yang akan kamu pelajari:
- Memahami api.js sebagai ES6 module
- Cara melakukan GET request ke API publik
- Cara melakukan POST request ke webhook.cool
- Cara membuat repository di GitHub Organisasi
- Cara deploy file HTML ke GitHub Pages dari Organisasi
- Cara melihat hasil request di console dan halaman web
Tools yang dibutuhkan:
- Browser (Chrome/Firefox/Edge)
- Text editor (VS Code/Notepad++)
- Akun GitHub (sudah punya organisasi)
- Koneksi internet
STEP 1: Buka Website Croot.js
- Buka browser
- Ketik https://croot.js.org/ di address bar
Klik menu "Explore CDN Library"
STEP 2: Buka Menu FilesImage
STEP 3: Buka Dokumentasi API.js
Buka http://croot.js.org/docs/api
Dokumentasi ini menjelaskan semua fungsi yang tersedia di api.js beserta cara penggunaannya.
Fungsi utama yang akan kita pakai:
- getJSON() → mengambil data dari server
- postJSON() → mengirim data ke server
STEP 4: Buka Webhook.cool
Buka tab baru di browser
Ketik https://webhook.cool/
Webhook.cool adalah layanan gratis untuk membuat webhook endpoint sementara. Berguna untuk testing POST request tanpa harus membuat server sendiri.
Webhook = URL yang bisa menerima data (biasanya dari aplikasi lain)
Webhook.cool akan menampilkan semua data yang masuk ke endpoint kita.
STEP 5: Buat Webhook Endpoint
Klik tombol "Create Webhook" atau "Get Endpoint". Kamu akan mendapatkan URL unik. Simpan URL ini. Contoh: https://webhook.cool/abc123xyz
STEP 6: Buat File HTML
Buka text editor (VS Code, Notepad++, atau Sublime Text). Buat file baru bernama index.html. Tulis kode berikut:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Belajar API.js</title>
</head>
<body>
<h1>Belajar Croot.js + API.js + Webhook</h1>
<button id="btnGet">GET Data</button>
<button id="btnPost">POST ke Webhook</button>
<hr>
<h3>Hasil:</h3>
<pre id="hasil">Klik tombol...</pre>
<script type="module">
import { getJSON, postJSON } from 'https://cdn.jsdelivr.net/gh/crootjs/lib@0.0.3/api.js';
// Ganti dengan URL webhook.cool punyamu!
const WEBHOOK_URL = 'https://webhook.cool/url-kamu';
function tampilkanHasil(response) {
console.log('Status:', response.status);
console.log('Data:', response.data);
document.getElementById('hasil').textContent = JSON.stringify(response, null, 2);
}
document.getElementById('btnGet').onclick = () => {
getJSON('https://jsonplaceholder.typicode.com/posts/1', tampilkanHasil);
};
document.getElementById('btnPost').onclick = () => {
const data = {
pesan: 'Halo dari API.js',
waktu: new Date().toISOString()
};
postJSON(WEBHOOK_URL, data, tampilkanHasil);
};
console.log('Siap!');
</script>
</body>
</html>
Catatan:
type="module"wajib ada- Ganti
WEBHOOK_URLdengan URL dari Step 5 - Simpan file sebagai
index.html(huruf kecil semua)
STEP 7: Upload ke GitHub Organisasi
- Buka github.com dan login
- Pilih organisasi yang akan digunakan
- Klik tab Repositories → New
- Isi nama repository:
belajar-api-js - Pilih Public → Create repository
- Klik Add file → Upload files
- Upload file
index.html→ Commit changes
STEP 8: Aktifkan GitHub Pages
- Di repository, klik tab Settings
- Menu kiri, klik Pages
- Di bagian Branch, pilih main / master
- Klik Save
STEP 9 - Web Online
Link GitHub :
STEP 10: Testing Tombol GET
Klik tombol "GET Data". Akan muncul data dari JSONPlaceholder.
STEP 11: Testing Tombol POST
Klik tombol "POST ke Webhook". Data akan dikirim ke webhook.cool.
STEP 12: Cek Webhook.cool Dashboard
- Kembali ke tab webhook.cool
- Refresh halaman
- Lihat "Incoming Requests"
TROUBLESHOOTING
Masalah yang Sering Terjadi:
| Masalah | Penyebab | Solusi |
|---|---|---|
| CORS Error | Browser memblokir request karena beda domain | Gunakan API yang sudah support CORS (JSONPlaceholder). Atau tambah proxy https://corsproxy.io/? di depan URL. |
| Webhook tidak terpicu | URL webhook salah atau typo | Cek lagi URL di webhook.cool. Copy-paste, jangan diketik manual. |
| Tombol tidak bekerja | Ada error JavaScript | Tekan F12 → buka tab Console → lihat error merahnya. |
| Data tidak muncul di halaman | Lupa type="module" |
Pastikan tag script ada type="module". |
| GitHub Pages tidak muncul | Belum aktif atau salah branch | Pastikan di Settings → Pages → Branch pilih main, tunggu 2 menit, refresh. |
Penjelasan Baris Kode
| Baris | Kode | Penjelasan |
|---|---|---|
| 14 | import { getJSON, postJSON } from '...' |
Mengambil dua fungsi dari file api.js. Supaya kita bisa pakai getJSON dan postJSON tanpa nulis fetch manual. |
| 16 | const WEBHOOK_URL = '...' |
Menyimpan URL webhook ke variabel. Biar mudah dipakai ulang dan ganti jika perlu. |
| 18-22 | function tampilkanHasil(response) |
Fungsi yang dipanggil otomatis setelah data datang. Karena getJSON dan postJSON itu ASYNC (butuh waktu). |
| 24-26 | document.getElementById('btnGet').onclick |
Event listener tombol GET. Agar saat tombol diklik, getJSON dijalankan. |
| 28-35 | document.getElementById('btnPost').onclick |
Event listener tombol POST. Agar saat tombol diklik, data dikirim ke webhook. |
KESIMPULAN
Ringkasan:
- API adalah "pelayan restoran" yang memberikan data saat diminta (GET)
- Webhook adalah "kotak surat" yang menerima data tanpa diminta (POST)
- api.js dari croot.js.org memudahkan kita melakukan GET dan POST
- Webhook.cool membantu testing POST request tanpa bikin server sendiri
- GitHub Organisasi memungkinkan kolaborasi tim dalam satu repository
- GitHub Pages membuat file HTML bisa diakses online dari mana saja
Referensi:
- Dokumentasi API.js: http://croot.js.org/docs/api
- JSONPlaceholder: https://jsonplaceholder.typicode.com
- Webhook.cool: https://webhook.cool
- GitHub Pages: https://pages.github.com
Selamat mencoba!
Komentar
Posting Komentar