Notifiche in-app real-time

WebSocket per eventi asincroni: PDF pronti, import completati, aggiornamenti su quote e ordini.

Il tuo account riceve notifiche in tempo reale: quando un PDF è pronto, quando un import è completato, quando c'è un aggiornamento su una quotazione o un ordine. Tutto tramite WebSocket.

WebSocket bridge e broadcast per tenant

Veendo mantiene una connessione WebSocket aperta tra il browser del cliente e il server (via Vercel o infra dedicata). Quando accade un evento (ordine nuovo, preventivo approvato, PDF generato), il backend invia una notifica istantanea al tenant tramite broadcast su quel canale.

Non c'è pooling, non c'è delay: appena l'evento accade, tutti gli utenti del tenant che hanno il browser aperto ricevono la notifica immediatamente.

  • Connessione WebSocket persistent per real-time push
  • Broadcast per tenant — tutti gli utenti loggati ricevono
  • Zero delay — appena l'evento accade, la notifica arriva
  • Graceful degradation se WebSocket non disponibile

In-app notification manager

Il servizio veendo-task gestisce la creazione e l'invio di notifiche in-app. Ogni evento (order:created, quote:status-updated, document:signature-request, etc.) passa attraverso il notification manager che risolve il tenant interessato, il tipo di notifica e il payload.

Le notifiche vengono persistite in MongoDB e contemporaneamente spedite via WebSocket. Se il client non è online, ritrova la notifica quando torna online.

  • Supporto per 8 topic code: system, orders, quotes, documents, support, billing, identity, default
  • Notifiche persistenti — disponibili anche dopo refresh
  • Filtri per readBy e dismissedBy per tracciare interazione utente
  • Scope: tenant, user, agent — ogni notifica sa chi è destinata

Tipi di eventi supportati

In-app puoi ricevere notifiche su:

- Ordini: customer-new-order, customer-order-status-updated, customer-shipped-order, customer-cancel-order - Preventivi: customer-quote-sent, quote-status-updated, quote-communication - Documenti: document-signature-request (per firma digitale) - Support: support-ticket-replied - Admin: vedi anche gli stessi ordini/preventivi dal lato amministrativo

  • Order: created, status-updated, shipped, cancelled
  • Quote: sent, status-updated, communication
  • Document: signature-request per e-signature
  • Support: ticket-replied per sistema ticket interno
  • Subscription: tenant-created, plan-changed, trial-starting, etc.

Preferenze e silencing

Le notifiche in-app sono sempre abilitate per impostazione predefinita. Non c'è un'interfaccia UI per disabilitarle (a differenza delle email), ma i dati di read/dismiss sono tracciati — il sistema sa se le hai lette o ignorate.

Puoi sviluppare una logica custom (tramite API) per silenziare certe categorie se necessario.

  • Enabled by default — non richiede opt-in
  • Dati readBy e dismissedBy tracciati automaticamente
  • No retention limit — le notifiche restano disponibili indefinitamente
  • Sincronizzazione tra dispositivi: leggi su desktop, vedi su mobile