NippyError para errores operacionales. Usa NippyErrorCodes para manejar cada caso de forma explícita.
Patrón base
Códigos de error
COOLDOWN_ACTIVE
COOLDOWN_ACTIVE
Causa: El usuario giró recientemente y el cooldown de la campaña sigue activo.Solución: Consulta
getState() y muestra nextEligibleAt.SPIN_LIMIT_REACHED
SPIN_LIMIT_REACHED
Causa: El usuario agotó sus spins permitidos en la campaña.Solución: Deshabilita el botón de girar y muestra el estado actual.
CAMPAIGN_NOT_FOUND
CAMPAIGN_NOT_FOUND
Causa: El
campaignId no existe, no pertenece al negocio o la campaña está inactiva.Solución: Verifica el ID de campaña y su estado antes de exponerla en tu app.ALREADY_CLAIMED
ALREADY_CLAIMED
Causa: Se llamó
claim() para un premio que ya fue reclamado.Solución: Trata el caso como idempotente y muestra el premio ya reclamado.RESERVATION_EXPIRED
RESERVATION_EXPIRED
Causa: El usuario no reclamó el premio antes de la expiración de la reserva.Solución: Informa que el tiempo expiró y vuelve a consultar
getState().FORBIDDEN
FORBIDDEN
Causa: La API key no tiene acceso al recurso solicitado.Solución: Revisa permisos y pertenencia del recurso en la consola.
INVALID_PARAMETERS
INVALID_PARAMETERS
Causa: Faltan campos requeridos o algún valor tiene formato incorrecto.Solución: Valida los datos antes de llamar al SDK.
SERVER_ERROR
SERVER_ERROR
Causa: Nippy respondió con un error 5xx después de los reintentos automáticos.Solución: Registra
traceId, muestra un estado genérico y reintenta más tarde.
