Open API
Тик уҡыу өсөн REST API. 1С, BI-дашборд, мәктәбегеҙҙең үҙ сайтын йәки скриптығыҙҙы тоташтырығыҙ — ул мәктәбегеҙ мәғлүмәтен һаҡланған асҡыс буйынса уҡыясаҡ. API аша бер нәмә лә яҙып булмай. Әгәр эшләүсе кодта хата ебәрһә, был Drivli-ҙағы уҡыусыларҙы йәки түләүҙәрҙе боҙмаясаҡ.
«Профи» һәм «VIP» тарифтарында бар. Free һәм «Стандарт»-та асҡыс бирелмәй.
Авторизация
Директор кабинетында асҡыс алығыҙ: Реквизиттар → 🔑 API → Асҡыс булдырырға. Уны һәр һорауҙың башлығында ебәрегеҙ:
Authorization: Bearer drivli_pk_<32 hex>
- Асҡыс тик бер тапҡыр күрһәтелә — булдырғанда күсереп алығыҙ.
- Бер асҡыс = бер мәктәп, сит мәғлүмәт физик яҡтан етемһеҙ.
- Мәктәпкә 10 әүҙем асҡысҡа тиклем. Файҙаланмаған асҡыстарҙы кире алығыҙ.
- БД-ла тик асҡыстың хэшы ғына һаҡлана — БД-ны урлау эшсән асҡыстар бирмәй.
Сиктәр
- Профи: минутына 60 һорау.
- VIP: минутына 600 һорау.
- Артып китеү → Retry-After: 60 башлығы менән 429 Too Many Requests яуабы.
Тиҙ старт
Беренсе 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» — асҡысты бер минутта булдырығыҙ.