feat(ines/phase3): Stats Dashboard (P1)
Phase 3 — Statistiques Dashboard
Endpoint
GET /api/phone-agent/stats
Header: X-USER-UID
Params: agentUid?, period=DAY|WEEK|MONTH|YEAR, startDate=YYYY-MM-DD, endDate=YYYY-MM-DD
StatsResponse
-
totalCalls,answeredCalls,qualifiedCalls,callbackCalls,forwardedCalls -
answerRate(%) = answeredCalls/totalCalls×100 -
qualificationRate(%) = qualifiedCalls/answeredCalls×100 -
totalDurationSeconds,avgDurationSeconds -
callsToday— KPI live dashboard -
byResult: Map<String, Long>— répartition par résultat (donut) -
byDay: List<{date, count}>— graphique barres (trié ASC)
Queries JPA/Native
-
countFiltered,sumDurationFiltered,avgDurationFiltered— agrégats période -
countByResultFiltered— GROUP BY result -
callsByDayFiltered— native SQL, TO_CHAR(started_at, YYYY-MM-DD) GROUP BY day -
countToday— appels depuis minuit local