webhookUrl configurada en tu campaña. Son el canal principal para saber qué pasó — siempre verifica la firma antes de procesar.
Estructura del envelope
Todos los eventos comparten el mismo envelope:Headers que recibes
Verificar la firma
Siempre verifica la firma. Si no lo haces, cualquiera puede enviarte webhooks falsos a tu endpoint.Eventos disponibles
spin.completed
Se dispara cuando se completa un spin (manual o automático).outcome === 'won_points' y claimRequired === false, acredita gift.pointsValue al usuario.
claim.completed
Se dispara cuando el usuario reclama un premio que requería confirmación.spin_auto_unlocked
Se dispara cuandotrack() evaluó las reglas y desbloqueó un spin automático, justo antes de girar.
grant_points_awarded
Se dispara cuando una regla conaction: 'grant_points' se activó y los puntos fueron acreditados directamente.
data.pointsValue al usuario en tu sistema.
Reintentos
Si tu endpoint retorna cualquier código distinto de2xx, Nippy reintenta la entrega automáticamente:
Después del cuarto intento fallido, el webhook queda como
failed. Puedes consultarlo en el log de webhooks.
Idempotencia
El campoid del envelope es único por entrega. Si recibes el mismo id dos veces (reintento de red), procésalo solo una vez guardando los IDs ya procesados en tu base de datos.
