API hujjatlari
KitUz API’ni loyihangizga ulash uchun texnik qo‘llanma.
BOSHLASH
Umumiy ko‘rinish
KitUz API HTTP so‘rovlarini qabul qiladi va JSON formatida javob qaytaradi. So‘rovlar uchun shaxsiy API kaliti, model identifikatori va kamida bitta xabar kerak bo‘ladi.
- Protokol
- HTTPS / HTTP (lokal sinovda)
- Format
- JSON · UTF-8
- Endpoint
/api/chat.php
01 / TEZ BOSHLASH
Birinchi so‘rovni yuboring
API Keys bo‘limidan token oling. Keyin quyidagi so‘rovdagi token va model ID’ni o‘zingiznikiga almashtiring.
curl -X POST 'https://ai.alibekdev.uz/api/chat.php' \
-H 'Authorization: Bearer KITUZ_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"model": "meta-llama/llama-prompt-guard-2-22m",
"platform": "web",
"messages": [{"role":"user","content":"Salom!"}]
}'
02 / KALIT VA RUXSAT
Autentifikatsiya
Har bir so‘rovda API kalitini Authorization sarlavhasida Bearer token sifatida yuboring. Token faolligi, amal qilish muddati va ruxsat etilgan platforma serverda tekshiriladi.
Bearer KITUZ_API_KEYAPI kalitini frontend JavaScript, ommaviy Git repozitoriy yoki mijoz brauzeriga joylamang. Server tomonida saqlang.
03 / MODEL TANLASH
Model katalogi
Brendni tanlab, KitUz konfiguratsiyasida mavjud model ID’larini ko‘ring. Bitta API kaliti barcha modellar uchun ishlaydi: bepul modelda kunlik limit, pullik modelda esa token sarfiga qarab balansdan to‘lov qo‘llanadi. Logotip rasmiy hamkorlikni anglatmaydi.
04 / JAVOB
Javob formati
Muvaffaqiyatli javobda success va model javobi qaytadi. Xatolik yuz bersa, HTTP status kodi bilan birga error maydonini tekshiring.
{
"success": true,
"model": "meta-llama/llama-prompt-guard-2-22m",
"response": "Salom! Sizga qanday yordam bera olaman?",
"response_time_ms": 842,
"usage": {"input_tokens": 24, "output_tokens": 18, "charged_uzs": 0, "currency": "UZS"}
}
05 / NOSOZLIKLAR
Xatolarni tekshirish
400So‘rov noto‘g‘ri yoki model ID yaroqsizJSON maydonlari va katalogdagi model ID’ni tekshiring.401Token yo‘q yoki noto‘g‘riAuthorization sarlavhasini tekshiring.403Token faolsiz, muddati tugagan yoki ruxsat mos emasAPI Keys sozlamalarini tekshiring.402Pullik model uchun balans yetarli emasHisobni to‘ldiring yoki max_tokens qiymatini kamaytiring.429Bepul modelning kunlik limiti tugaganLimit yangilanishini kuting yoki pullik model uchun balans to‘ldiring.502Model javobini olishda xatolikBir ozdan keyin qayta urinib ko‘ring.06 / INTEGRATSIYA
Boshqa tillarda foydalanish
Quyidagi namunalarda xuddi shu endpoint va JSON maydonlari ishlatiladi. API kalitini xavfsiz muhit o‘zgaruvchisidan oling.
PHP · cURL
<?php
$payload = [
'model' => 'meta-llama/llama-prompt-guard-2-22m',
'platform' => 'web',
'messages' => [['role' => 'user', 'content' => 'Salom!']],
];
$ch = curl_init('https://ai.alibekdev.uz/api/chat.php');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('KITUZ_API_KEY'),
'Content-Type: application/json',
],
CURLOPT_POSTFIELDS => json_encode($payload),
]);
$result = curl_exec($ch);
if ($result === false) { throw new RuntimeException(curl_error($ch)); }
echo $result;
curl_close($ch);JavaScript · fetch
const response = await fetch('https://ai.alibekdev.uz/api/chat.php', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.KITUZ_API_KEY}`,
'Content-Type': 'application/json'
},
body: JSON.stringify({
model: 'meta-llama/llama-prompt-guard-2-22m',
platform: 'web',
messages: [{ role: 'user', content: 'Salom!' }]
})
});
const data = await response.json();
console.log(data);Bu namuna server-side JavaScript uchun. Maxfiy API kalitini brauzerga yubormang.
07 / XAVFSIZLIK
Tokenni xavfsiz saqlang
- API kalitini server muhit o‘zgaruvchisida saqlang; kod repozitoriyiga kiritmang.
- Tokenni faqat kerakli platforma va model uchun ishlating.
- Token sizib chiqqan bo‘lsa, uni API Keys sahifasida o‘chirib, yangisini yarating.
- So‘rov yuborishdan avval `model`, `platform` va `messages` maydonlarini tekshiring.