Changelog

v1.0.02026-05-02Lancement initial

ARCHITECTURE

  • Migration vers repo standalone (immocontact-dispatch)
  • Architecture v2: 1 numero Twilio par courtier
  • SMS receiver: lookup To number → courtier via SQLite
  • Classification cascade: Claude → OpenAI → Keywords
  • Validation signature Twilio (RequestValidator SDK)
  • Rate limiting SMS (30/h, 100/j par expediteur)
  • Opt-out STOP CRTC (gestion erreur 21610)
  • Trace ID end-to-end (UUID 8 chars, reception → dispatch)
  • Confirmation SMS desactivable (env var)

DASHBOARD (Next.js)

  • Design system Hoogin/Brainbox (dark mode, Octosquares, FontAwesome)
  • PWA installable (manifest + service worker)
  • 14 pages: Dashboard, Numbers, Conversations, Courtiers, Provision, Bulk, Search, History, Alerts, Orphans, Costs, Changelog, Feedback
  • Autocomplete courtier (cache SQLite + fallback SQL03 live)
  • Conversations SMS: bulles chat + dispatch cards IA
  • Envoi SMS manuel avec confirmation
  • Achat numeros Twilio integre (search → buy → configure)
  • Import CSV bulk assignation (dry-run)
  • Export CSV numeros
  • Recherche globale par phone client
  • Alertes dead letter avec retry
  • Page orphelins (messages non-routes)
  • Page couts (Twilio usage 30j + par courtier)
  • Profil courtier avec stats SMS
  • Health indicator sidebar (Redis + worker)
  • Cmd+K palette recherche rapide
  • Raccourcis clavier (/ N Esc ?)
  • Mode compact toggle
  • Toasts notifications
  • Skeleton loaders
  • Polling alertes 30s

INFRASTRUCTURE

  • Traefik reverse proxy (TLS Let's Encrypt)
  • Docker Compose 9 services
  • DNS interne dispatch.immocontact.com
  • Backup SQLite cron quotidien
  • Fail2ban + SSH securise
  • Documentation technique complete (11 pages docs/)

PREMIER NUMERO

  • +14382307262 (438) achete via API Twilio
  • +18737360087 (873) assigne courtier test MT111116
  • Pipeline end-to-end valide (inject → classify → dispatch → confirm)