Open API
Faqat oʻqishga moʻljallangan REST API. 1С, BI-dashbord, maktabingizning oʻz sayti yoki oʻz skriptingizni ulang — u maktabingiz maʼlumotlarini himoyalangan kalit boʻyicha oʻqiydi. API orqali hech narsa yozib boʻlmaydi. Agar dasturchi kodda xato qilsa, bu Drivlidagi oʻquvchilar yoki toʻlovlarni buzmaydi.
«Profi» va «VIP» tariflarida mavjud. Free va «Standart»da kalit berilmaydi.
Avtorizatsiya
Kalitni direktor kabinetida oling: Rekvizitlar → 🔑 API → Kalit yaratish. Uni har bir soʻrovning sarlavhasida uzating:
Authorization: Bearer drivli_pk_<32 hex>
- Kalit aynan bir marta koʻrsatiladi — yaratishda nusxalab oling.
- Bitta kalit = bitta maktab, oʻzgalarning maʼlumotlari jismonan mavjud emas.
- Maktabga 10 tagacha faol kalit. Ishlatilmayotganlarini bekor qiling.
- Bazada faqat kalit xeshi saqlanadi — bazaning ochilib qolishi ishchi kalitlarni bermaydi.
Limitlar
- Profi: daqiqasiga 60 soʻrov.
- VIP: daqiqasiga 600 soʻrov.
- Oshib ketish → Retry-After: 60 sarlavhasi bilan 429 Too Many Requests javobi.
Tez boshlash
Birinchi 10 ta faol oʻquvchining roʻyxati:
curl -H "Authorization: Bearer drivli_pk_..." \ "https://api.drivli.ru/api/public/v1/students?status=learning_practice&limit=10"
Javob:
{
"items": [
{
"id": "9b8a...",
"full_name": "Иванов И. И.",
"phone": "+7 555 ...",
"email": "ivanov@example.com",
"category": "B",
"status": "learning_practice",
"group_id": "f3c1...",
"branch_id": null,
"created_at": "2026-04-12T08:30:00Z"
}
],
"meta": { "total": 142, "limit": 10, "offset": 0 }
}Endpointlar
| Metod | Yoʻl | Tavsif |
|---|---|---|
| GET | /api/public/v1/students | Maktab oʻquvchilari roʻyxati. Parametrlar: status, category, group_id, limit (≤200), offset |
| GET | /api/public/v1/students/{id} | Bitta oʻquvchining kartochkasi. |
| GET | /api/public/v1/instructors | Instruktorlar roʻyxati. Parametrlar: is_active, limit, offset |
| GET | /api/public/v1/vehicles | ОСАГО va ТО sanalari bilan oʻquv avtomobillari roʻyxati. Parametrlar: limit, offset |
| GET | /api/public/v1/lessons | Davr boʻyicha mashgʻulotlar roʻyxati. Parametrlar: period_from, period_to, instructor_id, student_id, limit, offset |
| GET | /api/public/v1/contracts | Oʻquvchilar bilan shartnomalar. Parametrlar: student_id, limit, offset |
| GET | /api/public/v1/payments | Davr boʻyicha toʻlovlar. Parametrlar: period_from, period_to, limit, offset |
| GET | /api/public/v1/leads | Oʻqishga arizalar. Parametrlar: status, period_from, period_to, limit, offset |
| GET | /api/public/v1/reports/finance-summary | Davr boʻyicha moliyaviy hisobot: daromad, xarajat, foyda. Parametrlar: period_from, period_to |
Xavfsizlik
152-ФЗ bizdan oʻquvchilar maʼlumotlarini himoya qilishni talab qiladi. Shuning uchun API shunday tuzilgan:
- Faqat HTTPS. HTTP boʻyicha umuman javob bermaymiz.
- Faqat GET. API orqali biror narsani yozib yoki oʻchirib boʻlmaydi.
- Bazamizda faqat kalit xeshi yotadi. Agar kimdir bazamizni olib ketsa — undan ishchi kalitlarni chiqara olmaydi.
- Bitta kalit = bitta maktab. Kalit juda xohlasa ham oʻzgalarning maʼlumotini koʻrmaydi — SQL-sxema darajasidagi izolyatsiya.
- Har bir soʻrov kalit kartochkasida belgilanadi: oxirgi foydalanish sanasi va hisoblagich koʻrinadi. Agar kalitni kimdir ushlab olgan boʻlsa — bu sezilarli boʻladi.
- Kalitni bekor qildingiz — u bilan keyingi soʻrov 401 qaytaradi. Replikatsiya yoki kesh kechikishlarisiz.
Javob kodlari
200— muvaffaqiyat.400— soʻrov parametri notoʻgʻri.401— kalit yoʻq, kalit notoʻgʻri yoki kalit bekor qilingan.402— maktab «Profi»dan past tarifda, Open API yopiq.404— soʻralayotgan obyekt topilmadi.429— daqiqasiga soʻrovlar limiti oshib ketdi.503— rate-limit xizmati mavjud emas (kamdan-kam).
Ulanishga tayyormisiz?
Direktor kabinetini oching → «Rekvizitlar» → «🔑 API» — bir daqiqada kalit yarating.