Club de Recompensas — Reconciliación
Requisitos de acceso
- Permiso (módulo):
viewRewardsAudit - Licencia/Feature:
REWARDS_CLUB - Contenedor del menú: GENERAL → grupo Club de Recompensas
Qué es / cuándo usarlo
Panel de operaciones y auditoría del club. El equipo de operaciones lo abre cuando necesita entender, en un período determinado: cuántos eventos llegaron, cuántos pagos salieron, cuántos están bloqueados (pendientes) y cuántos fallaron, además de inspeccionar qué eventos tuvieron problemas y por qué (con payload expandible).
Úselo para el cierre periódico (24h/7d/30d o un rango personalizado), para investigar pendencias y para validar la salud del programa tras cambios en las misiones.
Requisitos previos
- Permiso:
viewRewardsAudit(permiso doble: enum CPM + módulo dinámico en la BD). - Licencia/Feature:
REWARDS_CLUB. - Dependencias de otras pantallas: los datos reflejan la actividad generada por Misiones y la configuración del Programa.
Paso a paso
- Acceda al menú Club de Recompensas → Reconciliación (
/rewards-club/reconciliation). - Elija un preset de período (24h / 7d / 30d) o ingrese un rango personalizado (desde/hasta).
- Lea los KPIs y la tasa de éxito (pagos realizados / total).
- En la lista de problemas, haga clic en una fila para expandir el payload y ver el motivo (
reason) y la misión involucrada.
Filtros y columnas
| Filtro / Columna | Qué muestra | Origen del dato |
|---|---|---|
| Período (preset/personalizado) | Ventana analizada | Presets 24h/7d/30d o fechas desde/hasta |
Eventos recibidos (eventsReceived) | Total de eventos capturados | KPIs de reconciliación (RCS) |
Pagos realizados (payoutsPaid) | Concesiones liquidadas | KPIs |
Pagos pendientes (payoutsPending) | Concesiones bloqueadas en espera | KPIs |
Pagos fallidos (payoutsFailed) | Concesiones que fallaron | KPIs |
| Tasa de éxito | realizados / (realizados+pendientes+fallidos) | Calculado en la UI |
| Lista de problemas | Eventos con pago pendiente/fallido | getProblemEvents(from, to) |
| Detalle del problema | outcome, reason, misión y payload | RewardsRawEvent.matchedMissions + payload |
Acciones y modales
- Cambiar período / Aplicar rango: recarga los KPIs y la lista de problemas para la nueva ventana.
- Expandir fila: muestra el JSON del evento y el motivo del no pago.
Reglas de negocio / precauciones
Atención
- Los pendientes y los fallidos indican pagos que no se completaron — investigue antes de asumir que un usuario fue pagado. Causas comunes: pool sin saldo, usuario no aprobado, límite anti-fraude alcanzado.
- El estado del evento (
PAID/PENDING/FAILED/PROCESSED/ERROR) se muestra en píldoras de colores; "neutro" indica resultados que no encajan en las categorías principales.
- Idempotencia: los pagos pasan por FinLib, idempotente por
externalId. Un evento marcado como error no significa necesariamente que el usuario no haya recibido: al reprocesar, elE00021("already processed") se trata como éxito. Por ello, re-ejecutar/recalcular es seguro y no duplica concesiones. - Valores financieros: todos los totales viajan como string BigNumber — sin redondeo.