Base URL adalah alamat dasar yang dituju aplikasimu sebelum path spesifik ditambahkan. Di OpenAI:
https://api.openai.com/v1 + /chat/completionsKalau kamu mengganti bagian depan itu, seluruh aplikasi berpindah tujuan tanpa satu baris kode pun berubah — selama format request dan responsnya sama.
Kenapa ini penting
Bayangkan aplikasimu sudah jalan dan memanggil tiga provider berbeda:
// provider A
$url = 'https://api.openai.com/v1/chat/completions';
// provider B
$url = 'https://api.anthropic.com/v1/messages';
// provider C
$url = 'https://generativelanguage.googleapis.com/v1beta/...';Tiga format request, tiga format respons, tiga cara membaca error, tiga tagihan berbeda. Setiap kali mau pindah provider, kamu mengubah kode, menguji ulang, dan berisiko merusak yang sudah jalan.
Dengan satu gateway yang kompatibel OpenAI, semuanya mengecil jadi satu:
BASE_URL=https://api.advance.my.id/api/openai/v1Ganti model cukup ganti nilai model, bukan mengubah integrasi.
Yang harus kamu periksa sebelum memilih gateway
1. Base URL harus domain gateway itu sendiri. Kalau dokumentasi menyuruh memakai URL provider lain, artinya key-mu diteruskan ke tempat yang tidak kamu kontrol. Base URL yang benar terlihat seperti api.domain-gateway.com, bukan api.openai.com.
2. Kompatibilitas harus nyata, bukan klaim. Uji tiga hal: /chat/completions, /models, dan stream: true. Kalau ketiganya jalan dengan SDK resmi OpenAI tanpa perubahan kode, berarti benar kompatibel.
3. Format error harus sama.
{ "error": { "message": "…", "type": "invalid_request_error" } }Kalau bentuk error berbeda, penanganan error di aplikasimu akan pecah saat ada masalah.
4. Kuota harus transparan. Kamu harus bisa menghitung sendiri: berapa token terpakai, dikali pengali berapa, sisa berapa. Gateway yang hanya menampilkan "sisa saldo" tanpa rincian token menyulitkanmu memperkirakan biaya.
Cara memindahkan aplikasi yang sudah jalan
- Simpan base URL lama di variabel lingkungan (jangan hardcode).
- Ganti nilainya, jalankan satu request percobaan.
- Bandingkan
usagedengan yang biasa kamu lihat — kalau angkanya wajar, berarti jalur baru benar. - Pantau 24 jam pertama: error rate dan latensi.
Karena bentuk request sama, rollback cukup mengembalikan nilai env. Tidak ada migrasi data.
Jebakan yang perlu dihindari
- Base URL di dalam kode → pindah provider berarti deploy ulang.
- Key ditulis di frontend → key terlihat siapa pun yang membuka DevTools. Selalu lewat backend.
- Menganggap semua model punya kemampuan sama → model murah tidak bisa melihat gambar; cek dulu sebelum mengirim.
- Tidak membatasi `max_tokens` → satu request bisa memakan kuota jauh lebih besar dari perkiraan.
Ringkas
Base URL adalah satu titik yang bisa mengubah seluruh tujuan aplikasimu. Pilih gateway yang: memakai domainnya sendiri, kompatibel dengan SDK resmi, error-nya seragam, dan kuotanya bisa kamu hitung sendiri.
