Web Services Talana v20180902 PDF

API Web Services para Integración Talana – Documentación de Web Sevices Control de Versiones Fecha Autor Observacio

Views 52 Downloads 0 File size 352KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

API Web Services para Integración

Talana – Documentación de Web Sevices

Control de Versiones Fecha

Autor

Observaciones

20/04/2018

José Antonio Akel

Versión Inicial

25/04/2018

José Antonio Akel

Formatos de Serialización

4/05/2018

José Antonio Akel

Actualización de ausentismos

8/05/2018

José Antonio Akel

We Service Centralización Contable

11/05/2018

Maximiliano Opitz

Actualización servicios de persona, personaEmpresa y ausentismos

31/08/2018

Maximiliano Opitz

Se agrego es especificación del detalle de persona para la creación de persona

11/10/2018

José Antonio Akel

Servicios de Marcas de asistencia

12/10/2018

Sebastián Díaz

Servicio de Asignación de Items a Persona

19/10/2018

Sebastián Díaz

Servicio de creación de documentos para personas

15/11/2018

José Antonio Akel

Ejemplos de código

30/11/2018

Alexander Gonzalez

Servicios resumidos para contratos, ausencias, vacaciones y días administrativos

17/12/2018

Sebastián Díaz

Filtros para servicios de contratos

17/12/2018

José Antonio Akel

“empresa” como parámetro en los servicios

18/12/2018

Sebastián Díaz

Filtros empleado en vacaciones, ausentismo, días administrativos

21/12/2018

José Antonio Akel

Actualización de método de contratos resumidos

26/12/2018

Maximiliano Opitz

Se agrego un ejemplo de la inserción de marcas

26/12/2018

Sebastián Díaz

Filtros de empleados para vacaciones, ausentismos y contratos resumidos

27/12/2018

Maximiliano Opitz

Ejemplo del uso de los filtros en el servicio que devuelve las marcas

08/01/2018

Alexander Gonzalez

“rolPrivado” como parámetro en servicio contratos resumido

13/05/2019

Alexander Gonzalez

Servicios de firma digital y liquidaciones

26/8/2019

José Antonio Akel

Servicio de prorrateo por centro de costo

Sistemas de Gestión de Recursos Humanos | www.talana.com | Página 2 de 52

Talana – Documentación de Web Sevices

Tabla de Contenidos Antecedentes...................................................................................................................................... 6 Autenticación...................................................................................................................................... 7 Formatos de salida............................................................................................................................. 8 Filtros.................................................................................................................................................. 9 EndPoints........................................................................................................................................... 9 Empresas con acceso.................................................................................................................. 9 Persona...................................................................................................................................... 10 Contratos.................................................................................................................................... 13 Filtros.......................................................................................................................................... 18 Los siguientes parámetros pueden ser pasados por url para filtrar la lista de contratos:............18 modificado_desde (fecha formato “YYYY-MM-DD”): contratos creados o modificados superiores a la fecha.................................................................................................................................... 18 modificado_hasta (fecha formato “YYYY-MM-DD”): contratos creados o modificados inferiores a la fecha....................................................................................................................................... 18 Ejemplo:..................................................................................................................................... 18 https://talana.com/es/api/contratos/?modificado_desde=2018-10-25.........................................18 Contratos Resumido................................................................................................................... 19 Filtros aceptados:....................................................................................................................... 20 empleado (id del empleado): solo los contratos del empleado especificado...............................20 Vacaciones................................................................................................................................. 20 Filtros.......................................................................................................................................... 20 Los siguientes parámetros pueden ser pasados por url para filtrar la lista de contratos:............20 empleado (id del empleado): solo las vacaciones del empleado especificado............................21 Ejemplo:..................................................................................................................................... 21 https://talana/es/api/vacacionesSolicitud/?empleado=1..............................................................21 Vacaciones Resumido................................................................................................................ 22 Filtros.......................................................................................................................................... 22 Los siguientes parámetros pueden ser pasados por url para filtrar la lista de contratos:............22 empleado (id del empleado): solo las vacaciones del empleado especificado............................22 Ejemplo:..................................................................................................................................... 22 https://talana/es/api/vacations-resumed/?empleado=1...............................................................22 Sistemas de Gestión de Recursos Humanos | www.talana.com | Página 3 de 52

Talana – Documentación de Web Sevices

Ausentismo................................................................................................................................. 24 Filtros.......................................................................................................................................... 26 Los siguientes parámetros pueden ser pasados por url para filtrar la lista de contratos:............26 empleado (id del empleado): solo las ausencias del empleado especificado.............................26 Ejemplo:..................................................................................................................................... 26 https://talana/es/api/personaAusencia/?empleado=1.................................................................26 Ausentismo Resumido................................................................................................................ 27 Filtros.......................................................................................................................................... 27 Los siguientes parámetros pueden ser pasados por url para filtrar la lista de contratos:............27 empleado (id del empleado): solo las ausencias del empleado especificado.............................27 Ejemplo:..................................................................................................................................... 27 https://talana/es/api/absentism-resumed/?empleado=1..............................................................27 Prorrateo por Centro de Costo....................................................................................................28 Filtros aceptados:....................................................................................................................... 29 empleado (id del empleado): solo los contratos del empleado especificado...............................29 Centralización Contable.............................................................................................................. 30 Asignación de Items de pago......................................................................................................31 Creación de documentos par personas......................................................................................33 Días Administrativos................................................................................................................... 34 Filtros.......................................................................................................................................... 34 Los siguientes parámetros pueden ser pasados por url para filtrar la lista de contratos:............34 empleado (id del empleado): solo los días administrativos del empleado especificado..............34 Ejemplo:..................................................................................................................................... 34 https://talana/es/api/diaAdministrativoSolicitud/?empleado=1....................................................34 Días Administrativos Resumido..................................................................................................35 Enrrolamiento de firma digital.....................................................................................................36 Solicitudes de firma digital.......................................................................................................... 37 Turno.......................................................................................................................................... 38 Días de Turno Semanal.............................................................................................................. 39 Días de Turno Manual................................................................................................................ 40 Asignación de Personas a Turnos..............................................................................................41 Sistemas de Gestión de Recursos Humanos | www.talana.com | Página 4 de 52

Talana – Documentación de Web Sevices

Inyección (y visualización) de marcas........................................................................................42 Asignación de tarjetas a personas..............................................................................................43 Turnos y horarios asignados por Trabajador...............................................................................45 Otros Modelos............................................................................................................................ 46 Ejemplos de Código.......................................................................................................................... 48 Python........................................................................................................................................ 48 Java............................................................................................................................................ 49 PHP............................................................................................................................................ 52

Sistemas de Gestión de Recursos Humanos | www.talana.com | Página 5 de 52

Talana – Documentación de Web Sevices

Antecedentes Talana, dadas sus características como SaaS, no ofrece como opción la conexión directa a base de datos, que es el mecanismo que se utilizaba con el proveedor anterior. En su lugar, se utilizan Web Services REST, con mensajes serializados en formato Json, tanto para la lectura como para la escritura de objetos. El objetivo de este documento es entregar los antecedentes necesarios que permitan construir interfaces de integración entre sistemas de información de nuestros clientes y los web services de Talana.

Sistemas de Gestión de Recursos Humanos | www.talana.com | Página 6 de 52

Talana – Documentación de Web Sevices

