Añadir contratos de un empleado con restricciones
Este endpoint permite añadir contratos con restricciones para un empleado, admitiendo la naturaleza (nature) de cada restricción.
PUT /api/v2/businesses/{businessId}/people/{employeeId}/contracts-with-constraints
A continuación, se expone una explicación detallada de cada uno de los campos que pueden conformar el cuerpo de la petición.
|
Los campos obligatorios están marcados con (*). Los valores admitidos para los campos de tipo |
Cuerpo de la petición
| Análisis del JSON |
|---|
Detalles
|
Ejemplo de la petición
Una vez realizado el análisis de los distintos campos, se muestra un ejemplo del cuerpo de la petición:
{
"business": "CST",
"ignoreWithoutOuterId": false,
"contracts": [
{
"from": "2026-06-16",
"regularMinutes": 380,
"weeklyContract": false,
"dailyContract": true,
"countingDays": "WEEKENDS_AND_HOLIDAYS",
"additionalMinutes": 150,
"regularControlPeriod": "MONTHLY",
"regularPeriodMultiplier": 1,
"regularPeriodStartDate": "2026-01-15",
"additionalControlPeriod": "MONTHLY",
"additionalPeriodMultiplier": 1,
"additionalPeriodStartDate": "2026-01-15",
"calendarDaysOff": true,
"numberOfHolidays": 10,
"numberOfPublicHolidays": 10,
"weeklyDaysInvolved": "LABOR_DAYS",
"costPerHour": 200.34,
"personCategory": "AV",
"constraints": [
{
"id": "constraint.shift_duration_alternatives",
"parameters": {},
"blocks": {
"1": {
"shiftDuration": 630
},
"2": {
"shiftDuration": 1230
}
},
"blocking": false,
"nature": "PERSONAL"
},
{
"id": "constraint.presence_min_total_minutes",
"parameters": {
"min": "240"
},
"blocking": false
}
]
}
]
}
Si todos los datos son correctos, se crearán los contratos para el empleado con las características y restricciones indicadas en la petición.
Aspectos que tener en cuenta
Si el empleado indicado en la URL no existe, la petición devolverá un error 404 Not Found indicando Person does not exist.
Si el identificador de la restricción (id) no se corresponde con ninguna restricción del catálogo del negocio, la petición devolverá un error 400 Bad Request indicando Constraint not found in business catalog.
Este endpoint admite el campo nature en cada restricción, permitiendo indicar explícitamente si se ha informado manualmente (PERSONAL) o si proviene de un tipo de contrato o de una importación (CONTRACT_TYPE).
|
Se recomienda revisar el cuerpo de la respuesta en caso de error, ya que incluye información relevante para su diagnóstico y depuración, como el campo inválido o el valor no reconocido. |
Enlaces de interés
¿Qué es un contrato? ¿Y un tipo de contrato?
¿Qué es una restricción?