Descripción General
Los endpoints de Gestión de Monedas proporcionan las operaciones de lectura para obtener información sobre las monedas configuradas en el sistema. Estos endpoints permiten consultar monedas por diferentes criterios, desde obtener todas las monedas hasta buscar una específica por su ID.
🎯 Características de la Gestión de Monedas
- Consulta de todas las monedas: Obtener lista completa de monedas
- Consulta de moneda específica: Obtener información de una moneda por ID
- Información de tipos de cambio: Datos de conversión entre monedas
- Estados de monedas: Información sobre monedas activas/inactivas
- Moneda base: Identificación de la moneda principal del sistema
- Manejo de errores: Respuestas apropiadas para casos no encontrados
- Logging estructurado: Registro de errores y eventos
- Validación de datos: Verificación de parámetros de entrada
- Respuestas tipadas: Uso de modelos específicos para respuestas
- Configuración del sistema: Datos maestros de configuración monetaria
Endpoints Disponibles
GET
/Master/Monedas/GetMonedas
Obtiene todas las monedas configuradas en el sistema. Este endpoint devuelve una lista completa de todas las monedas 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 monedas devuelta exitosamente
[
{
"id": "EUR",
"nombre": "Euro",
"simbolo": "€",
"tipoCambio": 1.0,
"activa": true,
"esBase": true
},
{
"id": "USD",
"nombre": "Dólar Estadounidense",
"simbolo": "$",
"tipoCambio": 1.18,
"activa": true,
"esBase": false
},
{
"id": "GBP",
"nombre": "Libra Esterlina",
"simbolo": "£",
"tipoCambio": 0.86,
"activa": true,
"esBase": false
}
]
500 Internal Server Error
Error interno del servidor
{
"message": "Internal server error"
}
GET
/Master/Monedas/GetMoneda/{id}
Obtiene una moneda específica por su ID. Este endpoint permite recuperar la información detallada de una moneda en particular.
Parámetros de ruta:
- id (string, requerido): ID único de la moneda
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
Moneda encontrada y devuelta
{
"id": "EUR",
"nombre": "Euro",
"simbolo": "€",
"tipoCambio": 1.0,
"activa": true,
"esBase": true
}
404 Not Found
Moneda no encontrada
{
"message": "Moneda no encontrada"
}
500 Internal Server Error
Error interno del servidor
{
"message": "Internal server error"
}
Servicio Utilizado
IMonedaService - Servicio principal para la gestión de monedas
- GetMonedas(): Obtiene todas las monedas del sistema
- GetMoneda(): Obtiene una moneda específica por ID
📊 Ejemplos de Uso
💡 Casos Prácticos
Configuración de Monedas
// Obtener todas las monedas para configuración inicial
GET /Master/Monedas/GetMonedas?initialCatalog=RestMasterDB
// Resultado: Lista de monedas disponibles
[
{ "id": "EUR", "nombre": "Euro", "simbolo": "€", "tipoCambio": 1.0, "activa": true, "esBase": true },
{ "id": "USD", "nombre": "Dólar", "simbolo": "$", "tipoCambio": 1.18, "activa": true, "esBase": false }
]
Consulta de Moneda Específica
// Obtener información de una moneda específica
GET /Master/Monedas/GetMoneda/EUR?initialCatalog=RestMasterDB
// Resultado: Información detallada de la moneda
{
"id": "EUR",
"nombre": "Euro",
"simbolo": "€",
"tipoCambio": 1.0,
"activa": true,
"esBase": true
}
Cálculo de Conversión
// Convertir 100 EUR a USD
// 1. Obtener tipo de cambio EUR (base): 1.0
// 2. Obtener tipo de cambio USD: 1.18
// 3. Calcular: 100 * (1.18 / 1.0) = 118 USD