Autenticación Los WebServices son servicios REST con los cuales se pueden gestionar las solicitudes de días libres para los empleados, ya sea para consultar, crear, modificar o eliminar datos. Esta información necesita estar estructurada en formato JSON y los métodos que permite son: •

Listar (GET)



Crear (POST)



Modificar (PUT / PATCH)



Eliminar (DELETE)

Para utilizar cualquiera de los métodos previamente listados es necesario enviar un “token” de autenticación en cada “request” que se realice hacia la plataforma. Para obtener este “token” de autenticación debemos realizar una petición como en el siguiente ejemplo: URL: https://talana.com/es/api/api-token-auth/ MÉTODO: POST BODY: {“username”: “[email protected]”, “password”: “demo”} Donde: “[email protected]” es el nombre de usuario de la persona a autenticar. “demo” es la clave de la persona a autenticar. El formato del contenido del BODY, es JSON. La respuesta de la anterior consulta es un “String” en formato JSON que contiene el “token”: {“token”: “ehe657583hgyydt565729g0ddjdg65585hgyyd65”} Finalmente para su uso, es necesario agregar el “token” en el encabezado de cada consulta: Authorization: Token ehe657583hgyydt565729g0ddjdg65585hgyyd65

Sistemas de Gestión de Recursos Humanos | www.talana.com | Página 7 de 52

Talana – Documentación de Web Sevices

Formatos de salida La librería utilizada para la construcción de los servicios permite generar datos en múltiples formatos. El serializador se selecciona por defecto en base al content-type de la solicitud. De esta forma, si se visitan mediante un navegador web, los servicios entregar HTML. Pero si se consumen con un cliente de WS como Postman, que solicita datos en text/json, escoge el serializador de manera acorde. Es posible también “forzar” el formato de salida, enviando como parámetro en la URL el formato. Por ejemplo, para descargar el listado de bancos desde Talana en formato XML, se puede consumir la siguiente URL: https://talana.com/es/api/banco/?format=xml Los formatos soportados en estos momentos son: •

json



jsonp



xml



api

Sistemas de Gestión de Recursos Humanos | www.talana.com | Página 8 de 52

Talana – Documentación de Web Sevices

Filtros Algunos de los servicios aceptan filtros como parámetros GET. Los servicios que entrega colecciones de objetos asociados a una empresa en específica (como los de “contratos” y “personas”, en contraposición con el de “bancos”, que es común a todas las empresas) aceptan como parámetro el ID de la empresa de la cual se requieren datos. El servicio devolverá los datos de esa empresa, siempre y cuando el usuario cuente con los permisos para acceder a esa empresa. Ejemplo: https://talana.com/es/api/persona/?empresa=1 y https://talana.com/es/api/persona/?empresa=5 entregarán las personas de las empresas con ID 1 y 5 respectivamente

EndPoints Si bien Talana expone muchísimos servicios, para efectos de las integraciones típicas basta con considerar los que se exponen a continuación:

Empresas con acceso https://talana.com/es/api/empresas-que-puedo-administrar Entrega el listado de las empresas a las cuales el usuario actual tiene acceso Métodos aceptados: GET Devuelve un listado de empresas y sus razones sociales de acuerdo a la siguiente estructura:

Propiedad

Tipo Get

Descripción

id

integer

ID único

nombre

string

Nombre de la empresa

vigente

boolean

Si la empresa está o no vigente

url

string

URL de la empresa Sistemas de Gestión de Recursos Humanos | www.talana.com | Página 9 de 52

Talana – Documentación de Web Sevices

logo

string

URL del logo de la empresa, para utilizar en los documentos

firma

string

URL de la firma del representante legal de la empresa, para utilizar en los documentos

razones_sociales

list[razonSocial]

Listado de objetos [razonSocial]

Persona https://talana.com/es/api/persona/{id} El maestro de personas. Cada persona puede tener uno o más contratos a lo largo de la relación laboral con una empresa, pero sólo tendrá una ficha. Métodos aceptados: GET, POST, PUT Para los métodos PUT y POST, la información a enviar deber estar en el “body” del “request” en formato JSON. Los objetos de persona tienen las siguientes propiedades: Propiedad

Tipo Get

Tipo POST,

Uso

Opcional

Descripción

PUT id

integer

fechaCreacion

datetime

rut

string

ID único

string

GET

Si

Fecha y hora de creación

GET, POST,

No

Rut, sin puntos, con guión y DV

No

Nombre

No

Apellido Paterno

No

Apellido Materno

Si

M/F

Si

Fecha de Nacimiento

PUT nombre

string

string

GET, POST, PUT

apellidoPaterno

string

string

GET, POST, PUT

apellidoMaterno

string

string

GET, POST, PUT

sexo

char(1)

char(1)

GET, POST, PUT

fechaNacimiento

date

date

GET, POST,

Sistemas de Gestión de Recursos Humanos | www.talana.com | Página 10 de 52

Talana – Documentación de Web Sevices

PUT nacionalidad

string

string

GET, POST,

Si

País, como código ISO

PUT username

string

string

permisos

list[permisos]

email

string

string

Nombre de usuario GET

Si

Lista de permisos adicionales

GET, POST,

Si

Email principal

GET, POST

Si

Detalles personales

GET

Si

Lista de Identificadores

PUT detalles

list[detalles]

externalReference list[externalRef erence]

Objeto "Detalle" que se usara en la creación de personas

Propiedad

Tipo POST

Uso

Opcional

id

Descripción ID único

fechaCreacion

date

GET, POST

Si

Fecha y hora de creación

validoDesde

date

GET, POST

No

Fecha desde la cual es valido el detalle

email

string

GET, POST

No

Email principal del detalle

telefono

string

GET, POST

No

El teléfono del detalle de la persona

celular

string

GET, POST,

No

Celular del detalle de la persona

PUT direccionCalle

string

GET, POST

Si

Calle del domicilio

direccionNumero

String

GET, POST

No

Numero del domicilio

direccionDepartamento

String

GET, POST

No

Numero del departamento

estadoCivil

String

GET, POST

No

Estado civil de la persona

nivelEducacional

String

GET, POST

No

Nivel educacional de la persona

Sistemas de Gestión de Recursos Humanos | www.talana.com | Página 11 de 52

Talana – Documentación de Web Sevices

colegio

String

GET, POST

No

Colegio de la persona

InstitucionEstudiosSuperi String ores

GET, POST

No

Institución superior de la

profesion

String

GET, POST

No

Profesión de la persona

observaciones

String

GET, POST

No

Agregar cualquier observación

persona

sobre la persona contratosDeEmergencia

String

GET, POST

No

Agregar cualquier contrato de emergencia de la persona

Sistemas de Gestión de Recursos Humanos | www.talana.com | Página 12 de 52

Talana – Documentación de Web Sevices

Contratos https://talana.com/es/api/contrato/{id} El o los contratos de los trabajadores, y sus condiciones contractuales. Muestra los contratos y condiciones activas al día de hoy. Métodos aceptados: GET, POST, PUT. Para los métodos PUT y POST, la información a enviar deber estar en el “body” del “request” en formato JSON. Los objetos de tipo contrato tienen las siguientes propiedades: Propiedad

Tipo GET

id

integer

empleado

integer

POST, PUT

integer

Uso

Opcional Descripción

GET

No

Id único

GET, POST,

No

Puntero a objeto [persona]

Si

Código del contrato

Si

Fecha de Creación original de estas

