Obtener contratos activos por producto
Este endpoint permite consultar todos los contratos activos de un producto.
GET /api/v2/businesses/{businessId}/products/{productId}/contracts/active
Si los datos incluidos en la petición son correctos —tanto businessId como productId—, la respuesta contendrá el listado de contratos vigentes dentro del producto, es decir, todos aquellos contratos cuya fecha de finalización sea igual o posterior a la fecha actual del sistema.
Ejemplo de respuesta
[
{
"from": "2024-08-26",
"regularMinutes": 2400,
"weeklyContract": true,
"dailyContract": false,
"additionalMinutes": 1200,
"regularControlPeriod": "WEEKLY",
"additionalControlPeriod": "WEEKLY",
"calendarDaysOff": true,
"numberOfHolidays": 32,
"numberOfPublicHolidays": 14,
"weeklyDaysInvolved": "MONDAY_SUNDAY",
"costPerHour": 12.0,
"personCategory": "DV",
"employeeId": "0001"
},
{
"from": "2024-08-26",
"regularMinutes": 1800,
"weeklyContract": true,
"dailyContract": false,
"additionalMinutes": 1200,
"regularControlPeriod": "WEEKLY",
"regularPeriodMultiplier": 1,
"additionalControlPeriod": "WEEKLY",
"additionalPeriodMultiplier": 1,
"calendarDaysOff": true,
"numberOfHolidays": 32,
"numberOfPublicHolidays": 14,
"weeklyDaysInvolved": "MONDAY_SUNDAY",
"costPerHour": 10.0,
"personCategory": "MG",
"employeeId": "0002",
"contractTypeName": "Full-time"
},
{
"from": "2026-01-15",
"regularMinutes": 360,
"weeklyContract": false,
"dailyContract": true,
"countingDays": "WEEKENDS_AND_HOLIDAYS",
"additionalMinutes": 120,
"regularControlPeriod": "YEARLY",
"regularPeriodMultiplier": 1,
"regularPeriodStartDate": "2026-01-15",
"additionalControlPeriod": "YEARLY",
"additionalPeriodMultiplier": 1,
"additionalPeriodStartDate": "2026-01-15",
"calendarDaysOff": true,
"numberOfHolidays": 10,
"numberOfPublicHolidays": 10,
"weeklyDaysInvolved": "WEEKENDS_AND_HOLIDAYS",
"costPerHour": 200.34,
"personCategory": "AV",
"employeeId": "0003",
"completed": false
}
]
Detalles
-
from: fecha de inicio del contrato en formato
yyyy-MM-dd. -
to: fecha de fin del contrato en formato
yyyy-MM-dd. Este campo no aparece en la respuesta si el contrato está abierto en el momento de la consulta. -
regularMinutes: horas ordinarias (en minutos) establecidas en el contrato. El valor se interpreta en función de la base horaria definida: anual, semanal o diaria.
-
weeklyContract: determina si el contrato se define de manera semanal (
true) o anual (false). -
dailyContract: determina si el contrato se define de manera diaria. Si el contrato no es diario ni semanal, se asume que es anual.
-
countingDays: en un contrato diario, indica qué días computan como trabajados. Su valor puede ser
MONDAY_SUNDAY,MONDAY_SATURDAY,LABOR_DAYS,LABOR_MONDAY_SATURDAYoWEEKENDS_AND_HOLIDAYS. -
additionalMinutes: horas complementarias (en minutos) establecidas en el contrato. El valor se interpreta en función de la base horaria definida: anual, semanal o diaria.
-
regularControlPeriod: periodo de control para las horas regulares establecidas en el contrato. Puede ser
WEEKLY,MONTHLY,YEARLYoPERIODS. -
regularPeriodMultiplier: índice multiplicador para regularControlPeriod. Por ejemplo, si se establece
2con regularControlPeriod semanal, determinaría que se trata de una quincena. -
regularPeriodStartDate: fecha de inicio de regularControlPeriod en formato
yyyy-MM-dd. Esta fecha se tiene en cuenta para un valor de regularPeriodMultiplier mayor que1; si el valor del multiplicador es igual a1, la fecha se ignora. -
additionalControlPeriod: periodo de control para las horas complementarias. Puede ser
WEEKLY,MONTHLY,YEARLYoPERIODS. -
additionalPeriodMultiplier: índice multiplicador para additionalControlPeriod. Por ejemplo, si se establece
2con additionalControlPeriod semanal, determinaría que se trata de una quincena. -
additionalPeriodStartDate: fecha de inicio de additionalControlPeriod en formato
yyyy-MM-dd. Esta fecha se tiene en cuenta para un valor de additionalPeriodMultiplier mayor que1; si el valor del multiplicador es igual a1, la fecha se ignora. -
calendarDaysOff: determina si las vacaciones serán procesadas en días naturales (
true) o laborables (false). -
numberOfHolidays: número de días de vacaciones que tiene el empleado en su contrato.
-
numberOfPublicHolidays: número de días festivos que tiene el empleado en su contrato.
-
weeklyDaysInvolved: días de la semana que serán computables. Su valor puede ser
MONDAY_SUNDAY,MONDAY_SATURDAY,LABOR_DAYS,LABOR_MONDAY_SATURDAYoWEEKENDS_AND_HOLIDAYS. -
metadata: cualquier dato adicional relativo al contrato que se haya configurado previamente. La estructura de estos metadatos dependerá de la configuración de negocio.
-
costPerHour: coste del empleado por hora trabajada.
-
personCategory: identificador externo de la categoría del empleado.
-
employeeId: identificador externo del empleado.
-
id: identificador externo del contrato.
-
contractTypeName: nombre del tipo de contrato que se aplica.
-
completed: determina si el contrato está liquidado o no.
La respuesta contendrá los datos que se hayan definido para cada uno de los contratos, por lo que algunos campos pueden estar presentes en unos contratos y ausentes en otros.
Aspectos que tener en cuenta
Si el producto especificado en la URL no existe en el negocio, la petición devolverá un error 404 Not Found indicando not exits.
Si no hay contratos activos en el producto, la petición devolverá un array vacío [].
Los contratos cuya fecha de finalización sea anterior a la fecha actual del sistema quedan excluidos de la respuesta.
Si el empleado tiene una cesión, el contrato aparecerá en la consulta de ambos productos, al que pertenece y al que está cedido. Si la cesión es regular, su contrato solo aparecerá en la consulta del producto al que pertenece.