RF24: Usuario recibe notificación de recomendación
Descripción
Como usuario autenticado, quiero recibir una notificación cuando Finnova genere una nueva recomendación financiera para enterarme de acciones que mejoran mi salud financiera sin tener que abrir la app constantemente.
Cuando el motor de IA produce una recomendación (RF28), se envía una notificación push (y opcionalmente email). El envío respeta el consentimiento de notificaciones (opt-in) exigido por la Compliance §6.
| Campo | Valor |
|---|---|
| Módulo | Finance Data Collection (FDC) Module — Recomendaciones |
| Actor | Sistema (emite) → Usuario (recibe) |
| Endpoint | Interno: servicio de notificaciones push (Expo / FCM / APNs) |
| Precondiciones | El usuario otorgó permiso de notificaciones; existe una recomendación nueva |
| Prioridad | Media (MVP/post-MVP) |
| Etapa | MVP |
| Requisitos relacionados | RF25, RF28 |
Reglas de negocio
- RN-24.1 — Solo se notifica a usuarios que dieron consentimiento de notificaciones (opt-in).
- RN-24.2 — La notificación no incluye datos financieros sensibles en su cuerpo (solo un resumen genérico tipo "Tienes una nueva recomendación").
- RN-24.3 — Al tocar la notificación, se abre el detalle de la recomendación en el dashboard (deep link).
- RN-24.4 — Se evita el spam: se agrupan/limitan las notificaciones por periodo.
Validaciones de entrada
| Campo | Reglas | Comportamiento |
|---|---|---|
pushToken | Válido y vigente. | Si es inválido, se marca y no se reintenta indefinidamente. |
notificationsConsent | Debe ser true. | Sin consentimiento no se envía. |
Criterios de aceptación
Escenario 1: Notificación recibida
Dado que activé las notificaciones y el sistema generó una recomendación nueva, Cuando se emite la notificación, Entonces recibo un push con un resumen genérico, Y al tocarlo se abre el detalle de la recomendación en la app.
Escenario 2: Usuario sin consentimiento de notificaciones
Dado que no autoricé notificaciones, Cuando se genera una recomendación, Entonces no recibo push, Y la recomendación queda disponible en el dashboard de todos modos.
Escenario 3: Sin datos sensibles en el push (seguridad/privacidad)
Dado que se envía una notificación, Cuando reviso su contenido, Entonces no contiene montos, saldos ni información financiera sensible.
Escenario 4: Token de push inválido
Dado que mi token de push expiró o es inválido, Cuando falla el envío, Entonces el sistema lo marca como inválido y no reintenta de forma indefinida.
Criterios no funcionales
- El envío es asíncrono y no bloquea la generación de la recomendación.
- Comunicación TLS 1.2+ con el proveedor de push.