Saltar al contenido principal

RF68: Sistema notifica usuario sobre recompensa

Descripción

El sistema notifica al usuario cuando obtiene una recompensa (RF67) para informarle y motivarlo a canjearla (RF69).

Se envía por push y/o email respetando el consentimiento de notificaciones del usuario; el contenido invita a canjear e indica vigencia si aplica.

CampoValor
MóduloRewards Module
ActorSistema (emite) → Usuario (recibe)
EndpointInterno: servicio de notificaciones
PrecondicionesSe generó una recompensa (RF67); usuario con datos de contacto
PrioridadBaja (post-MVP)
EtapaMBI 2
Requisitos relacionadosRF67, RF69, RF24

Reglas de negocio

  • RN-68.1 — Solo se envía push a usuarios con consentimiento de notificaciones (opt-in); el email transaccional puede enviarse como parte del servicio.
  • RN-68.2 — La notificación indica el tipo de recompensa, cómo canjearla y su vigencia.
  • RN-68.3 — Al tocar la notificación se abre la sección de recompensas (deep link).
  • RN-68.4 — El envío es idempotente: una recompensa no genera notificaciones duplicadas.

Validaciones de entrada

CampoReglasComportamiento
pushTokenVálido y vigente.Si es inválido, se marca y no se reintenta indefinidamente.
notificationsConsentRequerido para push.Sin consentimiento no se envía push.

Criterios de aceptación

Escenario 1: Notificación de recompensa recibida

Dado que obtuve una recompensa y tengo notificaciones activas, Cuando se genera (RF67), Entonces recibo un push/email indicando la recompensa y cómo canjearla, Y al tocarlo se abre la sección de recompensas (RF69).

Escenario 2: Usuario sin consentimiento de push

Dado que no autoricé notificaciones push, Cuando obtengo una recompensa, Entonces no recibo push, Y la recompensa queda disponible en la app de todos modos.

Escenario 3: Token de push inválido

Dado que mi token de push es inválido, Cuando falla el envío, Entonces el sistema lo marca y no reintenta indefinidamente.

Escenario 4: Sin duplicados (idempotencia)

Dado que una recompensa ya generó su notificación, Cuando se reintenta el proceso, Entonces no se envía una notificación duplicada.

Criterios no funcionales

  • Envío asíncrono e idempotente.
  • Comunicación TLS 1.2+ con el proveedor de push.

Diagrama de secuencia