Descripción General
Los endpoints de Gestión de Clientes proporcionan las operaciones fundamentales para administrar la información de los clientes del restaurante. Estos endpoints manejan el registro, consulta, actualización y eliminación de datos de clientes, incluyendo información personal, de contacto y estado de actividad.
🎯 Características de la Gestión de Clientes
- Identificación única: Cada cliente tiene un ID único en el sistema
- Información personal: Nombre, dirección, teléfono y email
- Estado activo/inactivo: Control de actividad del cliente
- Historial de registros: Fecha de alta y seguimiento temporal
- Validación de datos: Verificación de integridad de la información
Endpoints Disponibles
GET
/Master/Clientes/GetClientes
Obtiene todos los clientes registrados en el sistema. Este endpoint devuelve una lista completa de todos los clientes activos e inactivos 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 clientes devuelta exitosamente
{
"cliente1": 1001,
"nombre": "Juan Pérez",
"direccion": "Calle Principal 123",
"telefono": "555-0123",
"email": "juan.perez@email.com",
"fechaAlta": "2024-01-15T10:30:00Z",
"activo": true
}
500 Internal Server Error
Error interno del servidor
GET
/Master/Clientes/GetCliente/{id}
Obtiene un cliente específico por su ID. Este endpoint permite recuperar la información detallada de un cliente en particular.
Parámetros de ruta:
- id (double, requerido): ID único del cliente
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
Cliente encontrado y devuelto
404 Not Found
Cliente no encontrado
500 Internal Server Error
Error interno del servidor
POST
/Master/Clientes/AddCliente
Crea un nuevo cliente en el sistema. Este endpoint permite registrar un nuevo cliente en la base de datos del restaurante.
Body (JSON):
{
"nombre": "María García",
"direccion": "Avenida Central 456",
"telefono": "555-0456",
"email": "maria.garcia@email.com",
"activo": 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
Cliente creado exitosamente
{
"cliente1": 1002,
"nombre": "María García",
"direccion": "Avenida Central 456",
"telefono": "555-0456",
"email": "maria.garcia@email.com",
"fechaAlta": "2024-01-15T14:20:00Z",
"activo": true
}
500 Internal Server Error
Error interno del servidor
PUT
/Master/Clientes/UpdateCliente/{id}
Actualiza un cliente existente en el sistema. Este endpoint permite modificar la información de un cliente ya registrado.
Parámetros de ruta:
- id (double, requerido): ID del cliente a actualizar
Body (JSON):
{
"nombre": "Juan Pérez Actualizado",
"direccion": "Calle Principal 123, Piso 2",
"telefono": "555-0124",
"email": "juan.perez.nuevo@email.com",
"activo": 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
Cliente actualizado exitosamente
404 Not Found
Cliente no encontrado
500 Internal Server Error
Error interno del servidor
DELETE
/Master/Clientes/DeleteCliente/{id}
Elimina un cliente del sistema. Este endpoint permite remover un cliente de la base de datos del restaurante.
Parámetros de ruta:
- id (double, requerido): ID del cliente 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
Cliente eliminado exitosamente
{
"message": "Cliente deleted successfully",
"cliente": {
"cliente1": 1001,
"nombre": "Juan Pérez",
"direccion": "Calle Principal 123",
"telefono": "555-0123",
"email": "juan.perez@email.com",
"fechaAlta": "2024-01-15T10:30:00Z",
"activo": false
}
}
404 Not Found
Cliente no encontrado
500 Internal Server Error
Error interno del servidor
Servicio Utilizado
IClienteService - Servicio principal para la gestión de clientes
- GetClientes(): Obtiene todos los clientes
- GetCliente(): Obtiene un cliente por ID
- AddCliente(): Crea un nuevo cliente
- UpdateCliente(): Actualiza un cliente existente
- DeleteCliente(): Elimina un cliente