PUT codigo

string

string

GET, POST, PUT

fechaCreacion

datetime

GET

condiciones contractuales tipoContrato

integer

integer

GET, POST,

Si

especifican detalles en tipoContratoDetails

PUT empleadorRazonSoc integer

integer

ial cargo

GET, POST,

Puntero a objeto [tipoContrato]. Se

No

Puntero a objeto [razonSocial]

PUT string

string

GET, POST,

Si

PUT fechaContratacion

date

date

GET, POST,

Si

Fecha de contratación original del trabajador

No

Desde cuándo rigen estas condiciones

PUT desde

date

date

GET, POST,

contractuales

PUT hasta

date

date

GET, POST,

Si

Puede estar vacío

PUT unidadOrganizacion

Hasta cuándo rigen estas condiciones.

integer

POST, PUT

Si

Puntero a objeto [unidadOrganizacional]

integer

GET, POST,

Si

Objeto sucursal

al sucursal

[sucursal]

Sistemas de Gestión de Recursos Humanos | www.talana.com | Página 13 de 52

Talana – Documentación de Web Sevices

PUT grupos

list[grupo]

list[integer]

GET, POST,

Si

persona

PUT anexo

string

string

GET, POST,

Lista de los grupos al cual pertenece la

Si

PUT centroCosto

jornada

[centroCosto integer

GET, POST,

]

PUT

integer

integer

GET, POST,

Si

Objeto centroCosto

Si

Puntero a objeto [jornada]

Si

Cantidad de horas semanales de trabajo

PUT horasDeLaJornada

integer

integer

GET, POST, PUT

codigoFranquiciaSe

integer

integer

nce nivelSence

GET, POST,

Si

PUT string

string

GET, POST,

Si

PUT sindicato

integer

integer

GET, POST,

Si

Puntero a objeto [sindicato]

Si

Puntero a objeto [persona]

Si

N=No | S=Si | C=Si, pero cotiza | A = Activo >

PUT jefe

integer

integer

GET, POST, PUT

esPensionado

char(1)

char(1)

GET, POST,

65 años | X = Expatriado

PUT tramoAsignacionPre integer

integer

visional

Si

Puntero a objeto [tramoAsignacionFamiliar]

Si

Puntero a objeto [ubicacionGeografica]

Si

Si es que tiene asignación maternal

Si

Puntero a objeto [prevision]

PUT

zonaAsignacionPrevi integer

integer

sional

GET, POST, PUT

correspondeAsignaci boolean

boolean

onMaternal isapre

GET, POST,

GET, POST, PUT

integer

integer

GET, POST, PUT

Sistemas de Gestión de Recursos Humanos | www.talana.com | Página 14 de 52

Talana – Documentación de Web Sevices

montoPactadoIsapre float

float

GET, POST,

Si

asume 7%

PUT montoPactadoIsapre string

string

Moneda

GET, POST,

Monto Pactado con Isapre. Si está vacío, se

Si

Moneda monto pactado. UF=UF | $=Pesos | 7+GES=7%+Ges en UF | 7+GES$=7% +

PUT

GES en pesos afp

integer

integer

GET, POST,

Si

Puntero a objeto [afp]

No

Si el trabajador está contratado con fecha

PUT adscribeASeguroCe

boolean

GET

santiaParaContratos

anterior al 2002, si adscribe o no al seguro

PreviosA2002

de cesantía

apvMonto

float

GET

Si

Monto primer APV

apvMoneda

string

GET

Si

Moneda APV: UF | $

apvInstitucion

integer

GET

Si

Puntero a [institucionAPV]

apvTipo

char(1)

GET

Si

Tipo de APV: “A” | “B”

apvCuentaDos

float

GET

Si

Monto cuenta dos

GET

Si

Moneda cuenta dos

float

GET

Si

Monto Depósito Convenido

string

GET

Si

Moneda Depósito Convenido: UF | $

retencionJuducialDe string

GET

Si

Nombre de persona destinatario de retención

apvCuentaDosMone string da depositoConvenido Monto depositoConvenido Moneda

stinatario sueldoPatronal

judicial boolean

GET

Si

¿Es sueldo patronal? Sólo para socios de la empresa

sueldoBase

integer

integer

GET, POST,

Si

Sueldo Base mensual en $

Si

Forma de pago de sueldo.

Si

Puntero a [banco]

PUT sueldoFormaPago

string

string

GET, POST, PUT

sueldoBanco

id

id

GET, POST, PUT

Sistemas de Gestión de Recursos Humanos | www.talana.com | Página 15 de 52

Talana – Documentación de Web Sevices

sueldoCuentaCorrie

string

string

nte sueldoCuentaCorrie

Si

Número de cuenta corriente para depósito

Si

Tipo de cuenta corriente: Cuenta Vista |

PUT, string

string

nteTipo sueldoTipoPago

GET, POST,

GET, POST,

Cuenta de Ahorro | Cuenta Corriente

PUT string

string

GET, POST,

Si

hora

PUT valorHoraExtraPacta float

float

da

GET, POST,

Forma de cálculo sueldo: mensual | diario |

Si

PUT

mesesImponiblesrec integer

integer

onocidos

GET, POST,

Si

"Meses que se reconocen como trabajados de antes de contratar a la persona. Se usan

PUT

para los días progresivos mesesImponiblesRe date

date

conocidosDesde

Si

PUT

vacacionesReconoci date

date

doDesde

GET, POST,

Si

integer

on

GET, POST,

Beneficio. Fecha de contratación utilizada para cálculo de vacaciones progresivas

PUT

asignacionMovilizaci integer

asignacionColacion

GET, POST,

Si

Movilización mensual en $

Si

Colación mensual en $

PUT integer

integer

GET, POST, PUT

anticipoPactado

integer

integer

GET, POST,

Si

PUT fechaDeContratacio

date

date

nReconocidaParaAn

GET, POST,

Si

Beneficio. Fecha de Contratación a utilizar para cálculo de años de servicio

PUT

osDeServicio pagaTresPrimerosDi boolean

boolean

asLicencia mantieneRentaLiqui

Si

boolean

boolean

GET, POST,

Si

integer

GET, POST, PUT

Beneficio. ¿Mantiene la renta líquida durante las licencias?

PUT integer

Beneficio. ¿Se subsidian los 3 primeros días de licencia?

PUT

daLicencia diasAdministrativos

GET, POST,

Si

Beneficio. Días administrativos por trabajador durante el periodo

Sistemas de Gestión de Recursos Humanos | www.talana.com | Página 16 de 52

Talana – Documentación de Web Sevices

beneficiosInfoAdicio

string

string

GET

Si

String con beneficios adicionales

boolean

boolean

GET, POST,

Si

Beneficio. Al calcular la indemnización por

nal indemnizacionSinTo peAnos

años de servicio al finiquitar, ¿se quita el

PUT

tope de años? indemnizacionSinTo

boolean

boolean

peRenta

GET, POST,

Si

Beneficio. Al calcular la indemnización por años de servicio al finiquitar, ¿se quita el

PUT

tope de renta? diasAdicionalesVaca integer

integer

ciones creadoPor

GET, POST,

Si

por año.

PUT integer

descripcionDelCargo string

string

Beneficio. Días adicionales de vacaciones

GET

Si

Creador del contrato. Puntero a [persona]

GET, POST,

Si

Descripción en texto del cargo

PUT clausulasAdicionales string

