Crée une nouvelle demande d'absence pour un collaborateur.
Workflow de validation
Par défaut, l'absence est créée en état "waiting" (en attente de validation). Le responsable peut ensuite la valider ("accepted") ou la refuser ("rejected").
Gestion des demi-journées
Les absences supportent les demi-journées :
- Utilisez
from_momentetto_momentavec les valeurs "full", "half-am" ou "half-pm" - Exemple : absence du lundi après-midi au mercredi matin
Résolution automatique du collaborateur
Si vous fournissez uniquement positionTo sans userTo,
l'API récupère automatiquement l'utilisateur associé au poste.
Événement déclenché
Un événement CREATE_ABSENCE est émis après la création,
permettant de notifier les responsables de la nouvelle demande.
Body
Required
-
Date de début de l'absence (obligatoire)
-
Moment de début :
- full : Journée entière (défaut)
- half-am : Matin uniquement
- half-pm : Après-midi uniquement
Values are
half-am,half-pm, orfull. Default value isfull. -
Date de fin de l'absence (obligatoire)
-
Moment de fin :
- full : Journée entière (défaut)
- half-am : Matin uniquement
- half-pm : Après-midi uniquement
Values are
half-am,half-pm, orfull. Default value isfull. -
Référence vers le type d'absence (obligatoire)
-
Utilisateur concerné par l'absence. Optionnel si positionTo est fourni (résolu automatiquement).
-
Poste concerné par l'absence. Si fourni sans userTo, l'utilisateur est résolu automatiquement.
-
État initial de l'absence (waiting par défaut)
Values are
waiting,accepted,rejected, orcanceled. Default value iswaiting. -
Historique initial (généralement vide à la création)
curl \
--request POST 'https://wuro.pro/api/v3.2/absence' \
--header "X-APP-ID: $API_KEY" \
--header "X-APP-SECRET: $API_KEY" \
--header "Content-Type: application/json" \
--data '{"from":"2024-12-23T00:00:00.000Z","from_moment":"full","to":"2024-12-27T00:00:00.000Z","to_moment":"full","type":"string","userTo":"string","positionTo":"string","state":"waiting","logs":[{"comment":"string","file":"string"}]}'
{
"from": "2024-12-23T00:00:00.000Z",
"from_moment": "full",
"to": "2024-12-27T00:00:00.000Z",
"to_moment": "full",
"type": "string",
"userTo": "string",
"positionTo": "string",
"state": "waiting",
"logs": [
{
"comment": "string",
"file": "string"
}
]
}
{
"newAbsence": {
"_id": "string",
"company": "string",
"decision_date": "2025-05-04T09:42:00Z",
"from": "2025-05-04T09:42:00Z",
"from_moment": "half-am",
"logs": [
{
"position": "string",
"date": "2025-05-04T09:42:00Z",
"method": "string",
"state": "string",
"stateItemRequested": "string",
"comment": "string",
"file": "string",
"fileInSafe": false,
"stateLog": "active"
}
],
"period": "period",
"positionDecider": "string",
"positionFrom": "string",
"positionTo": "string",
"positionLastName": "string",
"positionFirstName": "string",
"state": "waiting",
"nbDays": 0,
"to": "2025-05-04T09:42:00Z",
"to_moment": "half-am",
"timezone": "string",
"type": "string",
"userTo": "string",
"createdAt": "2025-05-04T09:42:00Z",
"updatedAt": "2025-05-04T09:42:00Z"
}
}