Saltar al contenido principal

Gestión de Personal

Permite la consulta del equipo humano y operarios registrados en BaseGes ERP. Es el maestro de personal empleado para imputar horas de mano de obra en proyectos, partes de trabajo (GMAO) y órdenes de servicio técnico.

Seguridad

Requiere autorización mediante cabecera HTTP:

  • X-Api-Key: {tu_clave_api} o Authorization: Bearer {tu_token_jwt}

Endpoints Disponibles​

MétodoRutaDescripción
GET/employeesListado paginado de empleados y técnicos disponibles.
GET/employees/{code}Consulta de ficha de empleado con datos de contacto y categoría.
POST/employeesRegistro de un nuevo operario o empleado.
PATCH/employees/{code}Actualización parcial de la ficha de empleado.

1. Listado Paginado de Personal​

GET /employees

Parámetros de Consulta (Query String)​

ParámetroTipoRequeridoDescripción
pageintegerNoNúmero de página (predeterminado: 1, mínimo: 1).
pageSizeintegerNoElementos por página (predeterminado: 50, máximo: 100).
CodestringNoFiltro exacto por código de empleado (ej. "EMP001").
VatNumberstringNoFiltro por DNI / NIE del trabajador.
searchstringNoBúsqueda parcial predictiva.
updatedAfterdatetimeNoSincronización incremental (formato ISO 8601).
Coincidencias del parámetro search

La búsqueda predictiva busca simultáneamente en:

  • Code (Código de empleado)
  • Name (Nombre y apellidos)
  • VatNumber (DNI / NIF)
  • Address (Dirección)
  • PostalCode (Código postal)
  • City (Población)
  • Phone (Teléfono corporativo o personal)
  • Email (Correo electrónico)

Ejemplo de Petición​

GET /employees?page=1&pageSize=10&search=García HTTP/1.1
Host: localhost:5000
X-Api-Key: 12345678-abcd-ef01-2345-6789abcdef01

Respuesta Exitosa (200 OK)​

{
"items": [
{
"code": "EMP007",
"name": "Carlos García Moreno",
"vatNumber": "45678901D",
"address": "Calle Mayor, 14, 2ºB",
"postalCode": "28013",
"city": "Madrid",
"province": "Madrid",
"phone": "+34 600 123 456",
"email": "carlos.garcia@empresa.com"
}
],
"page": 1,
"pageSize": 10,
"totalCount": 1,
"totalPages": 1,
"hasPreviousPage": false,
"hasNextPage": false
}