La configuración de webhooks en Buk permite enviar notificaciones automáticas a un sistema externo cuando ocurre un evento relevante en la plataforma. Para ello, el cliente debe proporcionar una URL pública con HTTPS donde recibirá las solicitudes POST enviadas por Buk. Desde la configuración se define el estado del webhook, el endpoint receptor, el token de seguridad si aplica y las entidades cuyos eventos se desean notificar. Los webhooks notifican que ocurrió un cambio, pero no reemplazan el uso del API para obtener el detalle completo del registro.
Webhooks en Buk: campos de configuración en plataforma.
| Campo | Qué significa | Quién lo define |
|---|---|---|
| Dirección URL | Es la URL pública del sistema del cliente que recibirá la notificación del webhook. Debe ser un endpoint accesible desde internet y usar HTTPS. NOTA: Debe ser una URL pública, segura y capaz de recibir solicitudes POST. | Debe entregarlo el cliente, se ingresa en Buk |
| Estado | Define si el webhook queda activo o inactivo. Si está activo, Buk enviará eventos a la URL configurada. | Buk |
| Bearer Token | Token opcional de seguridad que puede enviarse junto con la notificación para que el sistema receptor valide que la solicitud corresponde a una integración autorizada. | Debe entregarlo el cliente, se ingresa en Buk |
| Entidad | Define qué tipo de evento o conjunto de eventos generará notificaciones hacia la URL configurada. | Buk, según necesidad del cliente |
| Botón “+” | Permite agregar más entidades dentro de la misma configuración de webhook. | Buk |
| Ícono de eliminar | Permite quitar una entidad previamente agregada. | Buk |
| Guardar | Guarda la configuración del webhook para que quede registrada en la plataforma. | Buk |
Entidades disponibles en Buk para los Webhooks.
Empleados: Buk puede enviar eventos como:
employee_create employee_update employee_plan_update employee_responsibility_update job_hire job_termination job_movement
Ejemplo del payload del evento de la contratación de un colaborador:
{
"data": {
"employee_id": 1,
"date": "2020-01-07T17:59:18Z",
"event_type": "job_hire",
"tenant_url": "demo.buk.cl",
"employment_status": "activo"
}
}Áreas: Buk puede enviar eventos como:
area_create area_update
Ejemplo del payload del evento de la creación de un área:
{
"data": {
"area_id": 1,
"date": "2020-01-07T17:59:18Z",
"event_type": "area_create",
"tenant_url": "demo.buk.cl"
}
}Vacaciones: Buk puede enviar eventos como:
vacation_create vacation_update vacation_destroy
Ejemplo del payload del evento de la creación de una vacación a un colaborador:
{
"data": {
"vacation_id": 1,
"date": "2020-01-07T17:59:18Z",
"event_type": "vacation_create",
"tenant_url": "demo.buk.cl",
"metadata": {
"vacation_status": "approved"
}
}
}Licencias, ausencias y permisos: Buk puede enviar eventos como:
{tipo}_create
{tipo}_update
{tipo}_destroy
donde {tipo} puede ser licence, absence o permission. Ejemplo del payload del evento de la creación de un permiso a un colaborador:
{
"data": {
"permission_id": 1,
"date": "2020-01-07T17:59:18Z",
"event_type": "permission_create",
"tenant_url": "demo.buk.cl"
}
}Documentos: Buk puede enviar eventos como:
document_create cuando se crea un documento que requiere firma.
Ejemplo del payload del evento de la creación de un documento a un colaborador:
{
"data": {
"document_id": 1,
"date": "2020-01-07T17:59:18Z",
"event_type": "document_create",
"tenant_url": "demo.buk.cl"
}
}