Cette opération est accessible uniquement côté ETT.
Cette opération permet d’ouvrir des litiges ou de modifier des litiges existant sur un relevé d’heures.
Les 3 use case différents sont les suivants, ils peuvent tous être combinés dans un même appel :
- ouverture d’un nouveau litige sur une rubrique existante
- ouverture d’un nouveau litige sur une rubrique non existante (création de la rubrique)
- modification d’un litige déjà ouvert
Paramètres :
- id (identifiant du relevé d’heures)
- customerId (identifiant Peopulse du client – obligatoire)
Payload par use case :
Use case : ouverture d’un nouveau litige sur une rubrique existante
| Champ | Type | Obligatoire | Description | Notes |
|---|---|---|---|---|
| wageTypes[] | array | ✅ | Rubriques de rémunération | |
| └ fromWageTypeId | string | ✅ | Identifiant de la rubrique sur laquelle ouvrir un litige | UUID |
| └ percentage | number | ❌ | Taux de la rubrique en pourcent | Exemple : 25 |
| └ paidRate | number | ❌ | Taux payé de la rubrique | Exemple : 12.78 |
| └ coefficient | number | ❌ | Coefficient de la rubrique | Exemple : 1.234 |
| └ billedRate | number | ❌ | Taux facturé de la rubrique | Exemple : 13.89 |
| └ comment | string | ❌ | Commentaire de litige | |
| └ days[] | array | ✅ | Jours sur lesquels la rubrique est ajoutée | |
| └ date | string | ✅ | Date du jour | Format ISO 8601 (AAAA-MM-JJ) |
| └ quantity | number | ✅ | Quantité de la rubrique | Exemple : 7.33 |
NB : on peut envoyer tous les champs, avec des valeurs identiques à celles de la rubrique si on ne souhaite pas les modifier, ou ne pas les envoyer (dans ce cas les champs doivent être absents de la payload).
Use case : ouverture d’un nouveau litige sur une rubrique non existante
| Champ | Type | Obligatoire | Description | Notes |
|---|---|---|---|---|
| wageTypes[] | array | ✅ | Rubriques de rémunération | |
| └ code | string | ✅ | Code rubrique | |
| └ missionId | string | ✅ | Mission associée | ID numérique |
| └ percentage | number | ✅ | Taux de la rubrique en pourcent | Exemple : 25 |
| └ paidRate | number | ✅ | Taux payé de la rubrique | Exemple : 12.78 |
| └ coefficient | number | ✅ | Coefficient de la rubrique | Exemple : 1.234 |
| └ billedRate | number | ✅ | Taux facturé de la rubrique | Exemple : 13.89 |
| └ comment | string | ❌ | Commentaire de litige | |
| └ days[] | array | ✅ | Jours sur lesquels la rubrique est ajoutée | |
| └ date | string | ✅ | Date du jour | Format ISO 8601 (AAAA-MM-JJ) |
| └ quantity | number | ✅ | Quantité de la rubrique | Exemple : 7.33 |
Use case : modification d’un litige déjà ouvert
| Champ | Type | Obligatoire | Description | Notes |
|---|---|---|---|---|
| wageTypes[] | array | ✅ | Rubriques de rémunération | |
| └ id | string | ✅ | Identifiant du litige à modifier | UUID |
| └ percentage | number | ❌ | Taux de la rubrique en pourcent | Exemple : 25 |
| └ paidRate | number | ❌ | Taux payé de la rubrique | Exemple : 12.78 |
| └ coefficient | number | ❌ | Coefficient de la rubrique | Exemple : 1.234 |
| └ billedRate | number | ❌ | Taux facturé de la rubrique | Exemple : 13.89 |
| └ comment | string | ❌ | Commentaire de litige | |
| └ days[] | array | ✅ | Jours sur lesquels la rubrique est ajoutée | |
| └ id | string | ❌ | Identifiant du jour à modifier s’il existe pour cette rubrique | |
| └ date | string | ❌ | Date du jour s’il n’existe pas pour cette rubrique | Format ISO 8601 (AAAA-MM-JJ) |
| └ quantity | number | ✅ | Quantité de la rubrique | Exemple : 7.33 |
NB : on peut envoyer tous les champs, avec des valeurs identiques à celles de la rubrique ou à celles déjà saisies si on ne souhaite pas les modifier, ou ne pas les envoyer (dans ce cas les champs doivent être absents de la payload).
Pour les jours à modifier sur un litige existant, utiliser l’id du jour correspondant ; pour les jours à ajouter sur un litige existant, utiliser la date du jour.
Exemple :
curl -X 'PATCH' \
'https://api.dev.peopulse.com/api/v1/timesheets/897af243-03b9-4de9-835a-11d918692b8d/wageTypesInDispute?customerId=RHIO_SUPPORT' \
-H 'accept: application/json' \
-H 'Authorization: Bearer XXX' \
-H 'Content-Type: application/json' \
-d '{
"wageTypes": [
...
]
}'
{
"wageTypes": [
{
"fromWageTypeId": "3a237054-fd3c-42ba-a1b1-4e908737db8e",
"days": [
{
"quantity": 0.75,
"date": "2025-07-09"
},
{
"quantity": 1,
"date": "2025-07-10"
}
],
"paidRate": 11.5
},
{
"code": "1090",
"missionId": "5457",
"days": [
{
"quantity": 1,
"date": "2025-07-10"
}
],
"billedRate": 12,
"coefficient": 1.123,
"paidRate": 13.476
},
{
"days": [
{
"quantity": 1,
"date": "2025-07-11"
},
{
"quantity": 1,
"id": "3a9cf87e-7422-4ac3-bbcb-93289ee7403a"
}
],
"id": "13771b48-59d0-4ad7-8675-d6b91083db42"
}
]
}
Champs de la réponse :
Cf réponse de GET /api/v1/timesheets/{id}/wageTypes (réponse identique)