RH gère le temps de travail et les congés : pointage immuable, conformité configurable, congés en grand livre, et fournit les disponibilités lues par le module Rendez-vous.
- Base URL — prod :
https://rh.api.puwapi.com· dev :http://localhost:5800 - Auth : JWT + gating
rh(Business+).
Pointage (clock events)¶
Base : /api/rh/clock-events
| Méthode | Route | Rôle |
|---|---|---|
| POST | /api/rh/clock-events | Pointer (entrée/sortie) — immuable |
| GET | /api/rh/clock-events | Lister |
| POST | /api/rh/clock-events/{id}/corrections | Ajouter une correction (le pointage d'origine n'est jamais modifié) |
Le pointage est immuable par conception : on n'édite pas un pointage, on ajoute une correction traçable.
Employés¶
Base : /api/rh/employees
| Méthode | Route | Rôle |
|---|---|---|
| GET | /api/rh/employees | Lister |
| GET | /api/rh/employees/{id} | Détail |
| POST | /api/rh/employees | Créer |
| GET | /api/rh/employees/{id}/availability | Disponibilités (lues par Rendez-vous) |
| GET/POST | /api/rh/employees/{id}/schedule | Planning |
| GET | /api/rh/employees/{id}/leave-balance | Solde de congés |
| POST | /api/rh/employees/{id}/leave-requests | Déposer une demande de congé |
Congés¶
| Base | Méthodes | Rôle |
|---|---|---|
/api/rh/leave-requests | GET, PATCH {id}/decision | Demandes + décision (accord/refus) |
/api/rh/leave-types | GET, POST | Types de congé |
/api/rh/rtt | POST /generate | Génération de RTT |
Les congés sont tenus en grand livre (ledger) : chaque mouvement est une écriture.
Conformité¶
Base : /api/rh/compliance
| Méthode | Route | Rôle |
|---|---|---|
| GET | /api/rh/compliance/alerts | Alertes de conformité |
| PATCH | /api/rh/compliance/alerts/{id}/acknowledge | Acquitter une alerte |
Les règles de conformité sont configurables (ComplianceRuleSet).
Exports¶
GET /api/rh/exports/timesheet — export des feuilles de temps.
Route interne (M2M)¶
POST /api/rh/internal/employees — provisionne un employé depuis Careers (candidat
embauché). X-Internal-Secret, fail-closed. RH ne duplique pas le profil Identity ; il pose
un IdentityUserId provisoire et des champs d'amorçage.