4 KiB
% Specificații API — DiDi Lot 2 (Backend) % PNRR DIGI150 · contract 11.1.i3.c9
1. Scop
Lotul 2 expune două servicii cu API documentat prin OpenAPI 3.0.3, însumând 374 de
operații. Prezentul document rezumă structura API-urilor și modul de consultare (Swagger UI).
Specificațiile complete, mașinabile, sunt livrate ca fișiere openapi.yaml.
| Serviciu | Port | Operații | Specificație |
|---|---|---|---|
| Agent V3 (motor de analiză) | 24803 | 87 | services/orchestration-layer/agent-v3/openapi.yaml |
| didiFramework (parametri) | 3005 | 287 | services/orchestration-layer/didiFramework/openapi.yaml |
| Total | 374 | validate cu openapi-spec-validator (OK) |
Ambele API-uri sunt protejate prin JWT RS256 (Keycloak), verificat la gateway (Kong) și în
backend. Autentificarea se face cu header Authorization: Bearer <token>.
2. Agent V3 — API de analiză (87 operații)
Toate endpoint-urile de analiză sunt asincrone (dispatch pe RabbitMQ, răspuns 202 + poll).
| Prefix | Rol |
|---|---|
/api/v3/pipeline/* |
Pipeline complet: analiză (sync/async), status, istoric, dry-run, resume, cancel |
/api/v3/techniques/* |
Detecția tehnicilor de manipulare |
/api/v3/ai-tampered/* |
Detecția conținutului generat/modificat de AI |
/api/v3/claims/* |
Extragerea + verificarea afirmațiilor |
/api/v3/source-assessment/* |
Credibilitatea sursei |
/api/v3/domain/* |
Analiza domeniului (WHOIS/DNS/SSL — T4) |
/api/v3/media/* |
Upload/download fișiere media (MinIO) |
/api/v3/health, /api/v3/health/all |
Liveness + health profund cu toate dependențele Lot 1 |
Fluxul tipic de analiză:
POST /api/v3/pipeline/analyze-asynccu{ media_type, text|url|media_url, user_id }→202 { session_id, poll_url, result_url }GET /api/v3/pipeline/{session_id}/queue-status→ progresGET /api/v3/pipeline/{session_id}/result→AnalysisSessioncompletă (verdict + componente)
Integrarea cu Lotul 1 este documentată în specificație prin blocul x-integrations
(cele 9 servicii AI consumate, cu variabila de mediu, ținta pe didi-network și rolul) și prin
schema DeepHealthResponse a endpoint-ului /api/v3/health/all — care servește și ca sondă de
integrare live (vezi raportul 04).
3. didiFramework — API de parametri (287 operații)
CRUD complet pentru toți parametrii platformei (schema bos_parammgmt), plus utilizatori,
abonamente și integrarea Keycloak.
| Grup | Rol |
|---|---|
/api/techniques, /api/dimensions, /api/subdimensions, /api/indicators, /api/validation-rules |
Ierarhia de tehnici de manipulare |
/api/verdicts, /api/weights, /api/risk-levels |
Verdicte, ponderi, niveluri de risc |
/api/claims, /api/sources, /api/platforms |
Claims, surse, platforme |
/api/providers/*, /api/llm-models |
Provideri LLM, modele, chei API |
/api/prompts |
Prompturi per componentă/etapă |
/api/sync-redis |
Sincronizarea configurării PostgreSQL → Redis |
/api/admin/* |
Utilizatori, roluri, containere, moderare |
/api/subscriptions, /api/auth/* |
Abonamente, autentificare, credite |
4. Consultarea interactivă (Swagger UI)
Ambele specificații sunt servite printr-o interfață Swagger UI (container didi-api-docs),
unde fiecare operație poate fi inspectată și testată. Fiecare operație poartă adnotarea
x-tested cu codul HTTP observat la proba live (vezi raportul 03).
Alternativ, fișierele openapi.yaml pot fi deschise în orice unealtă compatibilă OpenAPI 3.0
(Swagger Editor, Postman, Insomnia, generatoare de client).
5. Testare și validare
- 374/374 endpoint-uri cablate și funcționale (raport
03_Raport_Testare_API). - Ambele specificații validate cu
openapi-spec-validator(OpenAPI 3.0.3, rezultat OK). - Securitate verificată: 401 fără token / cu token forjat, 200 cu token valid, RBAC pe operațiile sensibile (raport 03 §5).
- Integrarea cu Lotul 1 testată separat (raport
04_Raport_Testare_Integrare_Lot1-Lot2).