Saltar a contenido

POST Subir nómina

Método/Ruta: POST /api/v2/payrolls/upload
Auth: Bearer JWT (rol: admin)

Descripción: Sube una nueva nómina para un empleado. El archivo se almacena en S3.

Body (multipart/form-data)

  • file (file, required) — Archivo PDF de la nómina (máx. 30MB)
  • employeeId (number, required) — ID del empleado
  • date (string, ISO date, required) — Fecha de la nómina (mes/año)

cURL

curl -X POST "http://localhost:7001/api/v2/payrolls/upload" \
  -H "Authorization: Bearer <TOKEN>" \
  -F "file=@/path/to/nomina.pdf" \
  -F "employeeId=123" \
  -F "date=2025-01-15"

Response (200)

{
  "success": true,
  "message": "Payroll uploaded successfully"
}

Errores

Código Descripción
400 Payroll already exists (ya existe nómina para ese mes/empleado/curso)
401 Token inválido o expirado
403 Sin permisos de administrador
404 Employee not found
500 Error interno del servidor

Notas

  • Se envía un email de notificación al empleado cuando se sube su nómina
  • Solo puede existir una nómina por empleado/mes/curso escolar