Programa de Lealtad
Configuración
Ver configuración
GET /admin/loyalty/settings
Actualizar configuración
POST /admin/loyalty/settings
| Campo | Tipo | Descripción |
|---|---|---|
points_per_currency | float64 | Puntos por cada unidad monetaria gastada |
points_per_currency_redeem | float64 | Puntos necesarios por unidad monetaria de descuento |
expiration_months | int | Meses 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ón | Método | Endpoint |
|---|---|---|
| Listar | GET | /admin/loyalty/rewards |
| Crear | POST | /admin/loyalty/rewards |
| Actualizar | POST | /admin/loyalty/rewards/:id |
| Toggle activo | POST | /admin/loyalty/rewards/:id/toggle |
| Eliminar | POST | /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ón | Método | Endpoint |
|---|---|---|
| Listar | GET | /admin/loyalty/tiers |
| Crear | POST | /admin/loyalty/tiers |
| Actualizar | POST | /admin/loyalty/tiers/:id |
| Eliminar | POST | /admin/loyalty/tiers/:id/delete |
Crear tier
{
"name": "Gold",
"min_points": 5000,
"multiplier": 1.5,
"sort_order": 2
}