drivli.
Bepul sinab koʻrish

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

MetodYoʻlTavsif
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

  • 200muvaffaqiyat.
  • 400soʻrov parametri notoʻgʻri.
  • 401kalit yoʻq, kalit notoʻgʻri yoki kalit bekor qilingan.
  • 402maktab «Profi»dan past tarifda, Open API yopiq.
  • 404soʻralayotgan obyekt topilmadi.
  • 429daqiqasiga soʻrovlar limiti oshib ketdi.
  • 503rate-limit xizmati mavjud emas (kamdan-kam).

Ulanishga tayyormisiz?

Direktor kabinetini oching → «Rekvizitlar» → «🔑 API» — bir daqiqada kalit yarating.