Open API
REST API танҳо барои хондан. 1С, дашборди BI, сайти худи мактаб ё скрипти худро пайваст кунед — он маълумоти мактаби шуморо бо калиди ҳифзшуда мехонад. Тавассути API чизе сабт кардан мумкин нест. Агар таҳиягар дар код хато кунад, ин хонандагон ё пардохтҳоро дар Drivli вайрон намекунад.
Дар тарифҳои «Профи» ва «VIP» дастрас аст. Дар Free ва «Стандарт» калид дода намешавад.
Авторизатсия
Калидро дар кабинети директор гиред: Реквизитҳо → 🔑 API → Эҷоди калид. Онро дар сарлавҳаи ҳар дархост гузаронед:
Authorization: Bearer drivli_pk_<32 hex>
- Калид маҳз як бор нишон дода мешавад — ҳангоми эҷод нусхабардорӣ кунед.
- Як калид = як мактаб, маълумоти бегона ҷисман дастнорас аст.
- То 10 калиди фаъол барои як мактаб. Истифоданашударо бозхонед.
- Дар БД танҳо хэши калид нигоҳ дошта мешавад — вайроншавии БД калидҳои кориро намедиҳад.
Маҳдудиятҳо
- Профи: 60 дархост дар як дақиқа.
- VIP: 600 дархост дар як дақиқа.
- Зиёдшавӣ → ҷавоби 429 Too Many Requests бо сарлавҳаи Retry-After: 60.
Оғози зуд
Рӯйхати 10 хонандаи аввали фаъол:
curl -H "Authorization: Bearer drivli_pk_..." \ "https://api.drivli.ru/api/public/v1/students?status=learning_practice&limit=10"
Ҷавоб:
{
"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 }
}Эндпойнтҳо
| Метод | Роҳ | Тавсиф |
|---|---|---|
| GET | /api/public/v1/students | Рӯйхати хонандагони мактаб. Параметрҳо: status, category, group_id, limit (≤200), offset |
| GET | /api/public/v1/students/{id} | Корти як хонанда. |
| GET | /api/public/v1/instructors | Рӯйхати инструкторҳо. Параметрҳо: is_active, limit, offset |
| GET | /api/public/v1/vehicles | Рӯйхати автомобилҳои таълимӣ бо санаҳои ОСАГО ва ТО. Параметрҳо: limit, offset |
| GET | /api/public/v1/lessons | Рӯйхати дарсҳо барои давра. Параметрҳо: period_from, period_to, instructor_id, student_id, limit, offset |
| GET | /api/public/v1/contracts | Шартномаҳо бо хонандагон. Параметрҳо: student_id, limit, offset |
| GET | /api/public/v1/payments | Пардохтҳо барои давра. Параметрҳо: period_from, period_to, limit, offset |
| GET | /api/public/v1/leads | Дархостҳо барои таълим. Параметрҳо: status, period_from, period_to, limit, offset |
| GET | /api/public/v1/reports/finance-summary | Ҷамъбасти молиявӣ барои давра: даромад, харҷ, фоида. Параметрҳо: period_from, period_to |
Бехатарӣ
152-ФЗ аз мо талаб мекунад, ки маълумоти хонандагонро ҳифз кунем. Бинобар ин API чунин сохта шудааст:
- Танҳо HTTPS. Аз рӯи HTTP умуман ҷавоб намедиҳем.
- Танҳо GET. Сабт ё нест кардани чизе тавассути API мумкин нест.
- Дар БД-и мо танҳо хэши калид ҷойгир аст. Агар касе пойгоҳи моро бубарад — калидҳои кориро аз он ба даст оварда наметавонад.
- Як калид = як мактаб. Калид маълумоти бегонаро намебинад, ҳатто агар хеле хоҳад — изолятсия дар сатҳи схемаи SQL.
- Ҳар дархост дар корти калид қайд карда мешавад: санаи истифодаи охирин ва ҳисобкунак дида мешаванд. Агар калидро касе рабояд — ин намоён мешавад.
- Калидро бозхондед — дархости навбатӣ бо он 401 бармегардонад. Бе таъхир барои репликатсия ё кэш.
Кодҳои ҷавоб
200— муваффақият.400— параметри дархост нодуруст.401— калид нест, калиди нодуруст ё калид бозхонда шудааст.402— мактаб дар тарифи поёнтар аз «Профи», Open API баста аст.404— объекти дархостшуда ёфт нашуд.429— маҳдудияти дархост дар як дақиқа зиёд шуд.503— хадамоти rate-limit дастрас нест (кам).
Барои пайвастшавӣ омодаед?
Кабинети директорро кушоед → «Реквизитҳо» → «🔑 API» — калидро дар як дақиқа эҷод кунед.