← Volver a TarjetasController

💳 Gestión de Tarjetas

Endpoints para la gestión CRUD completa de tarjetas de fidelización

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

Modelo de Datos - Tarjeta

Propiedades del modelo Tarjeta:
  • Tarjeta1 (string): Identificador único de la tarjeta (clave primaria)

📋 Características del Modelo

  • Clave primaria: Tarjeta1 es la clave primaria de la tabla TARJETAS
  • Longitud máxima: 20 caracteres para el ID de tarjeta
  • Tipo de datos: String no Unicode para optimización
  • Restricciones: No permite valores nulos
  • Índice: Clave primaria con índice I_TARJETA

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

Casos de Uso

🎯 Escenarios Comunes

  • Creación de programa de fidelización: Crear nuevas tarjetas para clientes frecuentes
  • Gestión de descuentos: Actualizar porcentajes de descuento de tarjetas
  • Desactivación de tarjetas: Eliminar tarjetas obsoletas o vencidas
  • Consulta de tarjetas activas: Listar todas las tarjetas disponibles
  • Validación de tarjetas: Verificar existencia de tarjetas en transacciones
  • Integración con facturación: Aplicar descuentos automáticamente