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