Descripción General
Los endpoints de Gestión de Tarjetas proporcionan las operaciones fundamentales para administrar las tarjetas de fidelización del sistema RestMaster. Estos endpoints manejan la información básica de cada tarjeta, permitiendo la creación, consulta, actualización y eliminación de tarjetas de descuento y fidelización.
🎯 Características de las Tarjetas de Fidelización
- Identificación única: Cada tarjeta tiene un ID único en el sistema
- Programas de fidelización: Sistema de descuentos para clientes frecuentes
- Integración con facturación: Aplicación automática de descuentos
- Gestión de clientes: Asociación con clientes específicos
- Validación en transacciones: Verificación de tarjetas válidas
- Historial de uso: Seguimiento de transacciones por tarjeta
Endpoints Disponibles
GET
/Master/Tarjetas/GetTarjetas
Obtiene todas las tarjetas disponibles en el sistema. Este endpoint devuelve una lista completa de todas las tarjetas de fidelización registradas en la base de datos.
Parámetros de consulta:
- initialCatalog (string, requerido): Nombre de la base de datos
- userID (string, opcional): ID de usuario de la base de datos
- password (string, opcional): Contraseña de la base de datos
200 OK
Lista de tarjetas devuelta exitosamente
[
{
"tarjeta1": "TARJ001",
"nombre": "Tarjeta VIP",
"descuento": 10.0,
"activa": true
},
{
"tarjeta1": "TARJ002",
"nombre": "Tarjeta Premium",
"descuento": 15.0,
"activa": true
}
]
500 Internal Server Error
Error interno del servidor
GET
/Master/Tarjetas/GetTarjeta/{tarjeta}
Obtiene una tarjeta específica por su ID. Este endpoint permite recuperar la información detallada de una tarjeta de fidelización en particular.
Parámetros de ruta:
- tarjeta (string, requerido): ID único de la tarjeta
Parámetros de consulta:
- initialCatalog (string, requerido): Nombre de la base de datos
- userID (string, opcional): ID de usuario de la base de datos
- password (string, opcional): Contraseña de la base de datos
200 OK
Tarjeta encontrada y devuelta
{
"tarjeta1": "TARJ001",
"nombre": "Tarjeta VIP",
"descuento": 10.0,
"activa": true,
"fechaCreacion": "2024-01-15T10:30:00Z"
}
404 Not Found
Tarjeta no encontrada
500 Internal Server Error
Error interno del servidor
POST
/Master/Tarjetas/AddTarjeta
Crea una nueva tarjeta en el sistema. Este endpoint permite agregar una nueva tarjeta de fidelización al sistema de descuentos del restaurante.
Body (JSON):
{
"tarjeta1": "TARJ003",
"nombre": "Nueva Tarjeta",
"descuento": 5.0,
"activa": true
}
Parámetros de consulta:
- initialCatalog (string, requerido): Nombre de la base de datos
- userID (string, opcional): ID de usuario de la base de datos
- password (string, opcional): Contraseña de la base de datos
201 Created
Tarjeta creada exitosamente
{
"tarjeta1": "TARJ003",
"nombre": "Nueva Tarjeta",
"descuento": 5.0,
"activa": true,
"fechaCreacion": "2024-01-15T10:30:00Z"
}
500 Internal Server Error
Error interno del servidor
PUT
/Master/Tarjetas/UpdateTarjeta/{tarjeta}
Actualiza una tarjeta existente en el sistema. Este endpoint permite modificar la información de una tarjeta de fidelización ya registrada.
Parámetros de ruta:
- tarjeta (string, requerido): ID de la tarjeta a actualizar
Body (JSON):
{
"tarjeta1": "TARJ001",
"nombre": "Tarjeta VIP Actualizada",
"descuento": 12.0,
"activa": true
}
Parámetros de consulta:
- initialCatalog (string, requerido): Nombre de la base de datos
- userID (string, opcional): ID de usuario de la base de datos
- password (string, opcional): Contraseña de la base de datos
200 OK
Tarjeta actualizada exitosamente
404 Not Found
Tarjeta no encontrada
500 Internal Server Error
Error interno del servidor
DELETE
/Master/Tarjetas/DeleteTarjeta/{tarjeta}
Elimina una tarjeta del sistema. Este endpoint permite remover una tarjeta de fidelización del sistema de descuentos del restaurante.
Parámetros de ruta:
- tarjeta (string, requerido): ID de la tarjeta a eliminar
Parámetros de consulta:
- initialCatalog (string, requerido): Nombre de la base de datos
- userID (string, opcional): ID de usuario de la base de datos
- password (string, opcional): Contraseña de la base de datos
200 OK
Tarjeta eliminada exitosamente
{
"message": "Tarjeta deleted successfully",
"deletedEntity": {
"tarjeta1": "TARJ001",
"nombre": "Tarjeta VIP",
"descuento": 10.0,
"activa": false
}
}
404 Not Found
Tarjeta no encontrada
500 Internal Server Error
Error interno del servidor
Servicio Utilizado
ITarjetaService - Servicio principal para la gestión de tarjetas
- GetTarjetas(): Obtiene todas las tarjetas
- GetTarjeta(): Obtiene una tarjeta por ID
- AddTarjeta(): Crea una nueva tarjeta
- UpdateTarjeta(): Actualiza una tarjeta existente
- DeleteTarjeta(): Elimina una tarjeta