El objetivo de este artículo es que sepas qué esperar de las APIs de Workera y cómo realizar las pruebas en Postman.
Antes de empezar, queremos aclarar que esta documentación usará términos técnicos para dejar instrucciones precisas, por lo que se recomienda tener algún tipo de experiencia en integraciones o programación para probar los servicios que la API provee. Si su conocimiento es básico o nulo con respecto a este servicio, recomendamos leer el siguiente artículo donde explicamos todo con con detalle: Integración API
Si ya tienes la plataforma para integrar con la nuestra y necesitas hacer unas pruebas, este artículo es para ti, ya que iremos con cada uno de las consultas, viendo qué información es la que se debe enviar y qué pueden recibir.
Para empezar, recordamos que todas las consultas deben tener la siguiente URL:
https://workera.com/apiClient/v1/{servicio}, donde el servicio se reemplaza con alguna de las opciones que vamos a describir
Recomendaciones y limitaciones
- Es indispensable que uses los valores de API_USER y API_KEY para utilizar el servicio, ya que es lo que garantiza la seguridad en la transmisión de la información.
● La cuenta de Workera debe encontrarse activa y con una suscripción vigente.
● Se recomienda fuertemente utiliza los valores de Parámetros y Cuerpo de acuerdo al manual.
● El formato utilizado para API Rest (en este ejemplo de Postman) es JSON.
● Los códigos indicados en Parámetros y Cuerpo deben ser ingresados de la misma forma que se encuentran registrados en el sistema, incluyendo la utilización de mayúsculas y/o minúsculas. Estos códigos pueden ser: Código ficha del trabajador, código de la sucursal y/o departamento, código del turno, código del tipo de salida especial, etc.
Servicios relacionados a trabajadores
/employee - GET
Este servicio permite extraer el listado de trabajadores completos (activos, inactivos) según los parámetros de búsqueda. Es importante recalcar que siempre se debe ingresar un departamento y una sucursal para que la búsqueda ofrezca resultado.
Parámetros:
Atributo | Tipo/Formato | Descripción | Requerido | Ejemplo |
branchOffice | String | Código de la Sucursal | Sí | MATRIZ |
department | String | Código del Departamento | Sí | INICIAL |
employees | String | Código Ficha del trabajador. Pueden ser varios códigos separados por comas sin espacios | No | 12345678,11111111 |
page | Integer | Página actual de búsqueda. Por defecto, es uno (1) | No | 1 |
Parámetros en Postman:
URL de ejemplo con todos los datos ingresados:
GET - https://workera.com/apiClient/v1/employee?page=1&branchOffice=ARI01&department=D001&employees=90000028,90000018
Respuesta
Atributo | Formato | Descripción |
page | Integer | Página actual |
totalPages | Integer | Total de páginas |
pageResult | Integer | Número de resultados en la página actual |
totalResult | Integer | Número total de resultados |
data | Array <EmployeeFullData> | Lista de elementos dentro del perfil de empleado |
{
"page": 1,
"totalPages": 2,
"pageResult": 10,
"totalResult": 18,
"data": [Array<EmployeeFullData>
]
}
El EmployeeFullData sería la información que se saca del perfil del empleado. A continuación describiremos cada dato extraído
Atributo | Formato | Descripción |
Code |
String | Código ficha único del trabajador. Se usa para identificarlo en los servicios API |
deviceCode | Integer | Código en el reloj. Generalmente el RUT sin dígito verificador |
identification | String | RUT o Pasaporte |
name | String | Primer nombre |
secondName | String | Segundo nombre |
lastName | String |
Apellido Paterno |
SecondLastName | String | Apellido Materno |
branchOfficeCode | String | Código de la sucursal asociada |
branchOfficeName | String | Nombre de dicha sucursal |
departmentCode | String | Código del departamento asociado |
departmentName | String | Nombre de dicho departamento |
employeeStatus | String |
Estado del trabajador:
|
genre | String |
Género del trabajador:
|
birthDate |
date |
Fecha de nacimiento en formato yyyy-MM-dd |
civilStatus | String |
Estado Civil
|
adress | String | Dirección personal registrada |
personalPhone | Long | Teléfono personal |
personalMail | String | Correo electrónico personal |
corporatePhone |
Long | Teléfono corporativo si existe |
corporateMail | String | Correo electrónico corporativo si existe |
favorite | Boolean | Si es, o no, un empleado destacado en la plataforma |
comment | String | Comentario adicional en el perfil |
El resultado de cada trabajador que coincida con los parámetros de búsqueda quedaría así:
{
"code": "90000017",
"deviceCode": 90000017,
"identification": "90.000.017-0",
"name": "YOKASTA",
"secondName": "ROSARIO",
"lastName": "COLMENARES",
"secondLastName": "MOTA",
"branchOfficeCode": "IQ01",
"branchOfficeName": "Iquique",
"departmentCode": "INICIAL",
"departmentName": "Departamento Inicial",
"employeeStatus": "ACTIVO",
"genre": "NO_ESPECIFICA",
"birthDate": "1996-05-02",
"civilStatus": "SOLTERO",
"address": "Curicó N° 232",
"personalPhone": 111111111,
"personalMail": "trabajador17@workera.com",
"corporateMail": "",
"corporatePhone": null,
"favorite": false,
"comment": ""
}
/employee - PUT
Este servicio permite modificar información de un perfil de trabajador en específico. Hay datos que se pueden modificar, otros que no, y hay datos que son obligatorios agregar, incluso cuando son los que se quieren cambiar.
A diferencia del GET, como buscamos cargar información usando PUT, este comando no tiene parámetros, y tiene que ir con un cuerpo o BODY que contenga los cambios.
URL de ejemplo para enviar los datos:
PUT - https://workera.com/apiClient/v1/employee
Cuerpo del mensaje (BODY) en formato JSON:
Hay atributos que solo se pueden llenar con alguno de las opciones desplegadas en el listado. Hay otros valores que si no se llenan, se dejan como "null," y por ende se borrarán en Workera si se dejan vacíos. La sucursal y departamento siempre van en los datos, y el código a usar debe existir en la plataforma antes de enviar el JSON.
Si no se cumple con esto, es posible que le genere un error, bien sea antes de subir los datos o ya en la plataforma, por lo que se recomienda estar pendiente de la información que se suben.
Atributo | Formato | Descripción | Información |
code | String | Código de ficha actual del trabajador | Requerido |
newCode | String | Nuevo código | Opcional. Máx: 255 |
branchOfficeCode | String | Código sucursal | Requerido |
departmentCode | String | Código departamento | Requerido |
genre | String |
Género:
|
Requerido. Valor igual a uno del listado |
birthDate |
date |
Fecha de nacimiento en el formato yyyy-MM-dd | Opcional. Null si vacío |
civilStatus | String |
Estado civil: - SOLTERO - CASADO - VIUDO - SEPARADO -NO_ESPECIFICA |
Requerido. Valor igual a uno del listado |
address | String | Dirección personal | Opcional. Null si vacío. Máx: 200 |
personalPhone | Long | Teléfono personal | Opcional. Null si vacío. Máx: 9. Solo números |
corporateMail | String | Correo electrónico corporativo | Opcional. Null si vacío. Máx: 100 |
corporatePhone | Long | Teléfono corporativo | Opcional. Null si vacío. Máx: 9. Solo números |
favorite | boolean | Destacar en Workera | true ó false |
comment | String | Comentario adicional | Opcional. Null si vacío. Máx: 255 |
Entonces, tenemos que el body se ve de esta manera:
{
"code": "90000017",
"newCode": "90000017",
"branchOfficeCode": "MATRIZ",
"departmentCode": "INICIAL",
"genre": "FEMENINO",
"birthDate": "1996-05-02",
"civilStatus": "SOLTERO",
"address": "Curicó N° 232",
"personalPhone": 111111111,
"corporateMail": "",
"corporatePhone": null,
"favorite": false,
"comment": ""
}
Servicios referentes a Marcaciones
/attendanceData - GET
Este servicio permite la búsqueda de la información de los registros de asistencia de los trabajadores. Entre los parámetros que se pueden ingresar está el día de inicio, el día de término, sucursal y departamento. Esta búsqueda incluye marcaciones activas e inactivas. A diferencia de las otras búsquedas, esta ofrece 20 resultados por página.
NOTA: Debido a la densidad de las marcas, es posible que tome varios minutos recolectar los datos, por lo que se recomienda hacer pruebas con periodos cortos de tiempo si su ambiente de pruebas considera sin respuesta después de 30 segundos de la solicitud.
Parámetros:
Atributo | Formato | Descripción | Requerido | Ejemplo |
start |
Date |
Fecha de inicio de búsqueda en formato yyyy-MM-dd | Sí | 2025-05-25 |
end | Date | Fecha de término de búsqueda en yyyy-MM-dd | Sí | 2025-06-25 |
branchOffice | String | Código de la sucursal | No | S1 |
department | String | Código del departamento | No | D1 |
employees | String | Código de ficha del empleado. Pueden ser varios separador por comas sin espacios | No | 12345678,22222222 |
page | Integer | Página actual de búsqueda. Por defecto es 1 | Sí | 1 |
Parámetros en Postman:
URL de ejemplo:
GET - https://workera.com/apiClient/v1/attendanceData?start=2025-08-10&end=2025-08-31&branchOffice=S1&department=D1&employees=12345678,22222222&page=1
Respuesta:
Atributo | Formato | Descripción |
page | Integer | Página actual |
totalPages | Integer | Total de páginas |
pageResult | Integer | Número de resultados en la página actual |
totalResult | Integer | Número total de resultados |
data | Array <AttendanceData> | Lista de elementos dentro del perfil de empleado |
{
"page": 1,
"totalPages": 1,
"pageResult": 12,
"totalResult": 12,
"data": [Array <AttendanceData>]
}
El AttendanceData es la información de todas las marcaciones, y esta la podemos dividir en 2 partes, la información específicamente de la marca, y la información específica del trabajador asociado.
Datos de la marcación (AttendanceData)
Atributo | Formato | Descripción |
employee | EmployeeData | Información del trabajador |
attendanceDate | Date | Fecha y hora del registro en formato yyyy-MM-dd’T’HH:mm:ss |
attTypeInDevice | Integer |
Tipo de registro
|
attendanceStatus | String |
Estado del registro:
|
origin | String |
Origen del registro de asistencia:
|
address | String | Dirección asociada a la marca: Para registros móviles, será la dirección en la que se marcó usando el GPS. Para registros en el dispositivo, tendrá la dirección de la sucursal del reloj. Para registros en la página web, tendrá la IP pública correspondiente |
deviceName | String | Nombre del dispositivo biométrico |
checksum | String | Código Hash asociado al dispositivo |
Datos del Trabajador (EmployeeData)
Atributo | Formato | Descripción |
code | String | Código de ficha actual del trabajador |
deviceCode | Código del trabajador en reloj | |
identification | String | Identificación (RUT, pasaporte) del trabajador |
name | String | Primer y segundo nombre del trabajador |
lastName | String | Apellido paterno y materno del trabajador |
branchOffice | String | Nombre de la Sucursal |
department | String | Nombre del Departamento |
employeeStatus | String |
Estado del trabajador:
|
companyIdentification | String | RUT de la compañía asociada |
companyName | String | Razón social de la compañía asociada |
Ejemplo de la consulta
{
"page": 1,
"totalPages": 1,
"pageResult": 12,
"totalResult": 12,
"data": [
{
"employee": {
"code": "90000028",
"deviceCode": 90000028,
"identification": "90.000.028-6",
"name": "ALEXANDER FERNANDO",
"lastName": "CORRALES RIVAS",
"branchOffice": "Arica",
"department": "RRHH",
"employeeStatus": "Activo",
"companyIdentification": "24.104.527-7",
"companyName": "DEMO WORKERA.COM"
},
"attendanceDate": "2025-08-26T08:26:00",
"attendanceType": 0,
"attendanceStatus": "Activo",
"origin": "Sistema",
"address": "",
"deviceName": "SISTEMA",
"checksum": "4AB62987"
},
{
"employee": {
"code": "12345678",
"deviceCode": 12345678,
"identification": "12.345.678-K",
"name": "ERICK ALEXANDER",
"lastName": "RIVAS CORRALES",
"branchOffice": "Arica",
"department": "Departamento Inicial",
"employeeStatus": "Activo",
"companyIdentification": "24.104.527-7",
"companyName": "DEMO WORKERA.COM"
},
"attendanceDate": "2025-08-26T09:39:56",
"attendanceType": 0,
"attendanceStatus": "Activo",
"origin": "Dispositivo móvil",
"address": "Calle Félix de Amesti 40, Las Condes, Región Metropolitana de Santiago",
"deviceName": "iOS",
"checksum": "FC761B4F"
},...
]
}
Servicios relacionados a Salidas especiales (Permisos)
/permission - GET
Este servicio trae el listado de salidas que estén asignadas a uno o más trabajadores, según los parámetros de búsqueda. Al igual que las marcaciones, el resultado se entrega en páginas de 20.
NOTA: al igual que con las marcas, estas pueden tomar varios minutos en generarse. Se recomienda tomar periodos cortos en su entorno de pruebas si se considera fallido después de 30 segundos sin respuesta.
Parámetros:
Atributo | Formato | Descripción | Requerido | Ejemplo |
start |
Date |
Fecha de inicio de búsqueda en formato yyyy-MM-dd | Sí | 2025-05-25 |
end | Date | Fecha de término de búsqueda en yyyy-MM-dd | Sí | 2025-06-25 |
branchOffice | String | Código de la sucursal | Sí | S1 |
department | String | Código del departamento | Sí | D1 |
employees | String | Código de ficha del empleado. Pueden ser varios separador por comas sin espacios | No | 12345678,22222222 |
page | Integer | Página actual de búsqueda. Por defecto es 1 | Sí | 1 |
Parámetros en Postman:
URL de ejemplo:
https://workera.com/apiClient/v1/permission?start=2025-09-01&end=2025-09-08&branchOffice=S1&department=D1&employees=12345678,22222222&page=1
Respuesta:
Atributo | Formato | Descripción |
page | Integer | Página actual |
totalPages | Integer | Total de páginas |
pageResult | Integer | Número de resultados en la página actual |
totalResult | Integer | Número total de resultados |
data | Array <Permission> | Lista de elementos dentro del perfil de empleado |
{
"page": 1,
"totalPages": 1,
"pageResult": 1,
"totalResult": 1,
"data": [Array <Permission>]
}
El Permission es la información sobre todos los permisos que apliquen a la búsqueda. Este viene en 2 partes, una es la información sobre el permiso como tal y el otro es sobre el permiso que esa persona tiene asignado
Permisos (Permission)
Atributo | Formato | Descripción |
id | Integer | Identificador de la salida especial. Se usa para modificar y eliminar asignaciones |
employee | EmployeeData | Información del trabajador |
start | Date |
Fecha y hora de inicio del permiso en formato: yyyy-MM-dd’T’HH:mm:ss |
end | Date |
Fecha y hora de término en formato: yyyy-MM-dd’T’HH:mm:ss |
PermissionCode | String | Código del Permiso |
PermissionName | String | Nombre del Permiso |
permissionType | String |
Tipo de salida:
|
comment | String | Descripción del permiso. Null si no hay información |
Datos de empleado (EmployeeData)
Atributo | Formato | Descripción |
code | String | Código de ficha actual del trabajador |
deviceCode | Código del trabajador en reloj | |
identification | String | Identificación (RUT, pasaporte) del trabajador |
name | String | Primer y segundo nombre del trabajador |
lastName | String | Apellido paterno y materno del trabajador |
branchOffice | String | Nombre de la Sucursal |
department | String | Nombre del Departamento |
employeeStatus | String |
Estado del trabajador:
|
companyIdentification | String | RUT de la compañía asociada |
companyName | String | Razón social de la compañía asociada |
Ejemplo de consulta:
{
"id": 1607590,
"employee": {
"code": "90000028",
"deviceCode": 90000028,
"identification": "90.000.028-6",
"name": "ALEXANDER FERNANDO",
"lastName": "CORRALES RIVAS",
"branchOffice": "Arica",
"department": "RRHH",
"employeeStatus": "ACTIVO",
"companyIdentification": "24.104.527-7",
"companyName": "DEMO WORKERA.COM"
},
"start": "2025-09-04T00:00:00",
"end": "2025-09-04T23:59:59",
"permissionCode": "PV01",
"permissionName": "Permiso votacion",
"permissionType": "TRABAJADO_EN_HORARIO",
"comment": null
}
/permission - POST
Este servicio permite hacer la asignación de permisos especiales a un trabajador o a un grupo de trabajadores usando las APIs. Para que este post funcione correctamente, se deben cumplir ciertos requerimientos:
- Los permisos especiales a usar deben tener todos un código asignado, ya que es el dato que usaremos para identificarlos. Puedes revisar en este artículo dónde ver esos datos. Adicionalmente, puede usarte el API GET /permissionTypes para obtener la lista en tu plataforma.
- En el periodo que están haciendo la asignación, ninguno de los trabajadores afectados pueden tener un permiso asignado. En caso contrario, arrojará un error de código 400.
- Se debe asignar la fecha y la hora según el formato del inicio y término del permiso. Para las licencias y las vacaciones, la hora inicial debe ser 00:00:00 y el término 23:59:59.
- Como se suben datos a la plataforma, este servicio no necesita parámetros aparte de la URL, y debe tener un cuerpo (BODY) donde se almacenen los datos
Sabiendo esto, empecemos a describir el servicio.
Cuerpo del mensaje (BODY) en formato JSON:
Atributo | Formato | Descripción |
employeeCode | String | Código de ficha único del trabajador |
permissionCode | String | Código del permiso especial a asignar |
start | Date |
Inicio del permiso en formato: yyyy-MM-dd'T'HH:mm:ss |
end | Date |
Término del permiso en formato: yyyy-MM-dd'T'HH:mm:ss |
comment | String | Comentario o descripción del permiso |
URL de ejemplo:
POST - https://workera.com/apiClient/v1/permission
BODY en Postman
{
"employeeCode": "12345678",
"permissionCode": "Festi",
"start": "2025-09-01T08:00:00",
"end": "2025-09-02T18:00:00",
"comment": null
}
Resultado:
En el caso de que post tenga éxito en crear el permiso especial, recibirán el código 200, y entregará la información de asignación:
{
"id": 1629437,
"employee": {
"code": "12345678",
"deviceCode": 12345678,
"identification": "12.345.678-K",
"name": "ERICK ALEXANDER",
"lastName": "RIVAS CORRALES",
"branchOffice": "Arica",
"department": "Departamento Inicial",
"employeeStatus": "ACTIVO",
"companyIdentification": "24.104.527-7",
"companyName": "DEMO WORKERA.COM"
},
"start": "2025-09-01T08:00:00",
"end": "2025-09-02T18:00:00",
"permissionCode": "Festi",
"permissionName": "Festividades",
"permissionType": "TRABAJADO_EN_HORARIO",
"comment": null
}
Si el servicio no se completó por algún motivo, emitirá un error con el código 400 (si es un problema de validación o Bad Request), 500 (si es un error interno del servidor), o cualquiera de los siguientes:
Atributo | Formato | Descripción |
result | String |
Tipo de resultado:
|
messages | Array<String> | Información de error. Puede existir 1 o más mensajes de error |
Ejemplos del resultado erróneo
{
"result": "ADVERTENCIA",
"messages": [
"Trabajador no encontrado"
]
}
{
"result": "ADVERTENCIA",
"messages": [
"Tipo salida especial no encontrado"
]
}
{
"result": "ADVERTENCIA",
"messages": [
"Salida especial registrada dentro del periodo: 1629437 - 2025-09-01T08:00:00 - 2025-09-02T18:00:00"
]
}
/permission/${id} - DELETE
Este servicio permite realizar la eliminación o desasignación de un permiso especial. Para esto, se deben cumplir algunas condiciones:
- Se tiene que conocer el ID único del permiso especial. Se puede saber con el servicio de GET - /permission.
- Solo se pueden eliminar las asignaciones que no se hayan creado por justificaciones o solicitudes de parte del trabajador
Variable de URL:
Atributo | Formato | Descripción |
id | integer | Identificador de la asignación de la salida especial |
URL de ejemplo:
DELETE - https://workera.com/apiClient/v1/permission/1629437
Resultado:
En el caso de que se complete el comando correctamente, emitirá un código 200 y se procederá a quitar la asignación. En caso contrario, se puede emitir un error de código 400 (error de validación o Bad Request), 500 (error interno de sistema), o alguno de estos errores:
Atributo | Formato | Descripción |
result | String |
Tipo de resultado:
|
messages | Array<String> | Información adicional del resultado |
Ejemplo de resultado correcto:
{
"result": "CORRECTO",
"messages": [
"Salida especial eliminada correctamente"
]
}
Ejemplo de resultado con errores:
{
"result": "ERROR",
"messages": [
"Salida especial no encontrada"
]
}
/permissionType - GET
Este servicio permite sacar un listado completo de todos los Tipos de Permisos creados en el sistema. El único parámetro necesario para este servicio es la página.
Parámetros:
Atributo | Formato | Descripción | Requerido | Ejemplo |
page | Integer | Número de página (Por defecto, es 1) | Sí | 1 |
Parámetro en Postman
URL de ejemplo:
GET https://workera.com/apiClient/v1/permissionTypes?page=1
Resultado:
Si todo se envía correctamente, entregará el listado de todos los tipos de turnos creados que se pueden asignar con su información completa. El listado mostrará 20 resultados por página.
Paginación (Data)
Atributo | Formato | Descripción |
data | Array<PermissionType> | Listado de elementos |
page | Integer | Página actual |
pageResult | Integer | Cantidad de elementos de página actual |
totalResult | Integer | Cantidad de elementos totales |
totalPages | Integer | Número de páginas totales |
Tipos de permiso (PermissionType)
Atributo | Formato | Descripción |
name | String | Nombre del tipo de permiso |
description | String | Descripción del tipo de permiso |
type | String | Tipo del Permiso |
code | String | Código único del permiso |
Ejemplo de resultado:
{
"data": [
{
"name": "Salida a terreno",
"description": "Salida especial para ser utilizada como salida a terreno (cuenta como trabajado)",
"type": "TRABAJADO",
"code": null
},
{
"name": "Trabajo en horario",
"description": "Salida especial para ser utilizada como trabajado en horario (cuenta como trabajado dentro del rango de horario",
"type": "TRABAJADO_EN_HORARIO",
"code": "TEH"
}
],
"page": 1,
"pageResult": 20,
"totalResult": 27,
"totalPages": 2
}
Servicios relacionados a Turnos
/workshift/assign - GET
Este servicio obtiene un listado de los turnos que tienen asignados uno o más trabajadores según los parámetros de búsqueda.
Atributo | Formato | Descripción | Requerido | Ejemplo |
start |
Date |
Fecha de inicio de búsqueda en formato yyyy-MM-dd | Sí | 2025-05-25 |
end | Date | Fecha de término de búsqueda en yyyy-MM-dd | Sí | 2025-06-25 |
branchOffice | String | Código de la sucursal | Sí | S1 |
department | String | Código del departamento | Sí | D1 |
employees | String | Código de ficha del empleado. Pueden ser varios separador por comas sin espacios | No | 12345678,22222222 |
page | Integer | Página actual de búsqueda. Por defecto es 1 | Sí | 1 |
Parámetros en Postman:
URL de ejemplo:
https://workera.com/apiClient/v1/workshift/assign?start=2025-09-01&end=2025-09-08&branchOffice=S1&department=D1&employees=12345678,22222222&page=1
Respuesta:
El resultado contiene 3 secciones. La primera es la paginación, la segunda contiene la información de la asignación del turno, mientras que la última contiene la información del trabajador que tiene esta asignación. Con esto, vamos a describir cada una de estas secciones:
Resultado:
Atributo | Formato | Descripción |
page | Integer | Página actual |
totalPages | Integer | Total de páginas |
pageResult | Integer | Número de resultados en la página actual |
totalResult | Integer | Número total de resultados |
data | Array <EmployeeWorkshiftAssign> | Lista de elementos dentro del perfil de empleado |
EmployeeWorkshiftAssign
Atributo | Formato | Descripción |
id | Integer | Identificador único de la asignación. Se usa para modificar o desasignar un turno |
employee | EmployeeData | Sección de información del trabajador |
start | Date |
Inicio de la asignación del turno en formato yyyy-MM-dd |
end | Date |
Término de la asignación del turno en formato yyyy-MM-dd |
workshiftCode | String | Código único del turno |
workshiftName | String | Nombre del turno |
flexible | Boolean |
Indica si es flexible
|
period | String |
Periodo o tipo del turno
|
extension | Integer | Extensión o repeticiones del periodo |
EmployeeData
Atributo | Formato | Descripción |
code | String | Código de ficha actual del trabajador |
deviceCode | Código del trabajador en reloj | |
identification | String | Identificación (RUT, pasaporte) del trabajador |
name | String | Primer y segundo nombre del trabajador |
lastName | String | Apellido paterno y materno del trabajador |
branchOffice | String | Nombre de la Sucursal |
department | String | Nombre del Departamento |
employeeStatus | String |
Estado del trabajador:
|
companyIdentification | String | RUT de la compañía asociada |
companyName | String | Razón social de la compañía asociada |
Ejemplo del resultado:
{
"page": 1,
"totalPages": 1,
"pageResult": 1,
"totalResult": 1,
"data": [
{
"id": 3603070,
"employee": {
"code": "12345678",
"deviceCode": 12345678,
"identification": "12.345.678-K",
"name": "ERICK ALEXANDER",
"lastName": "RIVAS CORRALES",
"branchOffice": "Arica",
"department": "Departamento Inicial",
"employeeStatus": "ACTIVO",
"companyIdentification": "24.104.527-7",
"companyName": "DEMO WORKERA.COM"
},
"start": "2025-09-01",
"end": "2025-09-07",
"workshiftCode": "TMC02",
"workshiftName": "Turno Masterclass",
"flexible": false,
"period": "SEMANAL",
"extension": 2
}
]
}
/workshift/schedules - GET
Obtiene listado por trabajador de los horarios que tienen asignados según el parámetro de búsqueda ingresado. La paginación es de 10 resultados por página. Solo entregará la información de los días que efectivamente tenga un horario asignado. Es decir, se omitirá los días libres. Es bueno recordar que el periodo buscado no puede superar los 60 días, y que esta API no aplica para turnos inteligentes asignados.
Parámetros:
Atributo | Formato | Descripción | Requerido | Ejemplo |
start |
Date |
Fecha de inicio de búsqueda en formato yyyy-MM-dd | Sí | 2025-05-25 |
end | Date | Fecha de término de búsqueda en yyyy-MM-dd | Sí | 2025-06-25 |
branchOffice | String | Código de la sucursal | Sí | S1 |
department | String | Código del departamento | Sí | D1 |
employees | String | Código de ficha del empleado. Pueden ser varios separador por comas sin espacios | No | 12345678,22222222 |
page | Integer | Página actual de búsqueda. Por defecto es 1 | Sí | 1 |
Parámetros en Postman
URL de Ejemplo:
https://workera.com/apiClient/v1/workshift/schedules?start=2025-09-01&end=2025-09-07&branchOffice=S1&department=D1&employees=12345678,22222222&page=1
Respuesta:
La información en la lista tendrá 3 secciones: la primera, es la paginación de la búsqueda, luego la información del trabajador, y por último, los datos de los horarios asignados.
Resultado:
Atributo | Formato | Descripción |
page | Integer | Página actual |
totalPages | Integer | Total de páginas |
pageResult | Integer | Número de resultados en la página actual |
totalResult | Integer | Número total de resultados |
data | Array <EmployeeWorkShiftData> | Lista de elementos dentro del perfil de empleado |
EmployeeWorkShiftData
Atributo | Formato | Descripción |
employee | EmployeeData | Contiene la información del trabajador |
schedules | Array<WorkShiftSchedule> | Listado de los horarios |
EmployeeData
Atributo | Formato | Descripción |
code | String | Código de ficha actual del trabajador |
deviceCode | Código del trabajador en reloj | |
identification | String | Identificación (RUT, pasaporte) del trabajador |
name | String | Primer y segundo nombre del trabajador |
lastName | String | Apellido paterno y materno del trabajador |
branchOffice | String | Nombre de la Sucursal |
department | String | Nombre del Departamento |
employeeStatus | String |
Estado del trabajador:
|
companyIdentification | String | RUT de la compañía asociada |
companyName | String | Razón social de la compañía asociada |
WorkShiftSchedule
Atributo | Formato | Descripción |
workshiftCode | String | Código del turno asignado |
date | Date | Fecha en que está el horario (Si es de 2 días, fecha en que se contabiliza) en yyyy-MM-dd |
workshiftName | String | Nombre del turno asignado |
workshiftStart | Date |
Inicio del turno asignado en formato yyyy-MM-dd |
workshiftEnd | Date | Término del turno asignado en formato yyyy-MM-dd |
scheduleName | String | Nombre del horario |
start | Date | Fecha y hora de entrada en el horario, este en formato yyyy-MM-dd'T'HH:mm:ss |
end | Date | Fecha y hora de salida en el horario, este en formato yyyy-MM-dd'T'HH:mm:ss |
Ejemplo de respuesta:
{
"page": 1,
"totalPages": 1,
"pageResult": 1,
"totalResult": 1,
"data": [
{
"employee": {
"code": "12345678",
"deviceCode": 12345678,
"identification": "12.345.678-K",
"name": "ERICK ALEXANDER",
"lastName": "RIVAS CORRALES",
"branchOffice": "Arica",
"department": "Departamento Inicial",
"employeeStatus": "ACTIVO",
"companyIdentification": "24.104.527-7",
"companyName": "DEMO WORKERA.COM"
},
"schedules": [
{
"workshiftCode": "TMC02",
"date": "2025-09-01",
"workshiftName": "Turno Masterclass",
"workshiftStart": "2025-09-01",
"workshiftEnd": "2025-09-07",
"scheduleName": "Horario Masterclass",
"start": "2025-09-01T08:30:00",
"end": "2025-09-01T18:30:00"
},
{
"workshiftCode": "TMC02",
"date": "2025-09-02",
"workshiftName": "Turno Masterclass",
"workshiftStart": "2025-09-01",
"workshiftEnd": "2025-09-07",
"scheduleName": "Horario Masterclass",
"start": "2025-09-02T08:30:00",
"end": "2025-09-02T18:30:00"
},
{
"workshiftCode": "TMC02",
"date": "2025-09-03",
"workshiftName": "Turno Masterclass",
"workshiftStart": "2025-09-01",
"workshiftEnd": "2025-09-07",
"scheduleName": "Horario Masterclass",
"start": "2025-09-03T08:30:00",
"end": "2025-09-03T18:30:00"
},
{
"workshiftCode": "TMC02",
"date": "2025-09-04",
"workshiftName": "Turno Masterclass",
"workshiftStart": "2025-09-01",
"workshiftEnd": "2025-09-07",
"scheduleName": "Horario Masterclass",
"start": "2025-09-04T08:30:00",
"end": "2025-09-04T18:30:00"
},
{
"workshiftCode": "TMC02",
"date": "2025-09-05",
"workshiftName": "Turno Masterclass",
"workshiftStart": "2025-09-01",
"workshiftEnd": "2025-09-07",
"scheduleName": "Horario Masterclass",
"start": "2025-09-05T08:30:00",
"end": "2025-09-05T18:30:00"
}
]
}
]
}
/workshift/assign - POST
Este servicio permite hacer la asignación de turnos a los trabajadores. Es importante que para este paso, tengamos los códigos de los turnos a usar. Para más información, puedes ver el siguiente artículo. Como estamos subiendo datos, este servicio no cuenta con parámetros, solo el cuerpo (BODY)
Cuerpo del mensaje (BODY) en formato JSON:
Atributo | Formato | Descripción |
employeeCode | String | Código ficha único del trabajador |
workshiftCode | String | Código del turno |
start | Date | Inicio del turno en formato yyyy-MM-dd |
end | Date | Término del turno en formato yyyy-MM-dd |
replace | Boolean | Determina si este tuno va a reemplazar alguno que esté asignado |
URL de ejemplo:
https://workera.com/apiClient/v1/workshift/assign
Body de ejemplo en Postman:
{
"employeeCode": "12345678",
"workshiftCode": "TWD2S",
"start": "2025-09-01",
"end": "2025-09-14",
"replace": true
}
Resultado:
En el caso de que la información se haya ejecutado correctamente, el servidor responderá código 200, junto con los datos de la asignación registrada. En caso contraria, emitirá error 400 (error de validación o Bad Request), 500 (Error interno del Servidor) o un error común. En el último caso, indicaría un mensaje del por qué.
Resultado correcto:
[
{
"id": 3651037,
"employee": {
"code": "12345678",
"deviceCode": 12345678,
"identification": "12.345.678-K",
"name": "ERICK ALEXANDER",
"lastName": "RIVAS CORRALES",
"branchOffice": "Arica",
"department": "Departamento Inicial",
"employeeStatus": "ACTIVO",
"companyIdentification": "24.104.527-7",
"companyName": "DEMO WORKERA.COM"
},
"start": "2025-09-01",
"end": "2025-09-14",
"workshiftCode": "TWD2S",
"workshiftName": "Turno Webinar de 2 Semanas",
"flexible": false,
"period": "SEMANAL",
"extension": 2
}
]
Resultado erróneo:
{
"result": "ADVERTENCIA",
"messages": [
"Turno ya registrado dentro del periodo: 3650889 - 2025-09-01 - 2025-09-14"
]
}
{
"result": "ADVERTENCIA",
"messages": [
"Turno no encontrado"
]
}
{
"result": "ADVERTENCIA",
"messages": [
"Trabajador no encontrado"
]
}
/workshift/assign/${id} - DELETE
Este servicio permite eliminar la asignación de un turno a un trabajador. Para esto, es necesario saber el ID de asignación, y este puede conocerse mediante el GET - /workshift/assign
Variable de URL:
Atributo | Formato | Descripción |
${id} | Integer | Identificador único de la asignación de turno |
URL de ejemplo:
DELETE https://workera.com/apiClient/v1/workshift/assign/3651037
Resultado:
En el caso de que se envíe bien la solicitud, el servidor responderá el código 200 con un corto mensaje de confirmación. En el caso contrario, emitirá error 400 (error de validación o Bad Request), 500 (Error interno del Servidor) o un error común. En el último caso, indicaría un mensaje del por qué.
Atributo | Formato | Descripción |
result | String |
Tipo de resultado:
|
messages | Array<String> | Información adicional del resultado |
Ejemplo de resultado correcto:
{
"result": "CORRECTO",
"messages": [
"Asignación de turno eliminada correctamente"
]
}
Ejemplo de resultado erróneo:
{
"result": "ERROR",
"messages": [
"Asignación de turno no encontrada"
]
}
Servicios relacionados con Autorización de Horas Extras
/overtimeAuthorization - GET
Este servicio muestra un listado de las horas extras que han sido autorizadas según los parámetros de búsqueda ingresados
Parámetros:
Atributo | Formato | Descripción | Requerido | Ejemplo |
start |
Date |
Fecha de inicio de búsqueda en formato yyyy-MM-dd | Sí | 2025-05-25 |
end | Date | Fecha de término de búsqueda en yyyy-MM-dd | Sí | 2025-06-25 |
branchOffice | String | Código de la sucursal | Sí | S1 |
department | String | Código del departamento | Sí | D1 |
employees | String | Código de ficha del empleado. Pueden ser varios separador por comas sin espacios | No | 12345678,22222222 |
page | Integer | Página actual de búsqueda. Por defecto es 1 | Sí | 1 |
Parámetros en Postman:
URL de ejemplo:
https://workera.com/apiClient/v1/overtimeAuthorization?start=2025-09-01&end=2025-09-07&branchOffice=S1&department=D1&employees=12345678&page=1
Resultado:
Este servicio emitirá un listado de todos los empleados que tengan horas autorizadas en el periodo consultado. El resultado se puede dividir en 3 secciones: la paginación, los datos del trabajador y los datos de la autorización como tal:
Resultado:
Atributo | Formato | Descripción |
page | Integer | Página actual |
totalPages | Integer | Total de páginas |
pageResult | Integer | Número de resultados en la página actual |
totalResult | Integer | Número total de resultados |
data | Array <OvertimeAuthData> | Lista de elementos dentro del perfil de empleado |
OvertimeAuthData
Atributo | Formato | Descripción |
employee | EmployeeData | Información del trabajador |
authDate | Date | Día de Autorización |
scheduleInAuthTime | Integer | Tiempo (en segundos) autorizado en la entrada. Se asigna al inicio de la jornada en base a horarios |
scheduleOutAuthTime | Integer | Tiempo (en segundos) autorizado en la salida. Se asigna al final de la jornada en base a horarios |
withoutScheduleAuthTime |
Integer | Tiempo (en segundos) autorizado en días sin jornada. Debe tener igual un turno en base a horarios para ejecutarse |
holidayExtraAuthTime | Integer | Tiempo (en segundos) para jornadas que cuentan tiempo extra en feriados |
comment | String | Comentario de asignación |
assigned | Boolean | Indica si la hora extra autorizada ya ha sido asignada en una jornada (la asignación a la jornada se efectúa al momento de realizar el cálculo de asistencia) |
EmployeeData
Atributo | Formato | Descripción |
code | String | Código de ficha actual del trabajador |
deviceCode | Código del trabajador en reloj | |
identification | String | Identificación (RUT, pasaporte) del trabajador |
name | String | Primer y segundo nombre del trabajador |
lastName | String | Apellido paterno y materno del trabajador |
branchOffice | String | Nombre de la Sucursal |
department | String | Nombre del Departamento |
employeeStatus | String |
Estado del trabajador:
|
companyIdentification | String | RUT de la compañía asociada |
companyName | String | Razón social de la compañía asociada |
Ejemplo de resultado:
{
"page": 1,
"totalPages": 1,
"pageResult": 7,
"totalResult": 7,
"data": [
{
"employee": {
"code": "12345678",
"deviceCode": 12345678,
"identification": "12.345.678-K",
"name": "ERICK ALEXANDER",
"lastName": "RIVAS CORRALES",
"branchOffice": "Arica",
"department": "Departamento Inicial",
"employeeStatus": "ACTIVO",
"companyIdentification": "24.104.527-7",
"companyName": "DEMO WORKERA.COM"
},
"authDate": "2025-09-01",
"scheduleInAuthTime": 1200,
"scheduleOutAuthTime": 6000,
"withoutScheduleAuthTime": 0,
"holidayExtraAuthTime": 0,
"comment": "",
"assigned": false
},
{
"employee": {
"code": "12345678",
"deviceCode": 12345678,
"identification": "12.345.678-K",
"name": "ERICK ALEXANDER",
"lastName": "RIVAS CORRALES",
"branchOffice": "Arica",
"department": "Departamento Inicial",
"employeeStatus": "ACTIVO",
"companyIdentification": "24.104.527-7",
"companyName": "DEMO WORKERA.COM"
},
"authDate": "2025-09-02",
"scheduleInAuthTime": 6000,
"scheduleOutAuthTime": 1200,
"withoutScheduleAuthTime": 0,
"holidayExtraAuthTime": 0,
"comment": "",
"assigned": false
},
{...}
]
}
/overtimeAutorization - POST
Este servicio realiza autorización de tiempo extra usando las APIs. Ya que estamos haciendo un POST, este servicio no tiene parámetros, pero se debe incluir un cuerpo (BODY) para que funcione. Para esto, se deben cumplir ciertas condiciones:
- Luego de realizar la asignación, es recomendable que realicen un cálculo de asistencia para verificar si la autorización fue asignada a una jornada. Por ejemplo, si en un día no hay jornada (bien sea por día libre o por falta de turno), no se considerará el tiempo extra autorizado.
- Si existen más de una jornada en un día, la autorización de tiempo extra se aplicará a todas las jornadas de ese día.
- La autorización de tiempo extra en general solo aplica para turnos en base a horarios (turno normal)
Sabiendo esto, veremos lo relacionado a la solicitud:
Cuerpo del mensaje (BODY) en formato JSON:
Atributo | Formato | Descripción |
employeeCode | String | Código ficha único del trabajador |
start | Date | Inicio del periodo de asignación de HHEE en formato yyyy-MM-dd |
end | Date | Término del periodo de asignación de HHEE en formato yyyy-MM-dd |
scheduleInAuthTime | Integer | Tiempo (en segundos) autorizado en la entrada. Se asigna al inicio de la jornada en base a horarios |
scheduleOutAuthTime | Integer | Tiempo (en segundos) autorizado en la salida. Se asigna al final de la jornada en base a horarios |
withoutScheduleAuthTime | Integer | Tiempo (en segundos) autorizado en días sin jornada. Debe tener igual un turno en base a horarios para ejecutarse |
holidayExtraAuthTime | Integer | Tiempo (en segundos) para jornadas que cuentan tiempo extra en feriados |
replace | Boolean | Indica si la hora extra autorizada ya ha sido asignada en una jornada (la asignación a la jornada se efectúa al momento de realizar el cálculo de asistencia) |
comment | String | Comentario de asignación |
URL de ejemplo:
POST https://workera.com/apiClient/v1/overtimeAuthorization
BODY de ejemplo en Postman
{
"employeeCode": "12345678",
"start": "2025-09-01",
"end": "2025-09-14",
"scheduleInAuthTime": 600,
"scheduleOutAuthTime": 2400,
"withoutScheduleAuthTime": 32400,
"holidayExtraAuthTime": 32400,
"replace": true,
"comment": "Autorización por Pacto",
}
Resultado:
En el caso de que todo se envíe correctamente, el servidor responde el código 200, y la información que se subió. En el caso contrario, emitirá error 400 (error de validación o Bad Request), 500 (Error interno del Servidor) o un error común. En el último caso, indicaría un mensaje del por qué.
Atributo | Formato | Descripción |
result | String |
Tipo de resultado:
|
messages | Array<String> | Información adicional del resultado |
Ejemplo de resultado correcto:
{
"employee": {
"code": "12345678",
"deviceCode": 12345678,
"identification": "12.345.678-K",
"name": "ERICK ALEXANDER",
"lastName": "RIVAS CORRALES",
"branchOffice": "Arica",
"department": "Departamento Inicial",
"employeeStatus": "ACTIVO",
"companyIdentification": "24.104.527-7",
"companyName": "DEMO WORKERA.COM"
},
"data": [
{
"authDate": "2025-09-01",
"scheduleInAuthTime": 3600,
"scheduleOutAuthTime": 3600,
"withoutScheduleAuthTime": 0,
"holidayExtraAuthTime": 0,
"comment": "Prueba",
"modified": true
},
{
"authDate": "2025-09-02",
"scheduleInAuthTime": 3600,
"scheduleOutAuthTime": 3600,
"withoutScheduleAuthTime": 0,
"holidayExtraAuthTime": 0,
"comment": "Prueba",
"modified": true
},
{
"authDate": "2025-09-03",
"scheduleInAuthTime": 3600,
"scheduleOutAuthTime": 3600,
"withoutScheduleAuthTime": 0,
"holidayExtraAuthTime": 0,
"comment": "Prueba",
"modified": true
},
{...}
]
}
Ejemplo de resultado erróneo:
{
"result": "ADVERTENCIA",
"messages": [
"Trabajador no encontrado"
]
}
Servicios relacionados con las sucursales
/branchOffice - GET
Este servicio permite consultar un listado de sucursales actualmente creados en la plataforma. Este listado incluye sucursales activas e inactivas.
Atributo | Formato | Descripción | Requerido | Ejemplo |
page | String | Número de la página a consultar | No | 1 |
Resultado:
La lista se entregará con dos secciones: La primera es la información de la paginación, mientras que la segunda parte tiene la información de las sucursales que se pueden ver en la plataforma
Atributo | Formato | Descripción |
page | Integer | Página actual |
totalPages | Integer | Total de páginas |
pageResult | Integer | Número de resultados en la página actual |
totalResult | Integer | Número total de resultados |
data | Array <BranchOffice> | Lista de elementos dentro del perfil de empleado |
BranchOffice
Atributo | Formato | Descripción |
id | Integer | Identificación único de la sucursal |
name | String | Nombre de la sucursal |
code | Integer | Código de la sucursal |
description | String | Descripción |
address | String | Dirección registrada en la Sucursal |
timezoneId | Integer | Zona Hora registrada |
timezoneName | String | Nombre de esa Zona Horaria |
status | String |
Estado de la sucursal:
|
defaultBranchoffice | Boolean | Indica si es la sucursal Matriz |
employeesCount | Integer | Cantidad de trabajadores asociados a dicha sección |
Resultado:
Lo que nos mostrará es un listado de todas las sucursales en dos secciones: la primera muestra la paginación, mientras que la segunda parte muestra las sucursales.
Ejemplo de resultado correcto:
{
"data": [
{
"id": 121,
"name": "Sucursal Matriz",
"code": "MATRIZ",
"description": null,
"address": "Av. Apoquindo 4501",
"timezoneId": 25,
"timezoneName": "(UTC-03:00) Santiago",
"status": "ACTIVO",
"defaultBranchOffice": true,
"employeesCount": 3
},
{
"id": 2081,
"name": "Arica",
"code": "ARI01",
"description": "",
"address": "Arica",
"timezoneId": 25,
"timezoneName": "(UTC-03:00) Santiago",
"status": "ACTIVO",
"defaultBranchOffice": false,
"employeesCount": 12
},...
],
"page": 1,
"totalPages": 1,
"pageResult": 5,
"totalResult": 5
}
/branchOffice/{id}
Este servicio permite llamar la información de una sucursal en específico. Para poder usar esto, se debe tener el id único con anterioridad.
Parámetros:
Atributo | Formato | Descripción | Requerido | Ejemplo |
id | Integer | Identificador único de la Sucursal | Sí | 200 |
URL de ejemplo:
GET https://workera.com/apiClient/v1/branchOffice/200
Resultado:
En el caso de que se haya enviado la información correctamente, recibirán un código 200 del servidor y los datos de la Sucursal. En caso contrario, emitirá error 400 (error de validación o Bad Request), 500 (Error interno del Servidor) o un error común. En el último caso, indicaría un mensaje del por qué.
Atributo | Formato | Descripción |
result | String |
Tipo de resultado:
|
messages | Array<String> | Información adicional del resultado |
Ejemplo de resultado correcto:
{
"id": 2081,
"name": "Arica",
"code": "ARI01",
"description": "",
"address": "Arica",
"timezoneId": 25,
"timezoneName": "(UTC-03:00) Santiago",
"status": "ACTIVO",
"defaultBranchOffice": false,
"employeesCount": 12
}
Ejemplo de resultado erróneo:
{
"result": "ERROR",
"messages": [
"Sucursal no encontrada"
]
}
/branchOffice - POST
Este servicio permite crear una nueva sucursal. Como estamos usando POST, no es necesario agregar parámetros, pero hay que agregar toda la información dentro del cuerpo (BODY) de la solicitud.
Cuerpo del mensaje (BODY) en formato JSON
Atributo | Formato | Descripción | Requerido | Ejemplo |
name | String | Nombre de la Sucursal | Sí | Talca |
code | String | Código único de la sucursal | Sí | TA01 |
description | String | Descripción en la sucursal | 2da Oficina | |
address | String | Dirección en la sucursal | Sí | O'Higgins 123 |
timezoneId | Integer | ID de Zona Horaria. Se puede buscar con API (25 es la de Santiago) | Sí | 25 |
URL de ejemplo:
POST https://workera.com/apiClient/v1/branchOffice
Body de ejemplo en Postman
{
"name": "Talca",
"code": "TA01",
"description": "Descripción de muestra",
"address": "Dirección de la Sucursal",
"timezoneId": 25
}
Resultado:
Si se envió correctamente, se envía el código 200 desde el servidor. En caso contrario, se emitirá error 400 (error de validación o Bad Request), 500 (Error interno del Servidor) o un error común. En el último caso, indicaría un mensaje del por qué.
Atributo | Formato | Descripción |
result | String |
Tipo de resultado:
|
messages | Array<String> | Información adicional del resultado |
Resultado correcto:
{
"result": "CORRECTO",
"messages": [
"Sucursal creada correctamente"
]
}
Resultado erróneo:
{
"result": "ERROR",
"messages": [
"El código ya se encuentra registrado en otro departamento."
]
}
/branchOffice - PUT
Este servicio permite modificar información de una sucursal ya existente en la plataforma. Para esto, vamos a necesitar el ID único de dicha sucursal; esta se puede conseguir usando la API GET /branchOffice. Como estamos enviando información, no hay parámetros, pero el cuerpo (BODY) debe contener los datos a actualizar.
Cuerpo del mensaje (BODY) en formato JSON:
Atributo | Formato | Descripción | Requerido | Ejemplo |
id | Integer | Identificador único registrado para la sucursal | Sí | 200 |
name | String | Nombre de la Sucursal | Sí | Talca |
code | String | Código único de la sucursal (plataforma) | Sí | TA01 |
description | String | Descripción de la sucursal | No | 2da Oficina |
address | String | Dirección en sucursal | Sí | O'Higgins 123 |
timezoneId | Integer | ID de la Zona horaria (Se obtiene con API. La de Santiago es 25) | Sí | 25 |
URL de ejemplo:
POST https://workera.com/apiClient/v1/branchOffice
Body de ejemplo en Postman:
{
"id": 33635,
"name": "Talca",
"code": "TA02",
"description": "Descripción modificada",
"address": "Dirección modificada",
"timezoneId": 25
}
Resultado:
Si la información se envió correctamente, recibirán del servidor el código 200. En caso contrario, se emitirá error 400 (error de validación o Bad Request), 500 (Error interno del Servidor) o un error común. En el último caso, indicaría un mensaje del por qué.
Atributo | Formato | Descripción |
result | String |
Tipo de resultado:
|
messages | Array<String> | Información adicional del resultado |
Resultado correcto:
{
"result": "CORRECTO",
"messages": [
"Sucursal actualizada correctamente"
]
}
Resultado erróneo:
{
"result": "ERROR",
"messages": [
"El código ya se encuentra registrado en otra sucursal."
]
}
/branchOffice/disable/{id} - PUT
Este servicio permite desactivar una sucursal. Con esta API, solo es posible desactivar sucursales que no tenga trabajadores asignados.
Atributo | Formato | Descripción | Requerido | Ejemplo |
id | Integer | Identificador único de la Sucursal | Sí | 200 |
URL de ejemplo:
PUT https://workera.com/apiClient/v1/branchOffice/disable/200
Resultado:
El sistema emitirá un código 200 si todo está correcto. En caso contrario, se emitirá error 400 (error de validación o Bad Request), 500 (Error interno del Servidor) o un error común. En el último caso, indicaría un mensaje del por qué.
Atributo | Formato | Descripción |
result | String |
Tipo de resultado:
|
messages | Array<String> | Información adicional del resultado |
Resultado correcto:
{
"result": "CORRECTO",
"messages": [
"Sucursal desactivada correctamente"
]
}
Resultado erróneo:
{
"result": "ADVERTENCIA",
"messages": [
"Sucursal ya se encuentra desactivada"
]
}
{
"result": "ERROR",
"messages": [
"Sucursal no puede ser inactivada porque tiene empleados"
]
}
/branchOffice/enable/{id} - PUT
Este servicio permite reactivar una sucursal con las API.
Atributo | Formato | Descripción | Requerido | Ejemplo |
id | Integer | Identificador único de la Sucursal | Sí | 200 |
URL de ejemplo:
PUT https://workera.com/apiClient/v1/branchOffice/enable/200
Resultado:
El sistema emitirá un código 200 si todo está correcto. En caso contrario, se emitirá error 400 (error de validación o Bad Request), 500 (Error interno del Servidor) o un error común. En el último caso, indicaría un mensaje del por qué.
Atributo | Formato | Descripción |
result | String |
Tipo de resultado:
|
messages | Array<String> | Información adicional del resultado |
Resultado correcto:
{
"result": "CORRECTO",
"messages": [
"Sucursal activada correctamente"
]
}
Resultado erróneo:
{
"result": "ADVERTENCIA",
"messages": [
"Sucursal ya se encuentra activada"
]
}
Solicitudes relacionadas con la Zona Horaria
/timezone - GET
Obtiene el listado de las zonas horarias.
URL a usar:
GET https://workera.com/apiClient/v1/timezone
Resultado:
[
{
"id": 1,
"name": "(UTC-12:00) Línea internacional de cambio de fecha",
"zoneDiff": -12
},
{
"id": 2,
"name": "(UTC-11:00) Hora universal coordinada-11",
"zoneDiff": -11
},
{
"id": 3,
"name": "(UTC-10:00) Hawai",
"zoneDiff": -10
},
{
"id": 4,
"name": "(UTC-09:00) Alaska",
"zoneDiff": -9
},...
]
NOTA: el id de la Zona Horaria de Santiago es 25, Magallanes es 101 e Isla de Pascua es 102.
Solicitudes relacionadas con los Departamentos
/department - GET
Este servicio permite consultar un listado de departamentos actualmente creados en la plataforma. Este listado incluye departamentos activos e inactivos.
Atributo | Formato | Descripción | Requerido | Ejemplo |
page | String | Número de la página a consultar | No | 1 |
Resultado:
La lista se entregará con dos secciones: La primera es la información de la paginación, mientras que la segunda parte tiene la información de los departamentos que se pueden ver en la plataforma
Atributo | Formato | Descripción |
page | Integer | Página actual |
totalPages | Integer | Total de páginas |
pageResult | Integer | Número de resultados en la página actual |
totalResult | Integer | Número total de resultados |
data | Array <department> | Lista de elementos |
department
Atributo | Formato | Descripción |
id | Integer | Identificación único del departamento |
name | String | Nombre del departamento |
code | Integer | Código del departamento |
description | String | Descripción |
status | String |
Estado de la sucursal:
|
defaultDepartment | Boolean | Indica si es la sucursal Matriz |
employeesCount | Integer | Cantidad de trabajadores asociados a dicha sección |
Resultado:
Lo que nos mostrará es un listado de todos los departamentos en dos secciones: la primera muestra la paginación, mientras que la segunda parte muestra los departamento.
Ejemplo de resultado correcto:
{
"data": [
{
"id": 184,
"name": "Departamento Inicial",
"code": "INICIAL",
"description": null,
"status": "ACTIVO",
"defaultDepartment": true,
"employeesCount": 25
},
{
"id": 187,
"name": "Coordinación",
"code": "COO01",
"description": "",
"status": "ACTIVO",
"defaultDepartment": false,
"employeesCount": 1
},...
],
"page": 1,
"totalPages": 1,
"pageResult": 5,
"totalResult": 5
}
/department/{id}
Este servicio permite llamar la información de un departamento en específico. Para poder usar esto, se debe tener el id único con anterioridad.
Parámetros:
Atributo | Formato | Descripción | Requerido | Ejemplo |
id | Integer | Identificador único de la departamento | Sí | 200 |
URL de ejemplo:
GET https://workera.com/apiClient/v1/department/200
Resultado:
En el caso de que se haya enviado la información correctamente, recibirán un código 200 del servidor y los datos del Departamento. En caso contrario, emitirá error 400 (error de validación o Bad Request), 500 (Error interno del Servidor) o un error común. En el último caso, indicaría un mensaje del por qué.
Atributo | Formato | Descripción |
result | String |
Tipo de resultado:
|
messages | Array<String> | Información adicional del resultado |
Ejemplo de resultado correcto:
{
"id": 189,
"name": "Servicio Técnico",
"code": "ST01",
"description": null,
"status": "ACTIVO",
"defaultDepartment": false,
"employeesCount": 0
}
Ejemplo de resultado erróneo:
{
"result": "ERROR",
"messages": [
"Departamento no encontrado"
]
}
/department - POST
Este servicio permite crear un nuevo departamento. Como estamos usando POST, no es necesario agregar parámetros, pero hay que agregar toda la información dentro del cuerpo (BODY) de la solicitud.
Cuerpo del mensaje (BODY) en formato JSON
Atributo | Formato | Descripción | Requerido | Ejemplo |
name | String | Nombre del departamento | Sí | Ventas |
code | String | Código único del departamento | Sí | VE01 |
description | String | Descripción en el departamento | 2da Oficina |
URL de ejemplo:
POST https://workera.com/apiClient/v1/department
Body de ejemplo en Postman
{
"name": "Ventas",
"code": "VE01",
"description": "Equipo de Ventas de la segunda oficina",
}
Resultado:
Si se envió correctamente, se envía el código 200 desde el servidor. En caso contrario, se emitirá error 400 (error de validación o Bad Request), 500 (Error interno del Servidor) o un error común. En el último caso, indicaría un mensaje del por qué.
Atributo | Formato | Descripción |
result | String |
Tipo de resultado:
|
messages | Array<String> | Información adicional del resultado |
Resultado correcto:
{
"result": "CORRECTO",
"messages": [
"Departamento creado correctamente"
]
}
Resultado erróneo:
{
"result": "ERROR",
"messages": [
"El código ya se encuentra registrado en otro departamento."
]
}
/department - PUT
Este servicio permite modificar información de un departamento ya existente en la plataforma. Para esto, vamos a necesitar el ID único de dicho departamento; esta se puede conseguir usando la API GET /department. Como estamos enviando información, no hay parámetros, pero el cuerpo (BODY) debe contener los datos a actualizar.
Cuerpo del mensaje (BODY) en formato JSON:
Atributo | Formato | Descripción | Requerido | Ejemplo |
id | Integer | Identificador único registrado para el departamento | Sí | 200 |
name | String | Nombre del departamento | Sí | Ventas |
code | String | Código único del departamento (plataforma) | Sí | VE01 |
description | String | Descripción del departamento | No | 2da Oficina |
URL de ejemplo:
POST https://workera.com/apiClient/v1/department
Body de ejemplo en Postman:
{
"id": 189,
"name": "Ventas 2",
"code": "VE02",
"description": "Descripción modificada",
}
Resultado:
Si la información se envió correctamente, recibirán del servidor el código 200. En caso contrario, se emitirá error 400 (error de validación o Bad Request), 500 (Error interno del Servidor) o un error común. En el último caso, indicaría un mensaje del por qué.
Atributo | Formato | Descripción |
result | String |
Tipo de resultado:
|
messages | Array<String> | Información adicional del resultado |
Resultado correcto:
{
"result": "CORRECTO",
"messages": [
"Departamento actualizado correctamente"
]
}
Resultado erróneo:
{
"result": "ERROR",
"messages": [
"El código ya se encuentra registrado en otro departamento."
]
}
/department/disable/{id} - PUT
Este servicio permite desactivar un departamento. Con esta API, solo es posible desactivar departamentos que no tenga trabajadores asignados.
Atributo | Formato | Descripción | Requerido | Ejemplo |
id | Integer | Identificador único de la Sucursal | Sí | 200 |
URL de ejemplo:
PUT https://workera.com/apiClient/v1/department/disable/200
Resultado:
El sistema emitirá un código 200 si todo está correcto. En caso contrario, se emitirá error 400 (error de validación o Bad Request), 500 (Error interno del Servidor) o un error común. En el último caso, indicaría un mensaje del por qué.
Atributo | Formato | Descripción |
result | String |
Tipo de resultado:
|
messages | Array<String> | Información adicional del resultado |
Resultado correcto:
{
"result": "CORRECTO",
"messages": [
"Departamento desactivado correctamente"
]
}
Resultado erróneo:
{
"result": "ADVERTENCIA",
"messages": [
"Departamento ya se encuentra desactivado"
]
}
{
"result": "ERROR",
"messages": [
"Departamento no puede ser inactivado porque tiene empleados"
]
}
/department/enable/{id} - PUT
Este servicio permite reactivar un departamento con las API.
Atributo | Formato | Descripción | Requerido | Ejemplo |
id | Integer | Identificador único de la Sucursal | Sí | 200 |
URL de ejemplo:
PUT https://workera.com/apiClient/v1/department/enable/200
Resultado:
El sistema emitirá un código 200 si todo está correcto. En caso contrario, se emitirá error 400 (error de validación o Bad Request), 500 (Error interno del Servidor) o un error común. En el último caso, indicaría un mensaje del por qué.
Atributo | Formato | Descripción |
result | String |
Tipo de resultado:
|
messages | Array<String> | Información adicional del resultado |
Resultado correcto:
{
"result": "CORRECTO",
"messages": [
"Departamento activado correctamente"
]
}
Resultado erróneo:
{
"result": "ADVERTENCIA",
"messages": [
"Departamento ya se encuentra activado"
]
}