Sincronización de las ausencias HTTP (webhook)

Antes de empezar

Este artículo aborda la sincronización conocida como «HTTP», que es un webhook que permite enviar las ausencias de Timmi Ausencias a una herramienta externa. Se puede utilizar si no proponemos un conector específico (por el momento, proponemos que se usen integraciones con Google Calendar, Office365/Exchange y ADP GXP).

Eventos sincronizados

Puede configurar los eventos que el servicio web vaya a enviar:

  • todos los eventos (ausencias creadas pendientes de validación, ausencias validadas y ausencias eliminadas)
  • únicamente los eventos validados (ausencias validadas y ausencias eliminadas)

Formato del mensaje enviado

Con cada creación El mensaje se enviará así:

  • Verbo: POST
  • URL: deberá indicar la URL que se debe utilizar con cada creación o eliminación de ausencia
  • Header :
    - Authorization
    - X-Version
    - X-Resource-Type
    - X-Event
  • Body: el payload en json

Header

El header contiene uno de los campos siguientes:

  • Authorization, que contiene la llave de autorización que usted facilita.
    Ejemplo: Authorization: Basic YWxhZGRpbjpvcGVuc2VzYW1l

  • X-Version: versión del formato del payload (facilitado por Timmi Ausencias)
  • X-Resource-Type: tipo de objeto enviado (leave únicamente en la versión actual)
  • X-Event: evento que ha generado la llamada (created, approved, deleted)

Formato del payload

Las ausencias se envían por medias jornadas, denominadas leaves. Por lo tanto, para una ausencia de 2 días, habrá 4 llamadas, cada una con un payload de una leave.

Caso particular para las ausencias en horas: se agrega un campo (consulte la descripción más abajo).

Ejemplo de payload

{
"id": "78287-20180424-PM",
"date": "2018-04-24",
"isAm": false,
"owner": {
"id": 134,
"name": "Luca Pacioli",
"email": "luca.paccioli@lucca.fr",
"employeeNumber": "00001"
},
"leaveAccount": {
"id": 1718,
"name": "Congés payés 2018",
"categoryId": 1,
"categoryName": "Vacaciones"
},
"isConfirmed": true,
"confirmationDate": "2018-04-04T22:34:47.797",
"isCancelled": false,
"cancellationDate": ""
}

Descripción del payload

  • id: identificador único de la leave

  • date: fecha de la leave

  • isAM: media jornada (AM: true; PM: false)

  • leaveAccount: cuenta de ausencias

    • id: nombre de usuario de la cuenta en Timmi Ausencias
    • name: nombre de la cuenta
    • categoryId: identificador de la categoría de la cuenta, en el caso de las cuentas fechadas
    • categoryName: nombre de la categoría de la cuenta, en el caso de las cuentas fechadas
  • durationInHours: duración en horas, si la cuenta está en horas únicamente (ejemplo: "03:45:00")

  • isConfirmed: estado de validación de la ausencia
  • creationDate: fecha de creación

  • isCancelled: estado de cancelación
  • cancellationDate: fecha de cancelación

Estado de las solicitudes

Este esquema describe los distintos estados posibles de las solicitudes, según las acciones realizadas en Timmi Ausencias.

Figgo_Events_-_SYNC_-_2.png

Interfaz de seguimiento

Se puede hacer seguimiento de los eventos enviados en la interfaz del servicio web de sincronización en Timmi Ausencias.

Para cada evento, se pueden ver los detalles del mensaje enviado y, en caso de error, reproducir el evento manualmente o marcarlo como tratado. En ese caso, se dejará de considerar en error.

Los errores de sincronización aparecen en el cuadro de mando de las acciones pendientes de realizar del administrador.

Aviso: solamente se tratan los errores reenviados cuando se recibe el payload. Si realiza un tratamiento de actividad asíncrono, no podremos recuperar los posibles errores que encuentre.

Política de reproducción

Si se produce un error en la llamada, el evento se envía a una cola para que se vuelva a reproducir. Hay 4 colas en cascada, a los 5 minutos, 15 minutos, 1 hora y 24 horas.

Contenido de la página

¿Fue útil este artículo?
Usuarios a los que les pareció útil: 1 de 5