Bienvenido a la documentación de la API Rest de Control Gastos. Esta API proporciona funcionalidades para administrar gastos personales.
Para utilizar esta API, asegúrate de tener instalado:
- .NET Core SDK
- Visual Studio 2022 o Visual Studio Code
- SQL Server
La API utiliza autenticación basada en tokens JWT (JSON Web Token). Para acceder a los endpoints protegidos, debes incluir el token de acceso en el encabezado de autorización de la solicitud HTTP.
Este endpoint permite registrar un nuevo usuario en el sistema.
POST
/api/Authentication/register
{
"password": "string",
"correo": "string",
"primerNombre": "string",
"segundoNombre": "string"
}
200 ok
: El usuario se ha registrado correctamente.400 Bad Request
: La solicitud contiene datos inválidos.409 Conflict
: El correo electrónico ya está en uso.500 Internal Server Error
: Error interno del servidor.
Este endpoint permite que un usuario registrado inicie sesión en la aplicación.
POST
/api/Authenticacion/login
{
"correo": "string",
"password": "string"
}
200 ok
: El usuario se ha logueado correctamente.400 Bad Request
: La solicitud contiene datos inválidos.401 Unauthorized
: Las credenciales proporcionadas son incorrectas..500 Internal Server Error
: Error interno del servidor.
El balance representa el saldo actual en la cuenta del usuario, reflejando tanto los ingresos como los gastos registrados a través de movimientos financieros. Este saldo puede fluctuar a medida que se añaden nuevos ingresos o se realizan gastos, reflejando así la situación financiera en tiempo real.
Este endpoint permite obtener el balance actual del usuario logueado.
GET
/api/Balance
idUsuario
: ID del usuario para el cual se obtiene el balance. Este parámetro se utiliza para especificar el usuario del cual se desea conocer el saldo. El backend utilizará automáticamente el usuario actualmente autenticado, extrayendo la información del token de autenticación.
200 OK
: La solicitud se completó satisfactoriamente.401 Unauthorized
: No se proporcionaron credenciales de autenticación válidas.404 Not Found
: El balance para el usuario no pudo ser encontrado.500 Internal Server Error
: Error interno del servidor.
Esta funcionalidad te permite registrar tus ingresos para llevar un control detallado de tus finanzas.
Este endpoint te permite obtener los ingresos registrados para el mes actual o para una fecha específica proporcionada.
GET
/api/Ingresos
mes
: Especifica el mes para el cual deseas obtener los ingresos. Este parámetro debe ser proporcionado en formato de fecha y hora (datetime)idUsuario
: ID del usuario para el cual se obtiene los ingresos por Usuario. Este parámetro se utiliza para especificar el usuario del cual se desea conocer el saldo. El backend utilizará automáticamente el usuario actualmente autenticado, extrayendo la información del token de autenticación.
200 OK
: La solicitud se completó satisfactoriamente.401 Unauthorized
: No se proporcionaron credenciales de autenticación válidas.500 Internal Server Error
: Error interno del servidor.
Este endpoint te permite registrar los ingresos en tu cuenta para llevar un seguimiento preciso de tus finanzas.
POST
/api/Ingresos
-
idUsuario
: Este parámetro se utiliza para especificar el usuario del cual se desea conocer el saldo. El backend utilizará automáticamente el usuario actualmente autenticado, extrayendo la información del token de autenticación. -
idBalance
: Si el usuario no tiene un balance asociado, al realizar la solicitud de registro de ingreso, se creará automáticamente un balance para el usuario. -
idIngreso
: Este identificador se genera automáticamente en el backend como un GUID único para cada ingreso registrado.
{
"monto": 0,
"fechaIngreso": "2024-03-10",
"descripcion": "string"
}
200 OK
: La solicitud se completó satisfactoriamente.401 Unauthorized
: No se proporcionaron credenciales de autenticación válidas.500 Internal Server Error
: Error interno del servidor.
Esta funcionalidad te permite registrar y consultar tus gastos/Transacciones para llevar un control detallado de tus finanzas.
Este endpoint te permite obtener las transacciones registrados para el mes actual o para una fecha específica proporcionada.
GET
/api/Transaccion
mes
: Especifica el mes para el cual deseas obtener las transacciones. Este parámetro debe ser proporcionado en formato de fecha y hora (datetime)idUsuario
: ID del usuario para el cual se obtiene las transacciones por Usuario. Este parámetro se utiliza para especificar el usuario del cual se desea conocer el saldo. El backend utilizará automáticamente el usuario actualmente autenticado, extrayendo la información del token de autenticación.
200 OK
: La solicitud se completó satisfactoriamente.401 Unauthorized
: No se proporcionaron credenciales de autenticación válidas.500 Internal Server Error
: Error interno del servidor.
Este endpoint te permite registrar las transacciones en tu cuenta para llevar un seguimiento preciso de tus finanzas.
POST
/api/Transaccion
-
idUsuario
: Este parámetro se utiliza para especificar el usuario del cual se desea conocer el saldo. El backend utilizará automáticamente el usuario actualmente autenticado, extrayendo la información del token de autenticación. -
idTransaccion
: Este identificador se genera automáticamente en el backend como un GUID único para cada transaccón registrada.
{
"idCategoria": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"idLugar": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"idMetodoPago": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"descripcion": "string",
"producto": "string",
"monto": 0,
"fechaTransaccion": "2024-03-10T04:03:50.323Z",
}
200 OK
: La solicitud se completó satisfactoriamente.401 Unauthorized
: No se proporcionaron credenciales de autenticación válidas.500 Internal Server Error
: Error interno del servidor.
Esta funcionalidad te permite hacer el CRUD de categorias.
Este endpoint te permite obtener las categorias registradas.
GET
/api/Categoria
200 OK
: La solicitud se completó satisfactoriamente.401 Unauthorized
: No se proporcionaron credenciales de autenticación válidas.500 Internal Server Error
: Error interno del servidor.
Este endpoint te permite registrar las Categorias.
POST
/api/Categoria
-
IdCategoria
: Este identificador se genera automáticamente en el backend como un GUID único para cada categoria que se registra.
{
"idCategoria": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"nombreCategoria": "string",
"icono": "string",
"color": "string"
}
200 OK
: La solicitud se completó satisfactoriamente.401 Unauthorized
: No se proporcionaron credenciales de autenticación válidas.500 Internal Server Error
: Error interno del servidor.
Este endpoint permite actualizar la información de una categoría existente.
PUT
/api/Categoria
-
IdCategoria
: El identificador de la categoría se proporciona dentro del objeto "Categoría"
{
"idCategoria": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"nombreCategoria": "string",
"icono": "string",
"color": "string"
}
200 OK
: La solicitud se completó satisfactoriamente.401 Unauthorized
: No se proporcionaron credenciales de autenticación válidas.500 Internal Server Error
: Error interno del servidor.
Esta funcionalidad te permite hacer el CRUD de Lugar.
Este endpoint te permite obtener los Lugares registradas.
GET
/api/Lugar
200 OK
: La solicitud se completó satisfactoriamente.401 Unauthorized
: No se proporcionaron credenciales de autenticación válidas.500 Internal Server Error
: Error interno del servidor.
Este endpoint te permite registrar el Lugar.
POST
/api/Lugar
-
idLugar
: Este identificador se genera automáticamente en el backend como un GUID único.
{
"idLugar": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"nombreLugar": "string"
}
200 OK
: La solicitud se completó satisfactoriamente.401 Unauthorized
: No se proporcionaron credenciales de autenticación válidas.500 Internal Server Error
: Error interno del servidor.
Este endpoint permite actualizar la información de un Lugar existente.
PUT
/api/Lugar
-
idLugar
: El identificador del Lugar se proporciona dentro del objeto "Lugar"
{
"idLugar": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"nombreLugar": "string"
}
200 OK
: La solicitud se completó satisfactoriamente.401 Unauthorized
: No se proporcionaron credenciales de autenticación válidas.500 Internal Server Error
: Error interno del servidor.
Esta funcionalidad te permite hacer el CRUD de Método de pago.
Este endpoint te permite obtener los Metodos de pagos registradas.
GET
/api/MetodoPago
200 OK
: La solicitud se completó satisfactoriamente.401 Unauthorized
: No se proporcionaron credenciales de autenticación válidas.500 Internal Server Error
: Error interno del servidor.
Este endpoint te permite registrar el Método de pago.
POST
/api/MetodoPago
-
idMetodoPago
: Este identificador se genera automáticamente en el backend como un GUID único.
{
"idMetodoPago": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"descripcion": "string"
}
200 OK
: La solicitud se completó satisfactoriamente.401 Unauthorized
: No se proporcionaron credenciales de autenticación válidas.500 Internal Server Error
: Error interno del servidor.
Este endpoint permite actualizar la información de un Método Pago existente.
PUT
/api/MetodoPago
-
idMetodoPago
: El identificador del Método de pago se proporciona dentro del objeto "MetodoPago"
{
"idMetodoPago": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"descripcion": "string"
}
200 OK
: La solicitud se completó satisfactoriamente.401 Unauthorized
: No se proporcionaron credenciales de autenticación válidas.500 Internal Server Error
: Error interno del servidor.