feat(billing): module facturation par crédits pour appels téléphoniques IA
- BillingConfig: propriétés configurables via env vars (CREDITS_PER_MINUTE, CALL_CREDITS_LIMIT, etc.)
- ActiveCallInfo: modèle thread-safe d'un appel actif (AtomicInteger pour crédits/durée)
- ActiveCallTracker: registre ConcurrentHashMap des appels en cours
- CreditServiceClient: client WebClient vers microservice crédit (POST /api/credit/wallet/debit)
- CreditBillingService: orchestration débit périodique, coupure appel si crédits épuisés
- CreditBillingScheduler: @Scheduled toutes les 60s pour débit périodique
- VapiWebhookService: intégration onCallStarted (in-progress) et onCallEnded (end-of-call-report)
- VapiClient: ajout hangupCall (DELETE) et updateCallDuration (PATCH)
- CreditController: endpoints /deactivate, /reactivate, /update-limits
- Paths: constantes CREDIT_BASE, CREDIT_DEACTIVATE, CREDIT_REACTIVATE, CREDIT_UPDATE_LIMITS
- application.yml: section app.billing avec valeurs par défaut
Calcul: 1 min = 14 crédits, débit toutes les 60s, coupure si 402/403