Skip to content

Ruleta de sorteo (poseedores de NFT)

Requisitos de acceso

  • Permiso (módulo): manageToken
  • Licencia/Feature: Ninguna específica (depende de la tokenización/NFTs)
  • Acceso: GENERAL → Tokenización → NFTs/Assets → botón Ruleta en una NFT (ruta /roulette/:id)

Qué es / cuándo usarlo

Herramienta de sorteo/giveaway entre los poseedores de una NFT específica. La pantalla carga todos los propietarios (owners) del asset indicado en la URL (/roulette/:id), los cruza con la base de usuarios para mostrar email/nombre, y ofrece una ruleta en pantalla completa que elige un ganador de forma aleatoria.

Úselo para promociones del tipo "quien tenga la NFT X participa en el sorteo de un premio". El acceso se realiza desde el listado de NFTs (Tokenización), no desde un ítem de menú propio.

Requisitos previos

  • Permiso: manageToken registrado para el rol del operador (permiso doble: enum CPM + módulo dinámico en la BD). El guard de ruta requiere este módulo.
  • Licencia/Feature: depende de que el tenant tenga tokenización/NFTs habilitadas.
  • Dependencias de otras pantallas: la NFT/colección debe existir y tener poseedores. El acceso parte de Tokenización → NFTs/Assets (/manage-assets), mediante un botón que navega a roulette/<assetId>.

Paso a paso

  1. En Tokenización → NFTs/Assets, localice la NFT y haga clic en la acción que abre la Ruleta.
  2. La pantalla lista los poseedores (cliente, email, token, precio pagado).
  3. (Opcional) Use Mostrar/Ocultar precio pagado para ver el monto pagado por cada poseedor.
  4. Haga clic en Girar para abrir la ruleta en pantalla completa y sortear un ganador.
  5. Haga clic en un poseedor para ver los Detalles del propietario.
  6. Use Exportar CSV para descargar la base de usuarios indicando quién posee la NFT.

Filtros y columnas

Filtro / ColumnaQué muestraOrigen del dato
Cliente (customer)Poseedor de la NFTgetAllOwners(assetId) cruzado con la base de usuarios
Email (email)Email del poseedormapa customer_id → usuario
TokenIdentificación del token/NFTowner record
Precio pagado (price_paid)Cuánto pagó el poseedorse muestra solo con el toggle activado; formateado vía BigNumber (2 decimales)
Mostrar precio pagadoActiva/desactiva la columna de precioshowPricePaid (client)

Acciones y modales

  • Girar: abre el modal RouletteFullScreen con todos los poseedores y sortea visualmente un ganador (el límite de renderizado de la ruleta se gestiona dentro del modal para soportar muchos participantes).
  • Detalles del propietario: abre RouletteOwnerDetailsModalComponent con los datos del poseedor seleccionado.
  • Exportar CSV: descarga users_<fecha>.csv con la base de usuarios y una columna haveNFT (Yes para quienes poseen la NFT del sorteo).
  • Volver: regresa a la pantalla anterior (location.back()).

Reglas de negocio / precauciones

Atención

  • El sorteo considera solo los poseedores actuales del asset cargado — quien vendió/transfirió la NFT antes de la carga no participa.
  • El precio pagado es información sensible: mantenga la columna oculta en presentaciones públicas.
  • El resultado de la ruleta es un sorteo visual en el cliente; registre el ganador manualmente para fines del premio (la pantalla no persiste el resultado).
  • Valores financieros: el precio pagado se trata como BigNumber y se muestra con 2 decimales — los valores no finitos aparecen como "-".

Pantallas relacionadas