string

GET, POST,

Si

PUT detalleAnexoContrat string

string

o string

toOAnexo

rolPrivado

Si

PUT

documentoEsContra string

claseSalarial

GET, POST,

GET, POST,

No

PUT [claseSalaria integer

GET, POST,

l]

PUT

boolean

boolean

GET, POST,

Si

Si

PUT, PATCH asignacionZonaExtr

float

GET

Si

ema

Factor de asignación adicional por zona extrema

unidadOrganizacion

[unidadOrga

alDetails

nizacional]

tipoContratoDetails

[tipoContrato

GET

Si

Objeto detallado [unidadOrganizacional]

GET

Si

Objeto detallado [tipoContrato]

GET

Si

Objeto detallado con los Ids de este contrato

] externalReference

list[externalR eference]

en otros sistemas

Sistemas de Gestión de Recursos Humanos | www.talana.com | Página 17 de 52

Talana – Documentación de Web Sevices

finiquitado

boolean

boolean

GET, POST,

Si

¿Fue finiquitado?

Si

Motivo de término de contrato (si fue

PUT, PATCH motivoEgreso

[motivoEgres integer

GET

o] INE

[codigoIne]

finiquitado) integer

GET, POST,

Si

trabajador

PUT, PATCH userDefinedFields

list[userDefin

GET, POST,

edField]

PUT, PATCH

Objeto detallado con el código INE del

Si

Listado con campos personalizados

Filtros Los siguientes parámetros pueden ser pasados por url para filtrar la lista de contratos: modificado_desde (fecha formato “YYYY-MM-DD”): contratos creados o modificados superiores a la fecha modificado_hasta (fecha formato “YYYY-MM-DD”): contratos creados o modificados inferiores a la fecha

Ejemplo: https://talana.com/es/api/contratos/?modificado_desde=2018-10-25

Sistemas de Gestión de Recursos Humanos | www.talana.com | Página 18 de 52

Talana – Documentación de Web Sevices

Contratos Resumido https://talana.com/es/api/contracts-resumed/ Los contratos de los trabajadores y sus condiciones contractuales. Muestra los contratos y condiciones activas al día de hoy. Métodos aceptados: GET Los objetos de tipo contrato tienen las siguientes propiedades: Propiedad

Tipo GET

Uso

Opcional Descripción

id

integer

GET

No

Id único

empleado

integer

GET

No

Puntero a objeto [persona]

codigo

string

GET

Si

Código del contrato

fechaCreacion

datetime

GET

Si

Fecha de Creación original de estas condiciones contractuales

tipoContrato

integer

GET

Si

Puntero a objeto [tipoContrato]. Se especifican detalles en tipoContratoDetails

empleadorRazonSocial

integer

GET

No

Puntero a objeto [razonSocial]

cargo

string

GET

Si

fechaContratacion

date

GET

Si

Fecha de contratación original del trabajador

hasta

date

GET

Si

Hasta cuándo rigen estas condiciones. Puede estar vacío

finiquitado

boolean

GET

Si

¿Fue finiquitado?

rolPrivado

boolean

GET

Si

¿Manejar como Rol Privado?

GET

Si

Puntero a objeto [unidadOrganizacional]

unidadOrganizacional sucursal

[sucursal]

GET

Si

Objeto sucursal

jornada

integer

GET

Si

Puntero a objeto [jornada]

horasDeLaJornada

integer

GET

Si

Cantidad de horas semanales de trabajo

centroCosto

[centroCosto]

GET

Si

Objeto centroCosto

personaDetails

list[detalles]

GET

Si

Detalles personales

userDefinedFields

list[userDefinedField]

GET

Si

Listado con campos personalizados

activo

boolean

GET

(calculado) Si el contrato está activo al

Sistemas de Gestión de Recursos Humanos | www.talana.com | Página 19 de 52

Talana – Documentación de Web Sevices

momento de consumir el servicio Filtros aceptados: Solo-activos=1 : sólo devuelve los contratos activos al día de hoy since=: devuelve los contratos existentes desde la fecha indicada en adelante, donde se especifica en el formato "%Y%m%d%H%M%S"; por ejemplo “20181224000001” empleado (id del empleado): solo los contratos del empleado especificado

Vacaciones https://talana/es/api/vacacionesSolicitud/ Las solicitudes de vacaciones de los trabajadores, aprobadas o pendientes de aprobación. Propiedad

Tipo

Descripción

id

integer

ID único

empleado

integer

Puntero a [persona]

vacacionesDesde

date

Fecha inicio de vacaciones

numeroDias

float

Cantidad de días solicitados

jornada

char(1)

M=Mañana | T=Tarde (para medios días)

mediosDias

boolean

¿Sólo medio día?

vacacionesHasta

date

Último día de vacaciones solicitado

vacacionesRetorno

date

Fecha de reincorporación

aprobada

char(1)

¿Aprobada?: A=Aprobada | P=Pendiente | R=Rechazada

aprobadaPor

integer

Puntero a [persona]

creadaPor

integer

Puntero a [persona]

fechaAprobacion

datetime

Fecha de Aprobación

detallesTrabajador

[persona]

Datos detallados del trabajador

externalReference

list[externalReference] Objeto detallado con los Ids de este contrato en otros sistemas

fechaCreacion

datetime

Fecha de Creación

Filtros Los siguientes parámetros pueden ser pasados por url para filtrar la lista de contratos: Sistemas de Gestión de Recursos Humanos | www.talana.com | Página 20 de 52

Talana – Documentación de Web Sevices

empleado (id del empleado): solo las vacaciones del empleado especificado Ejemplo: https://talana/es/api/vacacionesSolicitud/?empleado=1

Sistemas de Gestión de Recursos Humanos | www.talana.com | Página 21 de 52

Talana – Documentación de Web Sevices

Vacaciones Resumido https://talana/es/api/vacations-resumed/ Las solicitudes de vacaciones de los trabajadores, aprobadas o pendientes de aprobación. Propiedad

Tipo

Descripción

id

integer

ID único

empleado

integer

Puntero a [persona]

vacacionesDesde

date

Fecha inicio de vacaciones

numeroDias

float

Cantidad de días solicitados

mediosDias

boolean

¿Sólo medio día?

vacacionesHasta

date

Último día de vacaciones solicitado

vacacionesRetorno

date

Fecha de reincorporación

fechaAprobacion

datetime

Fecha de Aprobación

fechaCreacion

datetime

Fecha de Creación

Filtros Los siguientes parámetros pueden ser pasados por url para filtrar la lista de contratos: empleado (id del empleado): solo las vacaciones del empleado especificado

Ejemplo: https://talana/es/api/vacations-resumed/?empleado=1

Sistemas de Gestión de Recursos Humanos | www.talana.com | Página 22 de 52

Talana – Documentación de Web Sevices

Sistemas de Gestión de Recursos Humanos | www.talana.com | Página 23 de 52

Talana – Documentación de Web Sevices

Ausentismo https://talana/es/api/personaAusencia/{id} Ausencias por licencias médicas, permisos con o sin goce, etc. Este endpoint es de Lectura y Escritura. Métodos aceptados: GET, POST, PUT Para los métodos PUT y POST, la información a enviar deber estar en el “body” del “request” en formato JSON. Propiedad

Tipo GET

Tipo POST,

Uso

Opcional

Descripción

GET

Si

ID único

GET, POST,

No

