Skip to main content

Notificaciones

El módulo de Notificaciones soporta:
  • Envío manual con audiencias segmentadas (push, in_app, email).
  • Automaciones event-driven con builder visual y eventos de dominio. Ver Automaciones.
  • Email transaccional vía SMTP2GO con preheader, List-Unsubscribe (RFC 8058), UTM injection, Schema.org y open/click tracking. Ver Email.
  • Preferencias y opt-outs por destinatario consultados antes de cada send. Ver Preferences & unsubscribe.
  • Templates multi-idioma reutilizables.
  • Analytics vía PostHog (notification.sent, event.ingested, etc.) + tabla notification_email_events (delivered/opened/clicked/bounced/spam/rejected/unsubscribed).

Dashboard

Ruta: /app/notifications/dashboard Panel de métricas principales:
MétricaIconoDescripción
Total enviadasBellCantidad total de notificaciones enviadas
Tasa de entregaCheckCirclePorcentaje de entrega exitosa
Templates activosFileTextCantidad de templates disponibles
ProgramadasClockNotificaciones pendientes de envío
Incluye indicadores de tendencia semanal y timeline de actividad reciente.

Funcionalidades

Envío manual

Ruta: /app/notifications/send Crear y enviar notificaciones manualmente con:
  • Título y mensaje personalizado
  • Contenido enriquecido e imagen/video
  • Selección de audiencia (filtros)
  • Estimación de audiencia antes del envío
  • Opción de programar para envío futuro
  • Envío de test a usuarios específicos

Templates

Ruta: /app/notifications/templates Librería de templates reutilizables con:
  • Categorías: reminder, announcement, feedback, promotional
  • Título, mensaje, contenido, imagen y video
  • Asociación con deep links
  • Contador de uso
  • Duplicar templates existentes

Historial

Ruta: /app/notifications/history Registro de todas las notificaciones enviadas con:
  • Estado: draft, scheduled, sending, sent, failed
  • Estadísticas de entrega por notificación
  • Detalle de recipients y su estado individual (pending, sent, failed, opened, clicked)
Ruta: /app/notifications/deep-links Configuración de deep links para que las notificaciones abran pantallas específicas en la app mobile:
  • Nombre y patrón del deep link
  • Parámetros configurables (JSON)
  • Estado activo/inactivo

Canales de entrega

Las notificaciones se pueden enviar por:
CanalTecnologíaAudiencia
pushExpo Server SDKNotificaciones push nativas (iOS/Android) a end-users de la mobile app
in_appFirestore vivla-notifications collectionBuzón in-app de la mobile app — cohome owners, guests
tools_inboxTabla inbox_messages (Supabase)Centro de notificaciones del backoffice — CX, community managers, ops
emailSMTP2GOEmail transaccional (ver Email)
chatStream ChatTickets internos a equipos (ej. CX en NPS bajo) — TODO
Todos los canales son seleccionables tanto desde el envío manual como desde el step builder de automaciones.

API endpoints

MétodoEndpointDescripción
POST/api/notificationsCrear notificación
GET/api/notificationsListar notificaciones (filtros: status, type, page, limit)
GET/api/notifications/:idObtener notificación por ID
GET/api/notifications/:id/recipientsRecipients de una notificación
GET/api/notifications/:id/statsEstadísticas de entrega
POST/api/notifications/audience/estimateEstimar tamaño de audiencia
POST/api/notifications/audience/resolveResolver IDs de audiencia
PUT/api/notifications/:idActualizar notificación (solo draft)
DELETE/api/notifications/:idEliminar notificación (solo draft)
POST/api/notifications/:id/duplicateDuplicar notificación
POST/api/notifications/:id/sendEnviar notificación
POST/api/notifications/:id/testEnvío de test
POST/api/notifications/batch/sendEnvío batch (admin)
POST/api/notifications/scheduled/sendEnviar programadas pendientes (admin)
POST/GET/api/notifications/templatesCRUD de templates
Los usuarios no-admin solo pueden ver sus propias notificaciones. Los endpoints de envío batch y programado requieren rol de administrador.