Praesenti
API

Empleados

La gestión de empleados es fundamental para el sistema. Desde aquí puedes crear, consultar, actualizar y eliminar empleados de tu organización.

Obtener todos los empleados

Obtiene la lista completa de empleados de una organización, con opciones de filtrado por estado, categoría y área.

Método: GET /employees

Parámetros

ParámetroTipoRequeridoDescripción
filterenum❌Filtro: hide-archived, only-archived, all (default: hide-archived)
categoryIDstring❌Filtrar por categoría
areaIDstring❌Filtrar por área

Respuesta exitosa (200)

[
  {
    "id": 161,
    "createdAt": "2026-04-14T19:07:49.049Z",
    "updatedAt": "2026-06-26T14:14:25.243Z",
    "deletedAt": null,
    "name": "Juan Sanchez",
    "mobileID": "e13d7992-4d61-4681-8fce-f17681553b0f",
    "mobileEnabled": true,
    "faceRecognition": null,
    "internalID": 12,
    "dni": 11223322,
    "email": null,
    "phoneNumber": null,
    "category": {
      "id": 78,
      "createdAt": "2026-04-14T19:07:48.957Z",
      "updatedAt": "2026-04-14T19:07:48.957Z",
      "deletedAt": null,
      "name": "SECRETARIA",
      "areaID": 42,
      "area": {
        "id": 42,
        "createdAt": "2026-04-14T19:07:48.946Z",
        "updatedAt": "2026-04-14T19:07:48.946Z",
        "deletedAt": null,
        "name": "ADMINISTRACION",
        "colorCode": "#D4E3C7"
      }
    },
    "archived": false
  }
]

Códigos de respuesta

CódigoDescripción
200Exitoso
400Solicitud inválida
401No autorizado
403Prohibido
500Error interno del servidor

Obtener un empleado específico

Obtiene los detalles completos de un empleado por su ID.

Método: GET /employees/:id

Parámetros

ParámetroTipoDescripción
idstringID del empleado

Respuesta exitosa (200)

{
  "id": 161,
  "createdAt": "2026-04-14T19:07:49.049Z",
  "updatedAt": "2026-06-26T14:14:25.243Z",
  "deletedAt": null,
  "name": "Juan Sanchez",
  "mobileID": "e13d7992-4d61-4681-8fce-f17681553b0f",
  "mobileEnabled": true,
  "faceRecognition": null,
  "internalID": 12,
  "dni": 11223322,
  "email": null,
  "phoneNumber": null,
  "category": {
    "id": 78,
    "createdAt": "2026-04-14T19:07:48.957Z",
    "updatedAt": "2026-04-14T19:07:48.957Z",
    "deletedAt": null,
    "name": "SECRETARIA",
    "areaID": 42,
    "area": {
      "id": 42,
      "createdAt": "2026-04-14T19:07:48.946Z",
      "updatedAt": "2026-04-14T19:07:48.946Z",
      "deletedAt": null,
      "name": "ADMINISTRACION",
      "colorCode": "#D4E3C7"
    }
  },
  "archived": false
}

Códigos de respuesta

CódigoDescripción
200Exitoso
404Empleado no encontrado
500Error interno del servidor

Crear un nuevo empleado

Crea un nuevo empleado en la organización con los datos proporcionados. El campo name es obligatorio (hasta 80 caracteres). dni, internalID, email y phoneNumber son opcionales.

El empleado debe quedar asignado a una categoría. Lo habitual es enviar categoryID con una categoría existente. Si no se envía, se puede crear un área nueva con su primera categoría usando createAreaAndCategory:

{
  "name": "Juan Pérez",
  "createAreaAndCategory": {
    "areaName": "Depósito",
    "categoryName": "Operario",
    "colorCode": "#FFFFFF"
  }
}

Si no se envía categoryID ni createAreaAndCategory, la API responde 400.

Método: POST /employees

Body requerido

{
  "name": "Juan Pérez",
  "email": "[email protected]",
  "dni": 12345678,
  "internalID": 122,
  "categoryID": 130,
  "phoneNumber": "+5491112345678"
}

Respuesta exitosa (201)

{
  "id": 260,
  "createdAt": "2026-07-03T08:39:17.582-03:00",
  "updatedAt": "2026-07-03T08:39:17.582-03:00",
  "deletedAt": null,
  "name": "Juan Pérez",
  "mobileID": null,
  "mobileEnabled": false,
  "faceRecognition": null,
  "internalID": 122,
  "dni": 12345678,
  "email": "[email protected]",
  "phoneNumber": "+5491112345678",
  "archived": false
}

Códigos de respuesta

CódigoDescripción
201Empleado creado exitosamente
400Solicitud inválida o falta la categoría
404Categoría no encontrada
409DNI o ID interno ya existen, el área a crear ya existe o se alcanzó el límite de empleados del plan
500Error interno del servidor

Actualizar un empleado

Actualiza los datos de un empleado existente. Se deben enviar todos los campos siguientes: los campos opcionales que no se envíen (dni, internalID, email, phoneNumber) quedan en null. No se puede modificar un empleado archivado.

Método: PUT /employees/:id

Body

{
  "name": "Juan Pérez",
  "email": "[email protected]",
  "dni": 12345678,
  "internalID": 122,
  "categoryID": 130,
  "phoneNumber": "+5491112345678"
}

Respuesta exitosa (200)

{
  "id": 260,
  "createdAt": "2026-07-03T08:39:17.582-03:00",
  "updatedAt": "2026-07-03T08:39:17.582-03:00",
  "deletedAt": null,
  "name": "Juan Pérez",
  "mobileID": null,
  "mobileEnabled": false,
  "faceRecognition": null,
  "internalID": 122,
  "dni": 12345678,
  "email": "[email protected]",
  "phoneNumber": "+5491112345678",
  "archived": false
}

El endpoint retorna el empleado actualizado con todos sus datos.

Códigos de respuesta

CódigoDescripción
200Actualizado exitosamente
400Solicitud inválida o empleado archivado
404Empleado o categoría no encontrados
409DNI o ID interno ya existen
500Error interno del servidor

Eliminar un empleado

Elimina un empleado de la organización junto con sus fichadas, avisos y asignaciones de turno.

Método: DELETE /employees/:id

Respuesta exitosa (200)

{
  "message": "deleted successfuly",
  "deleted": true
}

Códigos de respuesta

CódigoDescripción
200Eliminado exitosamente
404Empleado no encontrado
500Error interno del servidor