Creación, id o RUT del trabajador.

PUT id

integer

empleado

integer

integer

PUT fechaDesde

date

date

Respuesta: Puntero o id de [persona]

GET, POST,

No

Fecha inicio de ausencia

No

Cantidad de días solicitados

GET

Si

M=Mañana | T=Tarde (para medios días)

GET, POST,

Si

¿Sólo medio día?

PUT numeroDias

float

float

GET, POST, PUT

jornada

char(1)

mediosDias

boolean

boolean

PUT fechaHasta

date

GET

Si

Último día de ausencia

fechaRetorno

date

GET

Si

Fecha de reincorporación

aprobada

char(1)

GET

Si

¿Aprobada?: A=Aprobada | P=Pendiente | R=Rechazada

aprobadaPor

integer

creadoPor fechaAprobaci

integer

GET

Si

Puntero a [persona]

integer

GET

Si

Puntero a [persona]

datetime

GET

Si

Fecha de Aprobación

GET

Si

Datos detallados del trabajador

GET

Si

Objeto detallado con los Ids de este contrato en

on detallesTrabaja [persona] dor externalRefere list[externalR nce

eference]

otros sistemas

Sistemas de Gestión de Recursos Humanos | www.talana.com | Página 24 de 52

Talana – Documentación de Web Sevices

fechaCreacion

datetime

numeroLicenci

string

string

a

GET

Si

Fecha de Creación

GET, POST,

Si

Número de Licencia médica (opcional)

Si

Nombre del médico que emitió la licencia

PUT

medicoLicencia string

string

GET, POST, PUT

tipoAusencia

string

string

(opcional)

GET, POST,

No

Tipo de ausencia. Puntero a [tipoAusencia]

Si

Documentación adicional presentada por el

PUT documentacion string

string

GET

trabajador (opcional) esContinuacion boolean

boolean

GET, POST,

Si

¿es continuación de una licencia anterior?

PUT

Este método permite la creación de ausencias, al consumirlo con los métodos POST o PUT con un payload con una estructura como la siguiente:

{ "mediosDias": true, "tipoAusencia": "string", "empleado": "string", "numeroLicencia": "string", "fechaDesde": "string", "medicoLicencia": "string", "motivo": "string", "numeroDias": 0, "esContinuacion": true } Bajo este esquema, sólo se acepta el siguiente subset de propiedades:

Propiedad

Tipo

Descripción

empleado

integer

Puntero a [persona]

fechaDesde

date

Fecha inicio de ausencia

numeroDias

float

Cantidad de días solicitados

Sistemas de Gestión de Recursos Humanos | www.talana.com | Página 25 de 52

Talana – Documentación de Web Sevices

mediosDias

boolean

¿Sólo medio día?

numeroLicencia

string

Número de Licencia médica (opcional)

medicoLicencia

string

Nombre del médico que emitió la licencia (opcional)

tipoAusencia

string

Tipo de ausencia. Puntero a [tipoAusencia]

esContinuacion

boolean

¿es continuación de una licencia anterior?

Filtros Los siguientes parámetros pueden ser pasados por url para filtrar la lista de contratos: empleado (id del empleado): solo las ausencias del empleado especificado

Ejemplo: https://talana/es/api/personaAusencia/?empleado=1

Sistemas de Gestión de Recursos Humanos | www.talana.com | Página 26 de 52

Talana – Documentación de Web Sevices

Ausentismo Resumido https://talana/es/api/absentism-resumed Ausencias por licencias médicas, permisos con o sin goce, etc. Este endpoint es de Lectura. Métodos aceptados: GET Propiedad

Tipo GET

Uso

Opcional

Descripción

id

integer

GET

Si

ID único

empleado

integer

GET

No

Puntero a [persona]

fechaDesde

date

GET

No

Fecha inicio de ausencia

numeroDias

float

GET

No

Cantidad de días solicitados

fechaHasta

date

GET

Si

Último día de ausencia

fechaRetorno

date

GET

Si

Fecha de reincorporación

fechaAprobacion

datetime

GET

Si

Fecha de Aprobación

fechaHoraAprobacion

datetime

GET

Si

Fecha y hora de Aprobación

fechaCreacion

datetime

GET

Si

Fecha de Creación

tipoAusencia

string

GET

No

Tipo de ausencia. Puntero a [tipoAusencia]

motivo

string

GET

Si

Motivo de ausencia

Filtros Los siguientes parámetros pueden ser pasados por url para filtrar la lista de contratos: empleado (id del empleado): solo las ausencias del empleado especificado

Ejemplo: https://talana/es/api/absentism-resumed/?empleado=1

Sistemas de Gestión de Recursos Humanos | www.talana.com | Página 27 de 52

Talana – Documentación de Web Sevices

Prorrateo por Centro de Costo https://talana.com/es/api/remuneraciones/distribution-by-cost-center/ https://talana.com/es/api/remuneraciones/distribution-by-cost-center/-/ https://talana.com/es/api/remuneraciones/distribution-by-cost-center/current-month/ https://talana.com/es/api/remuneraciones/distribution-by-cost-center/current-calendar-month/

Entrega los contratos activos en cierto periodo, junto con la distribución porcentual por centro de costo durante ese periodo. Si no se le ha asignado ninguna distribución por fecha, se tomará el centro de costo asignado en la ficha al 100%. En caso de que se haya asignado un porcentaje menor al 100%, el restante se sumará a lo asignado al centro de costo configurado en la ficha. El sistema realiza una distribución lo más “justa” posible, tomando en cuenta tanto las fechas de asignación como los porcentajes asignados, y entrega una única lista de distribución para todo el periodo. Cada fila representa una contratación (una persona, tipicamente), e incluye un listado con la distribución por centro de costo de ese mes de cada trabajador.

Métodos aceptados: GET Los objetos de tipo contrato tienen las siguientes propiedades: Propiedad

Tipo GET

Uso

Descripción

id

integer

GET

Id único

empleado

integer

GET

Puntero a objeto [persona]

empleado__details

Object

GET

Detalles desreferenciados del objeto de empleado

idContrato

string

GET

Identificador de la contratación

fechaCreacion

datetime

GET

Fecha de Creación original de estas condiciones contractuales

empleadorRazonSocial

integer

GET

Puntero a objeto [razonSocial]

cargo

string

GET

fechaContratacion

date

GET

Fecha de contratación original del trabajador

hasta

date

GET

Hasta cuándo rigen estas condiciones. Puede estar vacío

desde

date

GET

Desde cuándo rigen estas condiciones.

distribution

list

GET

Lista de centros de costo, con el porcentaje asignado durante el periodo.

Sistemas de Gestión de Recursos Humanos | www.talana.com | Página 28 de 52

Talana – Documentación de Web Sevices

Filtros aceptados: En la URL se puede pasar como parámetro: -: Entrega el prorrateo para el año y mes específicado current-month: Entrega el prorrateo para el año y mes actualmente abierto en Talana current-calendar-month: Entrega el prorrateo para el mes actual por calendario empleado (id del empleado): solo los contratos del empleado especificado

Sistemas de Gestión de Recursos Humanos | www.talana.com | Página 29 de 52

Talana – Documentación de Web Sevices

Centralización Contable https://talana.com/es/api/centralizacion-contable-generica?ano=&mes=&empresa= Este servicio permite descargar la centralización contable, pero desagregado a nivel de datos. Recibe los siguientes parámetros como argumentos GET: •

