Skip to content

gNotify — Registrul de Notificări

gNotify este serviciul de notificări al ecosistemului gStack (Republica Moldova) — o rescriere Java/Spring (JHipster) a serviciului Laravel gnotify_php. Autentifică sisteme externe prin TLS mutual (certificate PFX), le permite să gestioneze șabloane reutilizabile și difuzează cereri notify către canale (email / push / telegram / SMS) × niveluri de prioritate (tier) prin RabbitMQ. Spre deosebire de originalul PHP (fără bază de date), această versiune persistă totul în PostgreSQL — ceea ce rezolvă cele două limitări acceptate ale variantei PHP (statusul pierdut la rotația log-urilor; lipsa unui UI de administrare).

  • Sistem — un sistem extern înregistrat (echivalentul config.json din PHP); se autentifică pe /api/v1/** prin amprenta certificatului client.
  • Template — șablon per (sistem, cheie, limbă), cu conținut per canal, randat cu {{variabile}}.
  • Notificare + Livrare — o cerere notify creează o Notificare (cu trackingId) și câte o Livrare per canal; statusul agregat se recalculează din livrări.
  • EvenimentNotificare — jurnal append-only (CREATED/QUEUED/SENT/FAILED + MNOTIFY_*), analogul log-ului JSON din PHP.
  • Registrul Destinatarilor — feature aditiv, activabil prin env: trimite doar IDNP/IDNO, gNotify rezolvă contactele.
ContParolăRol
adminadminadministrare completă (UI + /api/admin/**)
sistem devbilling-servicesistem seed pentru /api/v1 (mTLS dezactivat în dev)

mTLS este ocolit în dev (application-dev.yml: gnotify.pfx.auth-disabled=true), cu sistemul billing-service și un șablon invoice-ready seed-uit de DevDataInitializer.