Webhooks de Talana
Los Webhooks de Talana permiten integraciones ágiles y eficientes al ofrecer notificaciones en tiempo real de los eventos críticos del sistema, evitando el polling constante hacia nuestra API.
¿Qué son y cómo funcionan?
Los webhooks funcionan como una notificación de empuje (push notification). Cuando ocurre un evento en Talana (por ejemplo, la creación, modificación o eliminación de un recurso), nuestro sistema realiza una solicitud HTTP POST al endpoint que hayas definido previamente.
El cuerpo del mensaje (payload) incluye la información detallada del evento, permitiendo que su aplicación procese los cambios de forma instantánea.
Los webhooks cuentan con un timeout configurado de hasta 10 minutos para la recepción de respuestas por parte de los sistemas integradores. Esto con el objetivo de mejorar la estabilidad y confiabilidad del procesamiento de eventos, especialmente en escenarios donde existen demoras operacionales, alta concurrencia o procesos downstream más extensos. De esta forma, se reduce la probabilidad de reintentos innecesarios, fallos por expiración prematura y desincronizaciones entre plataformas, asegurando una entrega más robusta y consistente de la información.
Autenticación y seguridad
La seguridad de los datos es una prioridad para Talana. Por ello, todos los endpoints que reciban notificaciones deben implementar Autenticación Básica (Basic Auth).
Durante la configuración, usted deberá proporcionar las credenciales (usuario y contraseña), las cuales se incluirán en el encabezado de la solicitud HTTP.
Authorization: Basic (username:password)
Importante: Este método permite que su servicio verifique que la notificación proviene legítimamente de la plataforma de Talana.
Cómo solicitar
- Comunícate con el SAC para que puedan derivarte al equipo de Back.
- El equipo de Back configurará el webhook que necesites, según los modelos que se muestran más abajo.
- Se te comunicará cuando el webhook esté configurado.
Estructura del mensaje
Ejemplo genérico del contenido enviado a tu endpoint:
{
"event": "persona.created",
"data": {
// Payload del modelo correspondiente
}
}Eventos Disponibles
| Modelo | Eventos Disponibles | Descripción breve |
|---|---|---|
| persona | persona.created, persona.updated, persona.deleted | Cambios en la ficha del trabajador |
| personaEmpresa | personaEmpresa.created, personaEmpresa.updated, personaEmpresa.deleted | Información complementaria de empresa del trabajador |
| vacacionesSolicitud | vacacionesSolicitud.created, vacacionesSolicitud.updated, vacacionesSolicitud.deleted | Solicitudes y cambios de vacaciones |
| razonSocial | razonSocial.created, razonSocial.updated, razonSocial.deleted | Cambios en los datos de la razón social |
| personaAusencia | personaAusencia.created, personaAusencia.updated, personaAusencia.deleted | Creación, modificación o eliminación de ausencias |
| centroCosto | centroCosto.created, centroCosto.updated, centroCosto.deleted | Actualizaciones en centros de costo |
| sucursal | sucursal.created, sucursal.updated, sucursal.deleted | Cambios en sucursales |
| unidadOrganizacional | unidadOrganizacional.created, unidadOrganizacional.updated, unidadOrganizacional.deleted | Cambios en gerencias o áreas |
| documento | documento.created, documento.updated, documento.deleted | Creación, firma o eliminación de documentos |
| SigningRequest | SigningRequest.created, SigningRequest.updated, SigningRequest.deleted | Eventos del proceso de firma digital |
| SigningRequestDetail | SigningRequestDetail.created | Detalle de Solicitud de Firma |
Modelos de Webhooks
Cada webhook incluye en el campo data un objeto JSON con la información del modelo afectado. A continuación se detallan los modelos disponibles según el tipo de evento.
persona
Evento: persona.created / persona.updated / persona.deleted
{
"id": 0,
"fechaCreacion": "2025-11-05T13:42:32.959Z",
"rut": "string",
"nombre": "string",
"apellidoPaterno": "string",
"apellidoMaterno": "string",
"sexo": "M",
"fechaNacimiento": "2025-11-05",
"nacionalidad": "string",
"username": "string",
"email": "[email protected]",
"permisos": [
{
"nombre": "string",
"vigente": true
}
],
"detalles": [
{
"id": 0,
"foto": "string",
"idiomas": [
{
"id": 0,
"nombre": "string"
}
],
"codigoUbicacion": "string",
"fechaCreacion": "2025-11-05T13:42:32.959Z",
"validoDesde": "2025-11-05",
"email": "[email protected]",
"emailPersonal": "[email protected]",
"telefono": "string",
"celular": "string",
"direccionCalle": "string",
"direccionNumero": "string",
"direccionDepartamento": "string",
"nivelEducacional": "sin info",
"colegio": "string",
"institucionEstudiosSuperiores": "string",
"profesion": "string",
"observaciones": "string",
"contactosDeEmergencia": "string",
"sangre": "ap",
"alergias": "string",
"discapacidades": "string",
"enfermedades_cronicas": "string",
"medicamentos_permanentes": "string",
"direccionComuna": 0,
"direccionCiudad": 0,
"estadoCivil": "string"
}
],
"externalReference": "string",
"empresa": {
"id": 0,
"fechaCreacion": "2025-11-05T13:42:32.959Z",
"nombre": "string",
"vigente": true,
"url": "string",
"logo": "string",
"logoWebPublica": "string",
"ordenWebPublica": 0,
"esPrueba": true,
"tier": "tier2",
"tags": {},
"company_group": 0,
"calendarioDeFeriados": 0,
"pais": "string"
},
"userDefinedFields": "string",
"anexo": "string"
}personaEmpresa
Evento: personaEmpresa.created / personaEmpresa.updated / personaEmpresa.deleted
Modelo complementario al modelo
persona. Contiene información de la relación del trabajador con la empresa.
{
"id": 0,
"fechaCreacion": "2025-11-05T13:42:32.959Z",
"rut": "string",
"nombre": "string",
"apellidoPaterno": "string",
"apellidoMaterno": "string",
"sexo": "M",
"fechaNacimiento": "2025-11-05",
"nacionalidad": "string",
"username": "string",
"email": "[email protected]",
"permisos": [
{
"nombre": "string",
"vigente": true
}
],
"detalles": [
{
"id": 0,
"foto": "string",
"idiomas": [
{
"id": 0,
"nombre": "string"
}
],
"codigoUbicacion": "string",
"fechaCreacion": "2025-11-05T13:42:32.959Z",
"validoDesde": "2025-11-05",
"email": "[email protected]",
"emailPersonal": "[email protected]",
"telefono": "string",
"celular": "string",
"direccionCalle": "string",
"direccionNumero": "string",
"direccionDepartamento": "string",
"nivelEducacional": "sin info",
"colegio": "string",
"institucionEstudiosSuperiores": "string",
"profesion": "string",
"observaciones": "string",
"contactosDeEmergencia": "string",
"sangre": "ap",
"alergias": "string",
"discapacidades": "string",
"enfermedades_cronicas": "string",
"medicamentos_permanentes": "string",
"direccionComuna": 0,
"direccionCiudad": 0,
"estadoCivil": "string"
}
],
"externalReference": "string",
"empresa": {
"id": 0,
"fechaCreacion": "2025-11-05T13:42:32.959Z",
"nombre": "string",
"vigente": true,
"url": "string",
"logo": "string",
"logoWebPublica": "string",
"ordenWebPublica": 0,
"esPrueba": true,
"tier": "tier2",
"tags": {},
"company_group": 0,
"calendarioDeFeriados": 0,
"pais": "string"
},
"userDefinedFields": "string",
"anexo": "string"
}vacacionesSolicitud
Evento: vacacionesSolicitud.created / vacacionesSolicitud.updated / vacacionesSolicitud.deleted
{
"empleado": 0,
"vacacionesDesde": "2025-11-05",
"numeroDias": 0,
"jornada": "M",
"mediosDias": true,
"vacacionesHasta": "2025-11-05",
"vacacionesRetorno": "2025-11-05",
"aprobada": "A",
"aprobadaPor": 0,
"creadaPor": 0,
"tipoVacaciones": "string",
"fechaAprobacion": "2025-11-05T13:42:32.959Z",
"detallesTrabajador": {
"id": 0,
"fechaCreacion": "2025-11-05T13:42:32.959Z",
"rut": "string",
"nombre": "string",
"apellidoPaterno": "string",
"apellidoMaterno": "string",
"sexo": "M",
"fechaNacimiento": "2025-11-05",
"nacionalidad": "string",
"username": "string",
"email": "[email protected]",
"permisos": [
{
"nombre": "string",
"vigente": true
}
],
"detalles": [
{
"id": 0,
"foto": "string",
"idiomas": [
{
"id": 0,
"nombre": "string"
}
],
"codigoUbicacion": "string",
"fechaCreacion": "2025-11-05T13:42:32.959Z",
"validoDesde": "2025-11-05",
"email": "[email protected]",
"emailPersonal": "[email protected]",
"telefono": "string",
"celular": "string",
"direccionCalle": "string",
"direccionNumero": "string",
"direccionDepartamento": "string",
"nivelEducacional": "sin info",
"colegio": "string",
"institucionEstudiosSuperiores": "string",
"profesion": "string",
"observaciones": "string",
"contactosDeEmergencia": "string",
"sangre": "ap",
"alergias": "string",
"discapacidades": "string",
"enfermedades_cronicas": "string",
"medicamentos_permanentes": "string",
"direccionComuna": 0,
"direccionCiudad": 0,
"estadoCivil": "string"
}
],
"externalReference": "string",
"empresa": {
"id": 0,
"fechaCreacion": "2025-11-05T13:42:32.959Z",
"nombre": "string",
"vigente": true,
"url": "string",
"logo": "string",
"logoWebPublica": "string",
"ordenWebPublica": 0,
"esPrueba": true,
"tier": "tier2",
"tags": {},
"company_group": 0,
"calendarioDeFeriados": 0,
"pais": "string"
},
"userDefinedFields": "string",
"anexo": "string"
},
"externalReference": "string",
"id": 0,
"fechaCreacion": "2025-11-05T13:42:32.959Z",
"read_person": true,
"read_boss": true,
"type": "string"
}razonSocial
Evento: razonSocial.created / razonSocial.updated / razonSocial.deleted
{
"id": 0,
"rut": "string",
"razonSocial": "string",
"nombreComercial": "string",
"giro": "string",
"direccion": "string",
"calleCasaMatriz": "string",
"numeroCasaMatriz": "string",
"mutualPorcentajeDescuento": 0,
"mutualCodigoSucursal": "string",
"telefono": "string",
"cuentaCorrientePagoNomina": "string",
"representanteLegal": "string",
"rutRepresentanteLegal": "string",
"logo": "string",
"fechaCreacion": "2025-11-05T13:42:32.959Z",
"empresa_est": true,
"representanteEmail": "[email protected]",
"representanteTelefono": "string",
"appeal_days_for_rejected_requests": 0,
"appeal_area_for_rejected_requests": "string",
"empresa": 0,
"regionCasaMatriz": 0,
"comunaCasaMatriz": 0,
"cajaCompensacion": 0,
"mutual": 0,
"comuna": 0,
"bancoPagoNomina": 0
}personaAusencia
Evento: personaAusencia.created / personaAusencia.updated / personaAusencia.deleted
{
"empleado": 0,
"fechaDesde": "2025-11-05",
"numeroDias": 0,
"fechaHasta": "2025-11-05",
"aprobada": true,
"aprobadaPor": 0,
"fechaAprobacion": "2025-11-05",
"tipoAusencia": "string",
"documentacion": "string",
"rebajaSalario": true,
"esContinuacion": true,
"creadoPor": 0,
"fechaCreacion": "2025-11-05T15:44:35.994Z",
"fechaRetorno": "2025-11-05",
"numeroLicencia": "string",
"medicoLicencia": "string",
"id": 0,
"externalReference": "string",
"detallesTrabajador": {
"id": 0,
"fechaCreacion": "2025-11-05T15:44:35.994Z",
"rut": "string",
"nombre": "string",
"apellidoPaterno": "string",
"apellidoMaterno": "string",
"sexo": "M",
"fechaNacimiento": "2025-11-05",
"nacionalidad": "string",
"username": "string",
"email": "[email protected]",
"permisos": [
{
"nombre": "string",
"vigente": true
}
],
"detalles": [
{
"id": 0,
"foto": "string",
"idiomas": [
{
"id": 0,
"nombre": "string"
}
],
"codigoUbicacion": "string",
"fechaCreacion": "2025-11-05T15:44:35.994Z",
"validoDesde": "2025-11-05",
"email": "[email protected]",
"emailPersonal": "[email protected]",
"telefono": "string",
"celular": "string",
"direccionCalle": "string",
"direccionNumero": "string",
"direccionDepartamento": "string",
"nivelEducacional": "sin info",
"colegio": "string",
"institucionEstudiosSuperiores": "string",
"profesion": "string",
"observaciones": "string",
"contactosDeEmergencia": "string",
"sangre": "ap",
"alergias": "string",
"discapacidades": "string",
"enfermedades_cronicas": "string",
"medicamentos_permanentes": "string",
"direccionComuna": 0,
"direccionCiudad": 0,
"estadoCivil": "string"
}
],
"externalReference": "string",
"empresa": {
"id": 0,
"fechaCreacion": "2025-11-05T15:44:35.994Z",
"nombre": "string",
"vigente": true,
"url": "string",
"logo": "string",
"logoWebPublica": "string",
"ordenWebPublica": 0,
"esPrueba": true,
"tier": "tier2",
"tags": {},
"company_group": 0,
"calendarioDeFeriados": 0,
"pais": "string"
},
"userDefinedFields": "string",
"anexo": "string"
},
"horaDesde": "string",
"numeroHoras": 0,
"numeroMinutos": 0,
"horaHasta": "string",
"motivo": "string",
"mediosDias": true
}centroCosto
Evento: centroCosto.created / centroCosto.updated / centroCosto.deleted
{
"id": 0,
"parent": 0,
"empresa": 0,
"codigo": "string",
"nombre": "string",
"externalReference": "string",
"vigente": true,
"user_defined_fields": "string"
}sucursal
Evento: sucursal.created / sucursal.updated / sucursal.deleted
{
"id": 0,
"empresa": 0,
"nombre": "string",
"desde": "2025-11-05",
"fechaCreacion": "2025-11-05T13:42:32.959Z",
"creadoPor": 0,
"vigente": true,
"direccionCalle": "string",
"direccionNumero": "string",
"direccionDepartamento": "string",
"direccionComuna": 0,
"direccionCiudad": 0,
"telefono": "string",
"externalReference": "string",
"location": "string",
"location_parseado": "string",
"rango": 0,
"beacons": "string",
"timezone": "string"
}unidadOrganizacional
Evento: unidadOrganizacional.created / unidadOrganizacional.updated / unidadOrganizacional.deleted
{
"parent": 0,
"nombre": "string",
"externalReference": "string",
"id": 0,
"codigo": "string"
}documento
Evento: documento.created / documento.updated / documento.deleted
{
"id": 0,
"empleado": 0,
"empleado_detalles": {
"id": 0,
"nombre": "string",
"apellidoPaterno": "string",
"apellidoMaterno": "string",
"cargo": "string",
"gerencia": "string",
"avatar": "string",
"rut": "string",
"full_name": "string"
},
"nombre": "string",
"fechaCreacion": "2025-11-05T13:42:32.959Z",
"categoria": "string",
"puedeVerloElTrabajador": true,
"adjunto": "string",
"creadoPor": 0,
"user_defined_fields": "string"
}SigningRequest
Evento: SigningRequest.created / SigningRequest.updated / SigningRequest.deleted
{
"signingRequest": 0,
"documentType": "string",
"documentReference": "string",
"requestTS": "2025-11-05T13:42:32.959Z"
}SigningRequestDetail
Evento: SigningRequestDetail.created
{
"id": 0,
"details": [
{
"id": 0,
"signed": true,
"status": "P",
"token": "string",
"signatureTS": "2025-11-05T13:42:32.959Z",
"TSASignature": "string",
"ip": "string",
"userAgent": "string",
"passVerification": "string",
"huella": "string",
"rejection_reason": "string",
"signingRequest": 0,
"requestedUser": 0
}
]
}