3.8 KiB
3.8 KiB
🔌 07_API_GUIDE
1. Verziózás (Versioning)
A rendszer támogatja a többszintű verziókezelést a stabilitás és a visszafelé való kompatibilitás érdekében.
- v1: Core Fleet funkciók (pl.
/api/v1/vehicles,/api/v1/expenses). - v2: Auth és új generációs modulok (pl.
/api/v2/auth/login).
2. Route Inventory (Kiemelt Végpontok)
Az alábbi táblázat tartalmazza a legfontosabb útvonalakat:
| Metódus | Végpont | Leírás |
|---|---|---|
POST |
/api/v2/auth/register |
Regisztráció Person rekord létrehozásával |
GET |
/api/v1/fleet/vehicles |
Felhasználó saját járműveinek listázása |
POST |
/api/v1/search/match |
Szervizkereső algoritmus indítása |
POST |
/api/v1/evidence/upload |
Dokumentum feltöltés (MinIO) |
3. Hiba Kezelés (Error Handling)
A frontendnek az alábbi HTTP státuszkódok alapján kell lekezelnie a kivételeket:
- 401: Token lejárt -> Frontendnek automatikusan a Login oldalra kell dobnia a felhasználót.
- 403: Jogosultság hiba -> "Nincs jogod ehhez a funkcióhoz" üzenet megjelenítése (Tier limit/Role hiba).
- 404: Resource not found -> Az erőforrás nem található vagy Soft Deleted állapotban van.
4. Nemzetköziesítés (i18n) és Lokalizáció
A rendszer a "Global-Local" elv alapján működik. Tilos a programkódban (hard-coded) szöveges üzeneteket elhelyezni.
4.1. Nyelvi fájlok struktúrája
Minden nyelvi fájl a backend/app/locales/ mappában található, szabványos JSON formátumban.
- Példa fájlok:
hu.json,en.json,de.json.
4.2. Kezelési szabályok
- Backend: A rendszerüzeneteket, hibaüzeneteket és az e-mail sablonok tartalmát a
LocaleManagerszolgáltatáson keresztül kéri le. - Paraméterezés: A szövegekben használható változók formátuma:
{variable_name}. - Sablonkezelés: Az e-mailek HTML vázát és a JSON-ban tárolt szöveges blokkokat a rendszer a küldés előtt fűzi össze.
4.3. Nyelvválasztás logikája (Prioritás)
- A kérés fejlécében érkező
Accept-Languagealapján. - Bejelentkezett felhasználó esetén a
User.region_codealapján. - Alapértelmezett:
hu.
5. Unified Registration & Security Protocol
A rendszer a "Minimal Friction, Maximum Security" elvét követi.
5.1. Regisztrációs Életciklus
- Step 1 (Lite):
Email,Jelszó,Névmegadása. Létrejön aUserésPersonrekord. Állapot:is_active: false. - Verifikáció: A rendszer UUID alapú tokent generál (48 órás élettartam). A felhasználó e-mailben kap egy aktiváló linket.
- Step 2 (KYC): Sikeres verifikáció után a felhasználó megadja az okmányait (Személyi/Jogsi/Hajó).
- Aktiválás: Létrejön a Privát Flotta (Privát Széf) és a hozzá tartozó
Wallet. Állapot:is_active: true.
5.2. Token Biztonsági Előírások
- Regisztrációs Token: 48 óra élettartam.
- Jelszó-visszaállítási Token: 1 óra élettartam.
5.3. Rate Limiting (Robotvédelem és Költségkontroll)
Az e-mail küldési folyamatokra az alábbi korlátok vonatkoznak:
- Retry Cooldown: Újraigénylés legkorábban 60 másodperc után lehetséges.
- Óránkénti Limit: Maximum 3 kérelem / e-mail cím.
- Napi Limit: Maximum 10 kérelem / e-mail cím.
- Zárolás: A napi limit túllépése esetén a fiók biztonsági okokból 24 órára zárolja a küldési funkciót az adott címre.
4. Geo és Kereső Végpontok
GET /api/v1/services/suggest-street
- Cél: Autocomplete támogatás a frontendnek.
- Paraméterek:
zip_code(string),q(részleges utcanév).
GET /api/v1/services/search
- Cél: Kétlépcsős szervizkereső.
- Free mód: Légvonalbeli távolságmérés (Radius).
- Premium mód: Útvonal-idő alapú kalkuláció és forgalmi becslés.