Saltar al contenido principal

Documentation Index

Fetch the complete documentation index at: https://docs.nippy.la/llms.txt

Use this file to discover all available pages before exploring further.

spin() ejecuta un giro inmediato para un usuario y devuelve el resultado completo.

Uso

const result = await nippy.spin({
  userId: 'user-123',
  campaignId: 'camp-abc',
  idempotencyKey: 'checkout-789'
})

Parámetros

userId
string
requerido
Identificador del usuario en tu sistema. Ejemplo: user-123.
campaignId
string
requerido
ID de la campaña. Ejemplo: camp-abc.
idempotencyKey
string
predeterminado:"generado por el SDK"
Clave para evitar spins duplicados en reintentos. Ejemplo: checkout-789.

Respuesta

spinId
string
ID único del spin.
outcome
string
Resultado del giro. Valores comunes: won_points, lost, won_digital, won_physical.
gift
object
Premio seleccionado por el spin.
gift.giftId
string
ID del premio.
gift.name
string
Nombre visible del premio.
gift.pointsValue
number | null
Puntos otorgados cuando outcome es won_points.
animation
object
Datos para reproducir una animación determinística.
animation.seed
number
Semilla usada para reproducir la animación.
animation.durationMs
number
Duración recomendada de la animación en milisegundos.
animation.targetAngle
number
Ángulo final recomendado de la ruleta.
inventory.remaining
number
Stock restante del premio. -1 indica inventario ilimitado.
prizeReservation
object | null
Reserva del premio cuando requiere claim().
prizeReservation.claimRequired
boolean
Indica si debes llamar claim() para completar la entrega.