Skip to content

Recompensas (canje por código)

Requisitos previos de acceso

  • Permiso (módulo): viewCommissions O manageCommissions
  • Licencia/Feature: Ninguna
  • Contenedor del menú: GENERAL → grupo Comisiones y Recompensas

Qué es / cuándo usar

Pantalla de campañas de recompensa por código de canje. Se registra una recompensa (un Token o un NFT) asociada a un código de canje y una ventana de campaña (fecha inicio/fin). El sistema genera un QR Code / enlace que, al ser escaneado por el usuario, abre el Midas-Web ya con el redemptionCode en la URL para el canje.

Úselo para campañas promocionales (regalo por código), distribución de NFTs de evento o bonificación en token vinculada a un código impreso/difundido. No confundir con el Club de Recompensas (misiones/tiers) — aquí se trata de un canje puntual por código.

Requisitos previos

  • Permiso: viewCommissions o manageCommissions (permiso doble: enum CPM + módulo dinámico en la BD).
  • Licencia/Feature: Ninguna.
  • Dependencias de otras pantallas: el Token (Tokenización → Gestionar Tokens) o el NFT (Tokenización → NFTs/Assets) que se otorgará como recompensa debe existir antes — el formulario solo acepta seleccionar un asset/token ya registrado (autocompletado validado).

Paso a paso

  1. Acceda al menú Comisiones y Recompensas → Recompensas (/manage-reward-config/list).
  2. La lista muestra las recompensas con nombre, asset, tipo y un toggle de activación. Use la búsqueda y la paginación (server-side) para localizar registros.
  3. Haga clic en Nuevo para abrir el formulario de creación.
  4. Elija el Tipo de recompensa (NFT o Token), busque y seleccione el asset/token (el chip "validado" aparece al seleccionar), defina nombre, código de canje, fechas de la campaña y, para Token, la cantidad.
  5. Guarde. El QR Code/enlace de canje se construye a partir del código y puede ser copiado o descargado.

Campos

CampoQué es¿Obligatorio?Efecto en el sistema/backend
Nombre (name)Nombre interno de la campaña de recompensaIdentifica la configuración; máx. 200 caracteres.
Tipo de recompensa (rewardType)NFT o TokenDefine qué catálogo usa el autocompletado (NFTs/assets o tokens) y si el campo Cantidad aparece. Cambiar el tipo limpia el asset seleccionado.
Asset/Token (assetId)Asset (NFT) o token otorgado como recompensaResuelto por autocompletado validado contra el catálogo real. Errores de backend tratados: "NFT not found" / "Token not found".
Código de canje (redemptionCode)Código que el usuario usa para canjearDebe ser único; el backend rechaza con "redemption code is already in use". Compone la URL/QR de canje. Máx. 50 caracteres.
Cantidad (quantity)Cantidad de tokens a acreditarCondicional (solo Token)Solo aparece y se envía cuando rewardType = Token; se descarta para NFT.
Fecha de inicio (campaignStartDate)Inicio de la vigencia de la campañaDefine cuándo el canje comienza a ser válido. Ajuste de zona horaria aplicado en la carga/edición.
Fecha de fin (campaignEndDate)Fin de la vigencia de la campañaDefine el cierre de la ventana de canje.
QR Code / Enlace (qrcodeImg)Imagen/URL de canjeGeneradoConstruido como <host>/home?redemptionCode=<código>; puede copiarse o descargarse como PNG.
Activo (isActive)Activa/desactiva la campañaToggle en el listado; abre confirmación antes de activar/desactivar. Una recompensa inactiva no puede canjearse.

Acciones y modales

  • Nuevo / Editar / Visualizar: el formulario opera en tres modos. En modo vista los campos están deshabilitados y aparece el botón Editar. El botón Guardar solo se habilita cuando nombre, asset, tipo, código de canje y ambas fechas están completos.
  • Copiar URL / Descargar imagen: copia el enlace de canje o descarga el QR Code como code-reward-<código>.png.
  • Toggle Activo: activa/desactiva la campaña con confirmación (bottom-sheet). En caso de error, el toggle se revierte.
  • Eliminar (papelera): confirma y elimina la configuración.

Reglas de negocio / consideraciones

Atención

  • El código de canje es único por tenant — reutilizar un código existente es rechazado por el backend.
  • El asset/token debe existir y ser válido en el momento de la creación; el autocompletado no permite ingresar un id arbitrario sin validación.
  • La ventana de campaña (inicio/fin) delimita el canje; fuera de ella el código no otorga la recompensa.
  • Valores financieros: la cantidad de tokens se maneja con precisión; verifique los decimales del token elegido.

Pantallas relacionadas