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} | Карткa аднаго вучня. |
| 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» — стварыце ключ за хвіліну.