ano: El número del año a centralizar (obligatorio)



mes: El número del mes a centralizar (obligatorio)



format: El formato de salida (json , xml) (opcional; default json)



empresa: El ID de la empresa (opcional) (sólo si la cuenta de acceso es multiempresa)

Este endpoint se basa en los mismos módulos de centralización contable que generan los archivos en formato csv o excel, por lo que son susceptibles de ser parametrizados hasta cierto punto. Es posible, por ejemplo, parametrizar las columnas y criterios que se usan para consolidar (“aggregation”) las filas. Propiedad

Tipo

Descripción

razonSocial__nombre

String

Razón social del empleador

razonSocial

String

Rut de la razón social del empleador

nombreTrabajador

String

Nombre del Trabajador (para ítems desglosados por trabajador)

rutTrabajador

String

Rut del Trabajador (para ítems desglosados por trabajador)

sucursal__codigo

String

Sucursal asignada al trabajador (código)

sucursal__nombre

String

Sucursal asignada al trabajador (nombre)

item

String

El nómbre del ítem (ej: sueldo base)

item__codigo

String

Código asignado al ítem

item__nombreParametro

String

Cödigo de ítem asignado por Talana

year

Integer

Año del periodo centralizado

month

Integer

Mes del periodo centralizado

centroCosto__nombre

String

Nombre del centro de costo asignado a esa línea

centroCosto__codigo

String

Código del centro de costo asignado a esa línea

debe

Integer

Valor del “debe”

haber

Integer

Valor del “haber”

cuentaContable__codigo

String

Código cuenta Contable asignada

cuentaContable__nombre

String

Nombre cuenta Contable asignada

Sistemas de Gestión de Recursos Humanos | www.talana.com | Página 30 de 52

Talana – Documentación de Web Sevices

Asignación de Items de pago https://talana.com/es/api/remuneraciones/item-pago/asignacion/ Servicio para agregar o actualizar el valor de un ítem de pago para un contrato en el periodo actual, basándose en el rut del empleado o el id del contrato. Métodos aceptados: POST

Propiedad

POST

Uso

Opcional

Descripción

tipo_item

string

POST

No

Nombre del item de pago

valorFijo

float

POST

No

Valor a insertar o actualizar

id_contrato

integer

POST

Si

Id del contrato

rut_empleado

string

POST

Si

Rut del empleado

Ejemplo de request

{ "tipo_item": “bonoDeProduccion”, "valorFijo": 123456, “id_contrato”: 367 } ó

{ "tipo_item": “bonoDeProduccion”, "valorFijo": 123456, “rut_empleado”: “10253930-3” } https://talana.com/es/api/remuneraciones/item-pago/asignacion/// Servicio para leer el valor de una asignación de un item de pago. Métodos aceptados: GET

Propiedad

GET

Uso

Opcional

Descripción

valorFijo

float

GET

No

Valor del item de pago

Sistemas de Gestión de Recursos Humanos | www.talana.com | Página 31 de 52

Talana – Documentación de Web Sevices

Sistemas de Gestión de Recursos Humanos | www.talana.com | Página 32 de 52

Talana – Documentación de Web Sevices

Creación de documentos par personas https://talana.com/es/api/remuneraciones/documentos/ Servicio para agregar documentos a la carpeta de una persona. Métodos aceptados: POST

Propiedad

POST

Uso

Opcional

Descripción

empleado

integer

POST

Si (si

Id persona

existe rut) rut

string

POST

Si (si

Rut de la persona

existe empleado) adjunto

multipart

POST

No

El documento

nombre

string

POST

No

Id del contrato

categoria

string

POST

Si

Nombre de la categoría

POST

Si

Visibilidad del documento para el

puedeVerloElTrabajador boolean

dueño de éste

Sistemas de Gestión de Recursos Humanos | www.talana.com | Página 33 de 52

Talana – Documentación de Web Sevices

Días Administrativos https://talana/es/api/diaAdministrativoSolicitud/ Días administrativos solicitados por el trabajador

Propiedad

Tipo

Descripción

id

integer

ID único

empleado

integer

Puntero a [persona]

desde

date

Fecha inicio de solicitud

numeroDias

float

Cantidad de días solicitados

jornada

char(1)

M=Mañana | T=Tarde (para medios días)

mediosDias

boolean

¿Sólo medio día?

hasta

date

Último día solicitado

retorno

date

Fecha de reincorporación

aprobada

char(1)

¿Aprobada?: A=Aprobada | P=Pendiente | R=Rechazada

aprobadaPor

integer

Puntero a [persona]

creadaPor

integer

Puntero a [persona]

detallesTrabajador

[persona]

Datos detallados del trabajador

fechaCreacion

datetime

Fecha de Creación

Filtros Los siguientes parámetros pueden ser pasados por url para filtrar la lista de contratos: empleado (id del empleado): solo los días administrativos del empleado especificado

Ejemplo: https://talana/es/api/diaAdministrativoSolicitud/?empleado=1

Sistemas de Gestión de Recursos Humanos | www.talana.com | Página 34 de 52

Talana – Documentación de Web Sevices

Días Administrativos Resumido https://talana/es/api/administrative-leaves-resumed/ Días administrativos solicitados por el trabajador

Propiedad

Tipo

Descripción

id

integer

ID único

empleado

integer

Puntero a [persona]

desde

date

Fecha inicio de solicitud

numeroDias

float

Cantidad de días solicitados

mediosDias

boolean

¿Sólo medio día?

hasta

date

Último día solicitado

retorno

date

Fecha de reincorporación

fechaCreacion

datetime

Fecha de Creación

fechaAprobacion

datetime

Fecha de Aprobación

Sistemas de Gestión de Recursos Humanos | www.talana.com | Página 35 de 52

Talana – Documentación de Web Sevices

Enrrolamiento de firma digital https://talana.com/es/api/enrolments/ Lista de enrolamientos de la empresa

Propiedad

Tipo

Descripción

id

integer

ID único

empleado

integer

Puntero a [persona]

rut

String

Rut del Trabajador

vigente

Boolean

Flag que muestra si el enrolamiento esta vigente

tipo

String

Tipo de enrolamiento

fechaCreacion

Date

Fecha de creación del enrolamiento

mobileNumber

String

Numero de teléfono del enrolamiento

creadoPor

Integer

Puntero a [persona]

Sistemas de Gestión de Recursos Humanos | www.talana.com | Página 36 de 52

Talana – Documentación de Web Sevices

Solicitudes de firma digital https://talana.com/es/api/signature-requests/ Lista de solicitudes de firma de la empresa

Propiedad

Tipo

Descripción

id

integer

ID único

empleado

integer

Puntero a [persona]

documentUrl

String

URL de verificación del documento

documentType

String

Tipo de documento

documentReference

integer

ID único del documento

signed

boolean

Flag que muestra si el documento esta firmado

requestTS

datetime

Fecha de creación de la solicitud

uuid

String

Código único de la solicitud

Atributos del registro de detalles asociado a la solicitud de firma (una por cada empleado que firma) Propiedad

Tipo

Descripción

id

integer

ID único

requestedUser

integer

Puntero a [persona]

signed

boolean

Flag que muestra si esta solicitud de firma por empleado fue firmada

status

String

Estado de la solicitud de firma

token

String

ID único del documento

signatureTS

datetime

Timestamp de la firma

TSASignature

