Skip to main content
Traducción. El inglés es la versión autoritativa: ../../../modules/loyalty/spec.md.

Entidades e invariantes

Contrato del motor de reglas

Evento → condiciones (atributos de perfil, pertenencia a segmento o nivel, agregados, frecuencia) → efectos (rule_effect_types paramétrico, semillas is_system: award_points, issue_coupon, send_webhook, trigger_campaign; fila F2: apply_discount según DEC-H4). Los efectos se deduplican por (evento, regla) — idempotentes.

Eventos emitidos

points.earned|redeemed|expired|adjusted|revoked · points.expiring_soon · coupon.issued|redeemed|expired · referral.link_created|converted · tier.upgraded|downgraded

Endpoints (Runtime caliente: SLO <300 ms)

POST /v1/loyalty/redemptions (loyalty.redemptions.create) · POST /v1/loyalty/coupons/validate (loyalty.coupons.validate) · POST /v1/loyalty/qualifications (loyalty.qualifications.read) · GET /v1/loyalty/members/me (token de member) · CRUD de gestión: campañas, reglas, recompensas, niveles, referidos (loyalty.{resource}.{action})