Semua yang kamu butuhkan untuk mulai membangun
Panduan lengkap autentikasi, endpoint, model, contoh kode, dan penanganan error untuk mengintegrasikan ConextRouter ke aplikasimu.
1Mulai Cepat
Tiga langkah untuk mengirim request pertamamu ke ConextRouter.
- Buat akun dan verifikasi email di dashboard.
- Top up saldo, lalu buat API key baru dari menu API Keys.
- Ganti base URL di SDK/kode kamu ke
api.conextrouter.iddan gunakan API key sebagai Bearer token.
# Contoh request pertama kamu curl https://api.conextrouter.id/v1/chat/completions \ -H "Authorization: Bearer $CONEXTROUTER_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "conext-auto", "messages": [{"role": "user", "content": "Halo, ConextRouter!"}] }'
2Autentikasi
Setiap request ke ConextRouter perlu disertai API key sebagai Bearer token pada header Authorization.
Authorization: Bearer cr-live-xxxxxxxxxxxxxxxxxxxxxxxx
Jaga kerahasiaan API key kamu. Jangan taruh API key di kode sisi client (browser/mobile). Simpan di environment variable server, dan buat API key terpisah untuk tiap environment (development, staging, production).
Kamu bisa membuat beberapa API key dari dashboard, masing-masing dengan limit pemakaian dan label sendiri, serta mencabutnya kapan saja tanpa memengaruhi API key lain.
3Base URL & Kompatibilitas
ConextRouter kompatibel dengan format request OpenAI dan Anthropic, jadi pada banyak kasus kamu hanya perlu mengganti base URL di SDK yang sudah kamu pakai.
| Endpoint | Method | Deskripsi |
|---|---|---|
/v1/chat/completions | POST | Format kompatibel OpenAI, mendukung chat & tool calling. |
/v1/messages | POST | Format kompatibel Anthropic Messages API. |
/v1/models | GET | Daftar model yang tersedia beserta status ketersediaannya. |
/v1/usage | GET | Ringkasan pemakaian token dan saldo untuk API key yang digunakan. |
Base URL: https://api.conextrouter.id
4Model & Routing Otomatis
Secara default, kirim "model": "conext-auto" dan ConextRouter akan menilai kompleksitas setiap request lalu mengarahkannya ke salah satu tier berikut. Kamu juga bisa memaksa model tertentu dengan mengirim nama modelnya langsung.
| Tier | Cocok untuk | Latensi relatif |
|---|---|---|
| conext-flash | Pertanyaan singkat, autocomplete, klasifikasi ringan | Rendah |
| conext-plus | Tugas harian dengan kompleksitas sedang | Sedang |
| conext-max | Reasoning berat, analisis, dan tugas multi-langkah | Lebih tinggi |
Setiap respons menyertakan header x-conext-model yang menunjukkan model aktual yang menangani request, sehingga kamu tetap punya visibilitas penuh meski routing berjalan otomatis.
5Contoh Kode
Pilih bahasa yang kamu pakai. Semua contoh menggunakan endpoint kompatibel OpenAI.
curl https://api.conextrouter.id/v1/chat/completions \ -H "Authorization: Bearer $CONEXTROUTER_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "conext-auto", "messages": [ {"role": "user", "content": "Ringkas artikel ini dalam 3 poin."} ] }'
from openai import OpenAI client = OpenAI( base_url="https://api.conextrouter.id/v1", api_key="CONEXTROUTER_API_KEY" ) response = client.chat.completions.create( model="conext-auto", messages=[ {"role": "user", "content": "Ringkas artikel ini dalam 3 poin."} ] ) print(response.choices[0].message.content)
import OpenAI from "openai"; const client = new OpenAI({ baseURL: "https://api.conextrouter.id/v1", apiKey: process.env.CONEXTROUTER_API_KEY, }); const response = await client.chat.completions.create({ model: "conext-auto", messages: [ { role: "user", content: "Ringkas artikel ini dalam 3 poin." } ], }); console.log(response.choices[0].message.content);
6Format Respons
Respons mengikuti struktur standar Chat Completions, dengan tambahan field router yang menjelaskan keputusan routing.
{
"id": "chatcmpl-8f2a1c",
"model": "qwen-plus",
"choices": [{
"index": 0,
"message": { "role": "assistant", "content": "..." },
"finish_reason": "stop"
}],
"usage": { "prompt_tokens": 42, "completion_tokens": 118, "total_tokens": 160 },
"router": { "requested": "conext-auto", "selected_tier": "conext-plus" }
}
7Streaming
Tambahkan "stream": true pada body request untuk menerima respons secara bertahap lewat Server-Sent Events (SSE), berguna untuk menampilkan jawaban token demi token di UI kamu.
curl https://api.conextrouter.id/v1/chat/completions \ -H "Authorization: Bearer $CONEXTROUTER_API_KEY" \ -d '{"model": "conext-auto", "stream": true, "messages": [...]}'
8Penanganan Error
| Kode | Arti | Yang perlu dilakukan |
|---|---|---|
401 | API key tidak valid atau hilang | Periksa header Authorization dan pastikan API key masih aktif |
402 | Saldo tidak mencukupi | Top up saldo dari dashboard |
429 | Rate limit terlampaui | Terapkan retry dengan backoff, lihat header rate limit |
400 | Body request tidak valid | Periksa format JSON dan field wajib |
500 | Kesalahan sisi server | Coba ulang, atau hubungi dukungan jika berlanjut |
{
"error": {
"type": "insufficient_balance",
"message": "Saldo tidak mencukupi untuk memproses request ini."
}
}
9Rate Limit
Batas rate limit mengikuti limit yang kamu atur per API key di dashboard. Setiap respons menyertakan header berikut agar kamu bisa memantau sisa kuota secara real-time:
x-ratelimit-limit-requestsx-ratelimit-remaining-requestsx-ratelimit-reset-requests
Untuk kebutuhan throughput lebih tinggi, tim Enterprise dapat mengajukan penyesuaian limit sesuai kebutuhan.
10Harga & Penagihan
Personal dikenakan biaya prabayar berdasarkan token yang terpakai, dipotong langsung dari saldo. Enterprise menggunakan skema postpaid dengan satu invoice bulanan untuk seluruh tim.
Lihat rincian paket dan cara top up di halaman Harga.
11FAQ & Dukungan
Pertanyaan umum seputar model, pembayaran, dan integrasi ada di halaman FAQ. Butuh bantuan lebih lanjut? Tim kami siap membantu.