datetime

Timestamp de la TAS de la firma

ip

String

IP desde donde se firmo

userAgent

String

Agente desde el cual se firmo

passVerification

String

Hash de verificación de la firma

huella

String

Información de la huella

Sistemas de Gestión de Recursos Humanos | www.talana.com | Página 37 de 52

Talana – Documentación de Web Sevices

Turno https://talana.com/es/api/workShift/ La definición de los turnos.

Propiedad

Tipo

Descripción

id

integer

ID único

name

string

Nombre asignado

holidaysConsider

boolean

¿Considera trabajar los días festivos?

tolerance

float

Tolerancia en minutos respecto a atrasos y adelantos

workShiftType

char(1)

Tipo de rotación: W=Semanal | M=Manual

schedule

string

Resumen de horarios considerados (ej: “09:00 : 19:00”)

publicId

integer

ID correlativo sólo para la empresa

Sistemas de Gestión de Recursos Humanos | www.talana.com | Página 38 de 52

Talana – Documentación de Web Sevices

Días de Turno Semanal https://talana.com/es/api/rotativeDay/ El detalle de los días asociados a un turno con rotación semanal

Propiedad

Tipo

Descripción

id

integer

ID único

name

string

Nombre del día

numberSnackMinutes

integer

Duración de la colación, en minutos

startWorkingHours

string

Hora de inicio, en formato “HH:MM:SS”

numberWorkingMinutes

integer

Duración en minutos

workingDay

boolean

Ese día de la semana ¿se trabaja en este turno?

numberWorkingDay

integer

Día de la semana (en base 0)

workShift

integer

Puntero a [workShift]

Sistemas de Gestión de Recursos Humanos | www.talana.com | Página 39 de 52

Talana – Documentación de Web Sevices

Días de Turno Manual https://talana.com/es/api/specificDay/ El detalle de los días asociados a un turno de construcción “manual”

Propiedad

Tipo

Descripción

id

integer

ID único

date

string

Fecha del día, en formato “YYYY-mm-dd”

startWorkingHours

string

Hora de inicio, en formato “HH:MM:SS”

numberWorkingMinutes

integer

Duración en minutos

workingDay

boolean

Ese día ¿se trabaja en este turno?

workShift

integer

Puntero a [workShift]

Sistemas de Gestión de Recursos Humanos | www.talana.com | Página 40 de 52

Talana – Documentación de Web Sevices

Asignación de Personas a Turnos https://talana.com/es/api/workShiftPersonRange/ Asignación de personas a turnos por rango de fechas. Una persona puede tener más de un turno asignado el mismo día.

Propiedad

Tipo

Descripción

id

integer

ID único

fromDate

string

Fecha de inicio de asignación, en formato “YYYY-mm-dd”

toDate

string

Fecha de fin de asignación, en formato “YYYY-mm-dd”

person

integer

Persona asignada. Puntero a [persona]

workShift

integer

El turno asignado. Puntero a [workShift]

Sistemas de Gestión de Recursos Humanos | www.talana.com | Página 41 de 52

Talana – Documentación de Web Sevices

Inyección (y visualización) de marcas http://talana.com/es/api/mark/ Métodos aceptados: GET, POST, Para el método POST, la información a enviar deber estar en el “body” del “request” en formato JSON. Para la cración de marcas, se debe recibir rut o card_id Los objetos de persona tienen las siguientes propiedades:

Propiedad

Tipo GET

Tipo POST

Uso

Opcional Descripción

id

integer

person

[persona]

-

GET

-

Detalles de la persona que marcó

rut

-

string

POST

Si

Rut, sin puntos, con guión y DV

card_id

-

string

POST

Si

El código de tarjeta asignado

office

integer

integer

GET, POST

Si

ID en Talana de la sucursal

direction

char(1)

char(1)

GET, POST

Si

Dirección de la marca. (Tipo

ID único

Marca) “E” = Enter “X” = Exit TS

timestamp

timestamp

GET, POST

No

Fceha y Hora real de marca. Formato "2018-07-13T17:22:21"

sourceMark

string

string

GET, POST

Si

Fuente de la marca (usar como Tipo de Actualización de Registro)

received_datetime timestamp

timestamp

GET, POST

No

Fecha y hora de recepción de marca Formato "2018-07-13T17:22:21"

Sistemas de Gestión de Recursos Humanos | www.talana.com | Página 42 de 52

Talana – Documentación de Web Sevices

Ejemplo: Este JSON debe ir en el cuerpo del request. Es importante destacar que ante cualquier error, el servicio entregara el detalle de este. {

}

“rut": "17798529-5", "direction": "E", "TS": "2019-01-01T00:00:00"

También es posible aplicar filtros a la llamada de las marcas que son realizadas con el método GET: •

desde(YYYY-MM-DD): Fecha desde la cual se obtendrán las marcas hacia adelante.



hasta(YYYY-MM-DD): Fecha hasta la cual se obtendrán las marcas hacia atrás.



person(Numero): Id de a persona a obtener sus macas

Ejemplo de URL: https://dev.talana.com/es/api/mark/?desde=2018-11-01&hasta=2018-11-01 ** Importante: para la realización de la consulta debe estar el Token ingresado en los headers. Dependiendo de los permisos del usuario, también entregara solo las marcas que tiene permitido ver.

Asignación de tarjetas a personas. https://talana.com/es/api/zkcard/ Se entiende que se asigna la tarjeta con el código indicado de ahora en adelante. Si es que la tarjeta ya está asignada a otra persona, el sistema no lo permite y arroja un error. Para desasignar una tarjeta a una persona se le debe asignar el número null,”” o no enviando el valor de “card_id” Métodos aceptados: GET, POST Para el método POST, la información a enviar deber estar en el “body” del “request” en formato JSON. Los objetos de tipo contrato tienen las siguientes propiedades:

Propiedad

Tipo GET

POST

Uso

Opcional

Descripción

rut

string

string

GET, POST No

Rut, sin puntos, con guión y DV

card_id

string

string

GET, POST Si

Código de la tarjeta, o null para desasignar

Sistemas de Gestión de Recursos Humanos | www.talana.com | Página 43 de 52

Talana – Documentación de Web Sevices

Sistemas de Gestión de Recursos Humanos | www.talana.com | Página 44 de 52

Talana – Documentación de Web Sevices

Turnos y horarios asignados por Trabajador https://talana.com/es/api/workShiftPersonRange/getAssignationsDays/ Este servicio entrega la obligación de marcar y los horarios asociados a cada trabajador en el rango de fecha indicados. Recibe como parámetros la fecha de inicio y de fin del periodo a revisar, en las variables: fromDate: fecha de inicio del periodo a revisar toDate: fecha de fin del periodo a revisar Ejemplo: https://talana.com/es/api/workShiftPersonRange/getAssignationsDays/?fromDate=2018-04-01&toDate=2018-04-09

Métodos aceptados: GET Los objetos de tipo contrato tienen las siguientes propiedades:

Propiedad

Tipo

Descripción

person

integer

Id de persona

personName

string

Nombre y apellidos de la persona

rut

string

Rut de la persona

days

[ asignacion ]

Lista de objetos de tipo “asignacion”

Cada objeto de tipo “asignación” tiene las siguientes propiedades:

Propiedad

Tipo

Descripción

workshift

string

Nombre del turno asignado

card

string

Código de la tarjeta asignado para ese día

entranceTime

