Skip to content

feat(ines/phase1): Fondations + CRUD Agent & Numéros (P0)

idevx1 a demandé de fusionner feature/ines-backend vers develop

Phase 1 — Fondations + CRUD Agent & Numéros

Stack

  • mc-starter-parent 1.0.63 — identique iavia-agent-service-community-manager
  • iavia-common 0.0.144
  • Spring Boot 3.x, Java 17, PostgreSQL + Flyway

Migrations Flyway

  • V1: tables phone_agent + phone_number

Entités JPA (dans le service)

  • PhoneAgent : config complète agent vocal (voix/LLM/script/forwarding/scheduling/STT/Vapi)
  • PhoneNumber : lié à l'agent, multi-provider

Enums locaux

AgentStatus, NumberProvider, NumberStatus, WizardStep, VapiSyncStatus

Endpoints exposés

Agents (/api/phone-agent/agents) :

  • POST / — créer un agent (header X-USER-UID)
  • GET /{agentUid} — détail
  • GET /owner/{ownerAdminUid} — liste par tenant
  • PUT /{agentUid} — mise à jour
  • DELETE /{agentUid} — archivage logique
  • POST /{agentUid}/activate|deactivate|toggle-status
  • POST /{agentUid}/sync-vapi — stub Phase 1 → Phase 2
  • GET /wizard-status/{ownerAdminUid} — reprise wizard

Numéros (/api/phone-agent/numbers) :

  • GET /agent/{agentUid} — numéros d'un agent
  • GET /owner/{ownerAdminUid} — numéros d'un tenant
  • GET /{numberUid} — détail
  • POST /agent/{agentUid}/provision — ajouter un numéro
  • DELETE /{numberUid} — libérer

Util

  • UserServiceClientGET /api/user/admins/{uid} + collaborateur (§9.2)

Config

  • SecurityConfiguration, SwaggerConfig, GlobalExceptionHandler
  • Paths.java — tous les endpoints Phases 1-5 documentés

Rapports de requête de fusion