Eventos en Tiempo Real
Este documento describe los eventos en tiempo real (tipos de notificaciones) consumidos por los servicios del Backend de Recompensas, incluyendo los campos requeridos para cada tipo de evento y qu茅 se
Descripci贸n General
El Backend de Recompensas procesa eventos en tiempo real desde una cola de mensajes (Kafka) para impulsar las siguientes caracter铆sticas:
- Lealtad (Sistema de Niveles): Progresi贸n de XP y subidas de nivel basadas en la actividad del jugador
- Desaf铆os: Seguimiento del progreso en apuestas, dep贸sitos, conteo de casino, inicio de sesi贸n consecutivo y otros tipos de desaf铆os
- Mapeo de Juegos: Descubrimiento autom谩tico y mapeo de juegos desde la actividad del jugador
Tipos de Eventos
GamesEnriched (CasinoEvent)
Descripci贸n: Eventos individuales de transacciones de casino (apuesta o ganancia) antes de la agregaci贸n de rondas.
Usado por:
- Sistema de Lealtad
- Desaf铆os de Apuestas
- Desaf铆os de Conteo de Casino
- Desaf铆os de Multiplicador de Ganancia
- Servicio de Mapeo de Juegos
Campos Requeridos:
| Campo | Tipo | Descripci贸n |
|---|---|---|
user_id | int64 | ID interno del usuario (debe ser > 0 y < MaxInt32) |
game_id | string | Identificador del juego |
game_name | string | Nombre del juego |
vendor_id | string | Identificador del proveedor/vendedor del juego. Puede ser opcional si allow_incomplete_game_hash est谩 habilitado. |
vendor_name | string | Nombre del proveedor/vendedor del juego. Puede ser opcional si allow_incomplete_game_hash est谩 habilitado. |
origin | string | Identificador del origen del jugador |
type | string | Tipo de transacci贸n (ej., "bet", "win") |
amount | float64 | Cantidad de la transacci贸n (debe ser > 0) |
activity_id | string | Identificador 煤nico de actividad/transacci贸n |
currency | string | C贸digo de moneda |
timestamp | time | Marca de tiempo del evento (no puede ser cero) |
status | string | Debe ser "approved" o "rollback" |
round_id | string | Identificador de la ronda del juego. Requerido por algunos servicios, configurable. |
Ejemplo JSON:
PaymentEnriched
Descripci贸n: Eventos de transacciones de pago (dep贸sitos y retiros).
Usado por:
- Servicio de Lealtad: para contribuci贸n de XP basada en dep贸sitos
- Desaf铆os de Dep贸sito (Consecutivos)
Campos Requeridos:
| Campo | Tipo | Descripci贸n |
|---|---|---|
user_id | int64 | ID interno del usuario (debe ser > 0 y < MaxInt32) |
payment_id | string | Identificador 煤nico del pago |
status | string | Estado del pago. Debe ser "approved" para el procesamiento de desaf铆os. Tambi茅n se soporta el estado de rollback para la reversi贸n de contribuci贸n de lealtad. |
type | string | Tipo de pago. Debe ser "deposit" para el procesamiento de desaf铆os. |
amount | float64 | Cantidad del pago (debe ser > 0) |
currency | string | C贸digo de moneda |
origin | string | Identificador del origen del jugador |
timestamp | time | Marca de tiempo del evento (no puede ser cero) |
Ejemplo JSON:
LoginEventEnriched
Descripci贸n: Eventos de inicio de sesi贸n del usuario.
Usado por:
- Desaf铆os de Inicio de Sesi贸n Consecutivo
Campos Requeridos:
| Campo | Tipo | Descripci贸n |
|---|---|---|
user_id | int64 | ID interno del usuario (debe ser > 0 y < MaxInt32) |
unique_id | string | Identificador 煤nico del evento |
timestamp | time | Marca de tiempo del evento (no puede ser cero) |
Ejemplo JSON:
SportsBetEnriched
Descripci贸n: Eventos de apuestas deportivas.
Usado por:
- Servicio de Lealtad: para contribuci贸n de XP de apuestas deportivas
Campos Requeridos:
| Campo | Tipo | Descripci贸n |
|---|---|---|
user_id | int64 | ID interno del usuario (debe ser > 0) |
origin | string | Identificador del origen del jugador |
activity_id | string | Identificador 煤nico de actividad |
status | string | Estado de la apuesta. Para la contribuci贸n de XP de lealtad, solo se procesan eventos con estado "Settlement". |
currency | string | C贸digo de moneda |
timestamp | time | Marca de tiempo del evento (no puede ser cero) |
amount | float64 | Cantidad de la apuesta (debe ser > 0) |
type | string | Tipo de apuesta |
Ejemplo JSON: