Busca cajeros en el sistema utilizando diferentes criterios de filtrado. Este endpoint permite realizar búsquedas avanzadas por nombre, apellidos, estado, fechas y otros parámetros, devolviendo resultados paginados.
Este endpoint soporta búsqueda por texto libre, filtros específicos y paginación para manejar grandes volúmenes de datos.
Busca cajeros en el sistema utilizando diferentes criterios de filtrado.
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
| searchTerm | string | No | Término de búsqueda general (busca en nombre y apellidos) |
| nombre | string | No | Filtrar por nombre específico |
| apellidos | string | No | Filtrar por apellidos específicos |
| estado | string | No | Filtrar por estado (A=Activo, B=Baja) |
| fechaAltaDesde | string | No | Fecha de alta desde (ISO 8601) |
| fechaAltaHasta | string | No | Fecha de alta hasta (ISO 8601) |
| fechaBajaDesde | string | No | Fecha de baja desde (ISO 8601) |
| fechaBajaHasta | string | No | Fecha de baja hasta (ISO 8601) |
| page | int | No | Número de página (por defecto: 1) |
| pageSize | int | No | Tamaño de página (por defecto: 20, máximo: 100) |
| sortBy | string | No | Campo para ordenar (nombre, apellidos, fechaAlta, estado) |
| sortOrder | string | No | Orden de clasificación (asc, desc) |
| Código | Descripción | Ejemplo |
|---|---|---|
| 200 OK | Búsqueda completada exitosamente | Se devuelven los resultados con paginación |
| 400 Bad Request | Parámetros de búsqueda inválidos | Fechas en formato incorrecto o parámetros inválidos |
| 500 Internal Server Error | Error interno del servidor | Error en la base de datos o procesamiento |
GET /api/cajeros/search?searchTerm=maria&page=1&pageSize=10
{
"success": true,
"message": "Búsqueda completada",
"data": {
"items": [
{
"id": 1,
"nombre": "María",
"apellidos": "García López",
"estado": "A",
"fechaAlta": "2024-01-15T00:00:00",
"fechaBaja": null,
"observaciones": "Cajero principal"
},
{
"id": 7,
"nombre": "Mariana",
"apellidos": "Rodríguez",
"estado": "A",
"fechaAlta": "2024-03-20T00:00:00",
"fechaBaja": null,
"observaciones": null
}
],
"pagination": {
"page": 1,
"pageSize": 10,
"totalItems": 2,
"totalPages": 1,
"hasNextPage": false,
"hasPreviousPage": false
}
}
}
GET /api/cajeros/search?estado=A&fechaAltaDesde=2024-01-01&fechaAltaHasta=2024-12-31&sortBy=fechaAlta&sortOrder=desc
{
"success": true,
"message": "Búsqueda completada",
"data": {
"items": [
{
"id": 7,
"nombre": "Mariana",
"apellidos": "Rodríguez",
"estado": "A",
"fechaAlta": "2024-03-20T00:00:00",
"fechaBaja": null,
"observaciones": null
},
{
"id": 1,
"nombre": "María",
"apellidos": "García López",
"estado": "A",
"fechaAlta": "2024-01-15T00:00:00",
"fechaBaja": null,
"observaciones": "Cajero principal"
}
],
"pagination": {
"page": 1,
"pageSize": 20,
"totalItems": 2,
"totalPages": 1,
"hasNextPage": false,
"hasPreviousPage": false
}
}
}
GET /api/cajeros/search?page=2&pageSize=5&sortBy=apellidos&sortOrder=asc
{
"success": true,
"message": "Búsqueda completada",
"data": {
"items": [
{
"id": 8,
"nombre": "Luis",
"apellidos": "Fernández",
"estado": "A",
"fechaAlta": "2023-08-10T00:00:00",
"fechaBaja": null,
"observaciones": null
},
{
"id": 9,
"nombre": "Ana",
"apellidos": "González",
"estado": "B",
"fechaAlta": "2022-05-15T00:00:00",
"fechaBaja": "2024-06-30T00:00:00",
"observaciones": "Baja voluntaria"
}
],
"pagination": {
"page": 2,
"pageSize": 5,
"totalItems": 12,
"totalPages": 3,
"hasNextPage": true,
"hasPreviousPage": true
}
}
}
GET /api/cajeros/search?nombre=Juanito&estado=A
{
"success": true,
"message": "No se encontraron cajeros con los criterios especificados",
"data": {
"items": [],
"pagination": {
"page": 1,
"pageSize": 20,
"totalItems": 0,
"totalPages": 0,
"hasNextPage": false,
"hasPreviousPage": false
}
}
}