Bayar QRIS atau USDC: Panduan Pembayaran Panglima Router
Panglima Router menerima QRIS dan USDC (Base). Perbandingan lengkap: cara bayar, kelebihan tiap metode, hal yang perlu diwaspadai, dan troubleshooting.
Panduan
23 Oktober 2026 · 6 menit baca · Panglima Router

"OpenAI-compatible" artinya satu hal yang praktis: kamu tidak perlu belajar API baru. Endpoint Panglima Router — https://api.panglimarouter.xyz — mengikuti format OpenAI di dua endpoint utama: /v1/models untuk melihat daftar model, dan /v1/chat/completions untuk mengirim chat. Library OpenAI yang sudah kamu pakai bisa dipakai ulang; cukup arahkan baseURL ke server Panglima Router dan pakai API key-mu.
Artikel ini kumpulan contoh siap copy-paste dalam tiga bahasa, dari request paling sederhana sampai streaming dan penanganan error. Prasyaratnya satu: kamu sudah punya API key (caranya ada di panduan Cara Memakai Panglima Router di blog ini).
Setiap request ke API terdiri dari tiga bagian:
Authorization: Bearer PR-KEY-KAMU, tempat API key-mu ditaruh.role: system (instruksi perilaku), user (inputmu), assistant (riwayat jawaban).Response-nya mengembalikan choices[0].message.content berisi jawaban, plus usage berisi hitungan token. Pola ini identik dengan OpenAI — kalau kamu pernah memakainya, tidak ada yang asing.
Mulai dari terminal untuk memastikan key-mu jalan sebelum menulis kode:
curl https://api.panglimarouter.xyz/v1/chat/completions \
-H "Authorization: Bearer PR-KEY-KAMU" \
-H "Content-Type: application/json" \
-d '{
"model": "MODEL_ID",
"messages": [{"role": "user", "content": "Jelaskan AI router dalam satu kalimat."}]
}'
Kalau ini mengembalikan JSON dengan choices, key dan koneksimu beres. Kalau 401, key-nya yang bermasalah — cek ulang salinanmu.
curl https://api.panglimarouter.xyz/v1/models \
-H "Authorization: Bearer PR-KEY-KAMU"
Response-nya daftar ID model yang bisa kamu pakai di parameter model. Berguna untuk skrip yang perlu memilih model secara dinamis.
Install dulu kalau belum ada:
pip install openai
Lalu:
from openai import OpenAI
client = OpenAI(
base_url="https://api.panglimarouter.xyz/v1",
api_key="PR-KEY-KAMU",
)
res = client.chat.completions.create(
model="MODEL_ID",
messages=[{"role": "user", "content": "Halo!"}],
)
print(res.choices[0].message.content)
Perhatikan: base_url menunjuk ke Panglima Router, bukan api.openai.com. Itu satu-satunya perbedaan dari kode OpenAI biasa.
from openai import OpenAI
import os
client = OpenAI(
base_url="https://api.panglimarouter.xyz/v1",
api_key=os.environ["PANGLIMA_API_KEY"],
)
res = client.chat.completions.create(
model="MODEL_ID",
messages=[
{"role": "system", "content": "Kamu asisten yang menjawab singkat dan padat."},
{"role": "user", "content": "Apa beda router AI dengan API model langsung?"},
],
temperature=0.7,
max_tokens=300,
)
print(res.choices[0].message.content)
print("Token terpakai:", res.usage.total_tokens)
Key dibaca dari environment variable — jangan pernah hardcode di kode. temperature mengontrol kreativitas (0 = deterministik, makin tinggi makin variatif), max_tokens membatasi panjang jawaban.
Streaming didukung via stream: true, sama seperti OpenAI. Cocok untuk UI chat yang menampilkan jawaban kata per kata:
from openai import OpenAI
import os
client = OpenAI(
base_url="https://api.panglimarouter.xyz/v1",
api_key=os.environ["PANGLIMA_API_KEY"],
)
stream = client.chat.completions.create(
model="MODEL_ID",
messages=[{"role": "user", "content": "Ceritakan tentang AI router."}],
stream=True,
)
for chunk in stream:
delta = chunk.choices[0].delta.content
if delta:
print(delta, end="", flush=True)
Untuk kode yang jalan di production, tangkap error yang mungkin muncul:
from openai import OpenAI, APIError, RateLimitError
import os, time
client = OpenAI(
base_url="https://api.panglimarouter.xyz/v1",
api_key=os.environ["PANGLIMA_API_KEY"],
)
def tanya(prompt, coba_lagi=3):
for percobaan in range(coba_lagi):
try:
res = client.chat.completions.create(
model="MODEL_ID",
messages=[{"role": "user", "content": prompt}],
)
return res.choices[0].message.content
except RateLimitError:
# Kena rate limit: tunggu makin lama tiap percobaan
time.sleep(2 ** percobaan)
except APIError as e:
print(f"API error: {e}")
break
return None
Pola backoff eksponensial (2 ** percobaan detik) untuk RateLimitError adalah praktik standar — rate limit di Panglima Router wajar per menitnya, dan retry dengan jeda menanganinya dengan anggun.
npm install openai
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api.panglimarouter.xyz/v1",
apiKey: "PR-KEY-KAMU",
});
const res = await client.chat.completions.create({
model: "MODEL_ID",
messages: [{ role: "user", content: "Halo!" }],
});
console.log(res.choices[0].message.content);
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api.panglimarouter.xyz/v1",
apiKey: process.env.PANGLIMA_API_KEY,
});
try {
const stream = await client.chat.completions.create({
model: "MODEL_ID",
messages: [{ role: "user", content: "Jelaskan AI router singkat." }],
temperature: 0.7,
max_tokens: 300,
stream: true,
});
for await (const chunk of stream) {
const delta = chunk.choices[0]?.delta?.content;
if (delta) process.stdout.write(delta);
}
} catch (err) {
if (err.status === 429) {
console.error("Kena rate limit — tunggu sebentar lalu ulangi.");
} else {
console.error("API error:", err.message);
}
}
Chatbot butuh ingatan. Polanya: setiap jawaban assistant dimasukkan kembali ke array messages sebelum request berikutnya. API sendiri tidak menyimpan riwayat — kamulah yang membawanya.
from openai import OpenAI
import os
client = OpenAI(
base_url="https://api.panglimarouter.xyz/v1",
api_key=os.environ["PANGLIMA_API_KEY"],
)
messages = [
{"role": "system", "content": "Kamu asisten yang ramah dan singkat."},
]
while True:
user_input = input("Kamu: ")
if user_input.lower() in ("keluar", "exit"):
break
messages.append({"role": "user", "content": user_input})
res = client.chat.completions.create(
model="MODEL_ID",
messages=messages,
)
reply = res.choices[0].message.content
print("AI:", reply)
messages.append({"role": "assistant", "content": reply})
Untuk percakapan panjang, perhatikan context window model yang kamu pakai — riwayat yang kepanjangan perlu diringkas atau dipotong dari depan. Cek kapasitas tiap model di halaman Model.
Jangan sebar nama model hardcode di banyak file. Taruh di satu variabel konfigurasi:
MODEL = "MODEL_ID" # ganti di sini kalau pindah model
const MODEL = "MODEL_ID"; // ganti di sini kalau pindah model
Kebiasaan kecil ini menghemat banyak waktu nanti — saat kamu menemukan model yang lebih cocok (panduan memilihnya di Memilih Model AI untuk Project), gantinya satu baris, bukan berburu ke seluruh codebase.
Nama model memakai ID lengkap. Salin persis dari halaman Model lewat tombol Salin ID — ID yang tidak lengkap atau salah ketik mengembalikan 404.
Rate limit per menit wajar. Kalau aplikasimu mengirim banyak request beruntun — misalnya batch processing — siapkan retry dengan jeda seperti contoh di atas. Jangan menembak request sekaligus tanpa jeda.
Streaming didukung penuh. stream: true bekerja seperti di OpenAI, format SSE yang sama. Tidak ada parameter khusus Panglima Router yang perlu dipelajari.
Key tampil sekali, jaga baik-baik. Kalau key bocor ke log atau repo, rotate dari menu bot — key lama langsung mati. Praktik terbaiknya: satu key per project, simpan di environment variable, rotate segera kalau bocor.
Contoh-contoh di atas cukup untuk membuat API pertamamu jalan hari ini. Dari sini, arah pengembangan yang masuk akal:
baseURL dan key. Panduan 10 menitnya di Migrasi dari OpenAI.Umumnya bisa, selama library-nya mendukung parameter base_url/baseURL custom. Itu fitur standar yang sudah ada lama di library resmi. Kalau library-mu sangat lawas dan tidak mendukung base URL custom, upgrade ke versi terbaru — gratis dan cepat.
Untuk endpoint chat completions, ya: choices[0].message.content untuk jawaban dan usage untuk token. Kode parsing yang kamu tulis untuk OpenAI bisa dipakai ulang tanpa perubahan.
Bisa secara teknis, tapi jangan taruh API key di kode frontend — siapa pun bisa mengintipnya dari DevTools dan memakai kuotamu. Pola yang benar: frontend memanggil backend-mu sendiri, backend yang memegang key dan meneruskan request ke Panglima Router.
Request akan ditolak. Cek sisa masa aktif dari menu bot dan perpanjang paket sebelum habis kalau aplikasimu production. Paket terpanjang adalah Pro (30 hari).
Contoh di artikel ini mencakup 90% kebutuhan umum. Untuk referensi endpoint, buka Dokumentasi. Kalau mentok, tanya di grup diskusi.
Itu dia — tiga bahasa, satu pola. Ambil key-mu di @panglimarouter_bot, copy salah satu contoh di atas, ganti key-nya, dan API pertamamu jalan dalam hitungan menit.
Panglima Router menerima QRIS dan USDC (Base). Perbandingan lengkap: cara bayar, kelebihan tiap metode, hal yang perlu diwaspadai, dan troubleshooting.
Kenapa pindah ke Panglima Router? 6 alasan praktis: satu API key untuk banyak model AI, format OpenAI-compatible, bayar pakai QRIS, mulai Rp5.000 saja.
Mulai sekarang
Mulai dari Rp5.000. Bayar QRIS atau USDC, langsung dapat API key.