Saltar al contenido principal

Programa de Lealtad

Configuración

Ver configuración

GET /admin/loyalty/settings

Actualizar configuración

POST /admin/loyalty/settings

CampoTipoDescripción
points_per_currencyfloat64Puntos por cada unidad monetaria gastada
points_per_currency_redeemfloat64Puntos necesarios por unidad monetaria de descuento
expiration_monthsintMeses antes de que expiren los puntos

Clientes

Top clientes por puntos

GET /admin/loyalty

Retorna los 50 clientes con mayor saldo de puntos.

Detalle de cliente

GET /admin/loyalty/customers/:customer_id

Respuesta: saldo, puntos ganados, canjeados, tier, últimas 20 transacciones.

Ajuste manual de puntos

POST /admin/loyalty/customers/:customer_id/adjust

{
"delta": 500,
"reason": "Compensación por inconveniente"
}

Recompensas

AcciónMétodoEndpoint
ListarGET/admin/loyalty/rewards
CrearPOST/admin/loyalty/rewards
ActualizarPOST/admin/loyalty/rewards/:id
Toggle activoPOST/admin/loyalty/rewards/:id/toggle
EliminarPOST/admin/loyalty/rewards/:id/delete

Crear recompensa

{
"title": "Descuento S/ 20",
"description": "Canjea por S/ 20 de descuento",
"points_cost": 2000,
"discount_value_cents": 2000,
"active": true
}

Tiers

AcciónMétodoEndpoint
ListarGET/admin/loyalty/tiers
CrearPOST/admin/loyalty/tiers
ActualizarPOST/admin/loyalty/tiers/:id
EliminarPOST/admin/loyalty/tiers/:id/delete

Crear tier

{
"name": "Gold",
"min_points": 5000,
"multiplier": 1.5,
"sort_order": 2
}