timestamp

Fecha y hora de entrada del trabajador

exitTime

timestamp

Fecha y hora de salida del trabajador

hasToMark

boolean

¿debe marcar ese día?

reason

string

La razón por la cual no debe marcar ese día

Sistemas de Gestión de Recursos Humanos | www.talana.com | Página 45 de 52

Talana – Documentación de Web Sevices

Otros Modelos A continuación enumeramos varios servicios que exponen otros modelos que pueden ser relevantes: Paises / Nacionalidades: https://talana.com/es/api/pais/ Bancos: https://talana.com/es/api/banco/ Formas de Pago: https://talana.com/es/api/formas-de-pago/ Tipos de Jornada Laboral: https://talana.com/es/api/jornadaLaboral/ Tipos de Contrato: https://talana.com/es/api/tipoContrato/ Árbol de Ubicaciones geográficas: https://talana.com/es/api/ubicacionGeografica/ Instituciones Previsionales (Isapres / Fonasa): https://talana.com/es/api/prevision/ AFPs: https://talana.com/es/api/afp/ Instituciones de APV: https://talana.com/es/api/institucionAPV/ Cajas de Compensación: https://talana.com/es/api/cajaCompensacion/ Mutuales de Seguridad: https://talana.com/es/api/mutualSeguridad/ Razones Sociales de la empresa: https://talana.com/es/api/razonSocial/ Tipos de Ausencia https://talana.com/es/api/tipoAusencia/ Fecha del servidor: https://talana.com/es/api/fechaserver/ Hora del Servidor: https://talana.com/es/api/fechaserver/

Sistemas de Gestión de Recursos Humanos | www.talana.com | Página 46 de 52

Talana – Documentación de Web Sevices

Unidades Organizacionales de la empresa: https://talana.com/es/api/unidadOrganizacional/ Sindicatos de la empresa: https://talana.com/es/api/sindicatoEmpresa/ Sucursales de la empresa: https://talana.com/es/api/sucursal/ Centros de costo de la empresa: https://talana.com/es/api/centroCosto/ Cuentas contables de la empresa: https://talana.com/es/api/cuentaContable/

Sistemas de Gestión de Recursos Humanos | www.talana.com | Página 47 de 52

Talana – Documentación de Web Sevices

Ejemplos de Código Python #!/usr/bin/python import requests # 1 - Obtenemos el token url = "https://dev.talana.com/es/api/api-token-auth/" user = "[email protected]" password = "PasswordDePrueba" response = requests.post(url, json={"username" : user, "password": password}) token = response.json()["token"] # 2 - con ese token, consumimos el servicio de personas url_personas = "https://dev.talana.com/es/api/persona" response = requests.get(url_personas, headers={"Authorization": "Token {}".format(token)}) for p in response.json():     print "Persona:", p

# 3 - Inyectar una marca de asistencia para la 1a persona from datetime import datetime as dt url_marcas = "http://dev.talana.com/es/api/mark/" persona = response.json()[0] persona_id = persona["id"] persona_rut = persona["rut"] response = requests.post(   url_marcas,                 json={                     "rut" : persona_rut,                     "direction" : "E",                     "TS" : dt.now().strftime("%Y-%m-%dT%H:%M:%S"),                     "sourceMark": "Ej. Script de Integracion"},                 headers={"Authorization": "Token {}".format(token)}                  ) print response

Sistemas de Gestión de Recursos Humanos | www.talana.com | Página 48 de 52

Talana – Documentación de Web Sevices

Java Puede descargar una copia completa de este mini-proyecto aquí: https://git.linq.cl/kziete/ejemplo-consumo-api/ ApiClient.java: package com.talana; import import import import import import

java.io.BufferedReader; java.io.IOException; java.io.InputStreamReader; java.net.HttpURLConnection; java.net.MalformedURLException; java.net.URL;

public class APIClient { private static final String API_URL = "https://talana.com/es/api/"; private static final String TOKEN = "INSERTAR_AUTH_TOKEN_AQUI"; public String get(String path){ URL url = null; try { url = new URL(API_URL + path); HttpURLConnection conn = (HttpURLConnection)url.openConnection(); setHeaders(conn); conn.setRequestMethod("GET"); conn.setUseCaches(false); conn.setDoInput(true); return responseToString(conn); } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return null; } private String responseToString(HttpURLConnection conn) throws IOException { BufferedReader br = null; try { br = new BufferedReader(new InputStreamReader((conn.getInputStream()))); } catch (IOException e) { e.printStackTrace(); } StringBuilder sb = new StringBuilder(); String output; while ((output = br.readLine()) != null) { sb.append(output); } return sb.toString(); } private void setHeaders(HttpURLConnection conn) { conn.setRequestProperty("Authorization", "Token " + TOKEN); conn.setRequestProperty("Accept", "application/json"); conn.setRequestProperty("Content-Type", "application/json;charset=utf-8"); } }

Sistemas de Gestión de Recursos Humanos | www.talana.com | Página 49 de 52

Talana – Documentación de Web Sevices

parser.java: package com.talana; import import import import import

com.talana.models.Person; org.json.simple.JSONArray; org.json.simple.JSONObject; org.json.simple.parser.JSONParser; org.json.simple.parser.ParseException;

import java.util.ArrayList; import java.util.List; public class Parser { public static List getPersonList(String json) { List persons = new ArrayList(); JSONParser parser = new JSONParser(); Object obj = null; try { obj = parser.parse(json); } catch (ParseException e) { e.printStackTrace(); } JSONArray array = (JSONArray)obj; for(Object per: array){ JSONObject object = (JSONObject)per; persons.add(getPerson(object)); } return persons; } public static Person getPerson(JSONObject object){ Person person = new Person(); person.rut = (String)object.get("rut"); person.apellidoPaterno = (String)object.get("apellidoPaterno"); person.apellidoMaterno = (String)object.get("apellidoMaterno"); person.nombre = (String)object.get("nombre"); person.detalles = new ArrayList(); JSONArray details = (JSONArray)object.get("detalles"); for(Object det: details){ JSONObject obj = (JSONObject)det; Person.PersonDetail detail = new Person.PersonDetail(); detail.foto = (String)obj.get("foto"); person.detalles.add(detail); } return person; } }

Sistemas de Gestión de Recursos Humanos | www.talana.com | Página 50 de 52

Talana – Documentación de Web Sevices

main.java: package com.talana; import com.talana.models.Person; import java.util.List; public class Main { public static void main(String[] args) { APIClient client = new APIClient(); String jsonResponse = client.get("persona/"); List persons = Parser.getPersonList(jsonResponse); for(Person per:persons){ System.out.println(per.toString()); } } }

models/person.java: package com.talana.models; import java.util.List; public class Person { public String rut; public String apellidoPaterno; public String apellidoMaterno; public String nombre; public List detalles; public static class PersonDetail{ public String foto; @Override public String toString() { return "PersonDetail{" + "foto='" + foto + '\'' + '}'; } } @Override public String toString() { return "Person{" + "rut='" + rut + '\'' + ", apellidoPaterno='" + apellidoPaterno + '\'' + ", apellidoMaterno='" + apellidoMaterno + '\'' + ", nombre='" + nombre + '\'' + ", detalles=" + detalles + '}'; } }

Sistemas de Gestión de Recursos Humanos | www.talana.com | Página 51 de 52

Talana – Documentación de Web Sevices

PHP