PaymentMethods/PaginatedPeriodPayroll
POST https://customerapi.geovictoria.com/api/v1/PaymentMethods/PaginatedPeriodPayroll
Descripción
Obtener la nómina de novedades de pago de un período, paginada por usuarios (20 usuarios por página). Por
cada usuario supervisado del período devuelve sus novedades de horas (tipo de hora, concepto, total, horas
compensadas, etc.), agrupadas por identificador de usuario. La empresa y el período se indican explícitamente en el body mediante CompanyId y PeriodId.
Request
Request Body
| Campos | Tipo de dato | Descripción |
|---|---|---|
| CompanyId | Integer | Identificador de la empresa. Requerido y distinto de 0; de lo contrario el request se rechaza con 400. |
| PeriodId | Integer | Identificador del período de pago a consultar. Requerido y distinto de 0; de lo contrario el request se rechaza con 400. |
| PageNumber | Integer | Número de página a obtener (20 usuarios por página). Opcional, por defecto 1. Si excede el total de páginas se ajusta a la última. |
| Identifier | String | Lista de identificadores de usuario (RUT/cédula) separados por coma para filtrar. Vacío = todos los usuarios supervisados. Debe venir en el body aunque sea vacío (“”). |
| WorkIdentifier | String | Lista de legajos/identificadores laborales separados por coma para filtrar. Vacío = sin filtro por legajo. Debe venir en el body aunque sea vacío (“”). |
| Client | String | Lista de códigos de cliente separados por coma para filtrar las novedades. Vacío = sin filtro. Debe venir en el body aunque sea vacío (“”). |
| Task | String | Lista de códigos de tarea separados por coma para filtrar las novedades. Vacío = sin filtro. Debe venir en el body aunque sea vacío (“”). |
| Date | String | Fecha específica (sólo aplica a variantes diarias). Para este endpoint va vacío. Debe venir en el body aunque sea vacío (“”). |
| IncludeDeactivatedUsers | Boolean | Incluir usuarios desactivados en el resultado. Opcional, por defecto false. |
| IncludeEmptyHourRecords | Boolean | Incluir usuarios sin novedades de horas. Opcional, por defecto false. |
{
"CompanyId": 12345,
"PeriodId": 6789,
"PageNumber": 1,
"Identifier": "",
"WorkIdentifier": "",
"Client": "",
"Task": "",
"Date": "",
"IncludeDeactivatedUsers": false,
"IncludeEmptyHourRecords": false
}
Importante
- Los campos CompanyId y PeriodId son obligatorios y deben ser distintos de
0; de lo contrario el request se rechaza con código 400. - Los campos UserId y ProfileId del body se ignoran: el servicio los asigna
internamente a un usuario/perfil administrador genérico. - La paginación es por usuarios: 20 usuarios por página. La respuesta informa la página actual
(PageNumber) y el total de páginas (TotalPages). - Los campos de la respuesta con valor nulo o por defecto se omiten del JSON.
Response
Response Body
La respuesta es un objeto paginado con los siguientes campos:
| Campos | Tipo de dato | Descripción |
|---|---|---|
| PageNumber | Integer | Número de la página devuelta |
| TotalPages | Integer | Cantidad total de páginas disponibles |
| Users | Array | Lista de usuarios con sus novedades (ver detalle abajo) |
Users
| Campos | Tipo de dato | Descripción |
|---|---|---|
| Identifier | String | Identificador del usuario (RUT/cédula u otro) |
| WorkIdentifier | String | Legajo / identificador laboral del usuario |
| Name | String | Nombre del usuario (o nombre completo según configuración de la empresa) |
| LastName | String | Apellido del usuario (sólo si la empresa separa nombre y apellido) |
| Group | String | Grupo al que pertenece el usuario |
| Period | String | Rango de fechas del período (formato “inicio – fin”) |
| Data | Array | Lista de novedades de horas del usuario (ver detalle abajo) |
Data
| Campos | Tipo de dato | Descripción |
|---|---|---|
| HourType | String | Tipo de hora de la novedad |
| Concept | String | Concepto externo asociado al tipo de hora |
| Parameter | String | Parámetro asociado al tipo de hora |
| Category | String | Categoría del tipo de hora |
| BICategory | String | Categoría BI asociada al tipo de hora |
| Total | Double | Total de horas de la novedad |
| CompensatedHours | Double | Horas compensadas |
| IsPreApproved | Boolean | Indica si la novedad está pre-aprobada |
| OvertimeAssigment | String | Asignación de horas extra |
| ClientCode | String | Código de cliente (sólo si la empresa usa distribución por proyecto/tarea) |
| ProjectCode | String | Código de proyecto (sólo si la empresa usa distribución por proyecto/tarea) |
| WorkCode | String | Código de obra (sólo si la empresa usa distribución por proyecto/tarea) |
| TaskCode | String | Código de tarea (sólo si la empresa usa distribución por proyecto/tarea) |
| Date | String | Fecha de la novedad (sólo en variantes diarias del reporte) |
Códigos
| Código | Descripción |
|---|---|
| 200 | Éxito |
| 400 | Error en el request (CompanyId/PeriodId en 0, campos String ausentes o nulos, u otro error de validación) |
Ejemplo response
{
"PageNumber": 1,
"TotalPages": 3,
"Users": [
{
"Identifier": "15715287",
"WorkIdentifier": "L-0099",
"Name": "Juan Pérez",
"Group": "Operaciones",
"Period": "2026-05-01 - 2026-05-31",
"Data": [
{
"HourType": "Horas Extra 50%",
"Concept": "HE50",
"Parameter": "P1",
"Category": "Extra",
"Total": 12.5
}
]
}
]
}