REST API v1
API Hujjatlar
Barcha javoblar bir xil formatda: {"ok":true,"data":...} yoki {"ok":false,"error":{"code":"...","message":"..."}}. Autentifikatsiya sessiya cookie'si (alp.sid) orqali.
Ochiq endpointlar
| Metod | Yo'l | Tavsif |
|---|---|---|
| GET | /api/v1/health | Holat tekshiruvi |
| GET | /api/v1/levels | 7 daraja (A0–C2) |
| GET | /api/v1/courses | Nashr qilingan kurslar |
| GET | /api/v1/alphabet | 28 harf + 4 shakl |
| GET | /api/v1/grammar | Grammatika mavzulari ro'yxati |
| GET | /api/v1/grammar/:slug | Bitta mavzu (to'liq) |
| GET | /api/v1/dictionary?q=kitob&level=A1&limit=20 | Lug'at qidiruvi (arab/o'zbek/transliteratsiya/ildiz) |
| GET | /api/v1/plans | Faol obuna rejalari |
Autentifikatsiya talab qiladigan endpointlar
Avval /login orqali kiring — sessiya cookie'si (alp.sid) avtomatik yuboriladi. Cookie'siz so'rovlar 401 qaytaradi.
| Metod | Yo'l | Tavsif |
|---|---|---|
| GET | /api/v1/me | Joriy foydalanuvchi + reja + progress |
| GET | /api/v1/progress | Tugatilgan darslar va foiz |
| GET | /api/v1/vocabulary/favorites | Saqlangan so'zlar |
| GET | /api/v1/exams | Imtihonlar ro'yxati |
| GET | /api/v1/exam-results | Mening natijalarim |
| GET | /api/v1/notifications | Bildirishnomalar (oxirgi 50) |
| GET | /api/v1/subscription | Joriy reja va AI limiti |
Misollar
Lug'atdan qidirish:
curl -s https://lisan.arabtilim.uz/api/v1/dictionary?q=kitob
{"ok":true,"data":[{"id":1,"arabic":"كِتَاب","transliteration":"kitāb","uzbek":"kitob","english":"book","root":"ك ت ب","part_of_speech":"ism","plural":"كُتُب","level_code":"A1"}]}Sessiya bilan (cookie saqlanadi):
curl -s -c cookies.txt -b cookies.txt \ -X POST https://lisan.arabtilim.uz/login \ -d "[email protected]&password=parolingiz" curl -s -b cookies.txt https://lisan.arabtilim.uz/api/v1/me
JavaScript (fetch):
const r = await fetch('/api/v1/courses', { credentials: 'same-origin' });
const { ok, data } = await r.json();
console.log(data);Xato formati
{"ok":false,"error":{"code":"UNAUTHORIZED","message":"Kirish talab qilinadi"}}/api/v2 hozircha mavjud emas — kelajakdagi kengaytmalar uchun ajratilgan. v1 barqaror va orqaga mos.