Détail et modification d'un utilisateur
Récupérer un utilisateur
Endpoint
GET /api/users/{id}
Réponse
{
"success": true,
"data": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"email": "john.doe@example.com",
"nom": "Doe",
"prenom": "John",
"telephone": "+245955123456",
"role": {
"id": "550e8400-e29b-41d4-a716-446655440001",
"nom": "Spécialiste TM",
"code": "ROLE_TM_SPECIALIST",
"permissions": ["transferts.cycles_view", "transferts.paiements_view"]
},
"isActive": true,
"twoFactorEnabled": false,
"lastLoginAt": "2025-03-15T10:30:00+00:00",
"failedLoginAttempts": 0,
"regions": [
{
"id": "550e8400-e29b-41d4-a716-446655440002",
"nom": "Oio",
"code": "OIO"
}
],
"createdAt": "2025-01-01T00:00:00+00:00",
"updatedAt": "2025-03-15T10:30:00+00:00"
}
}
Modifier un utilisateur
Endpoint
PUT /api/users/{id}
ou
PATCH /api/users/{id}
Corps de la requête
{
"nom": "Doe",
"prenom": "John Updated",
"telephone": "+245955123457",
"role_id": "550e8400-e29b-41d4-a716-446655440003",
"regions": ["550e8400-e29b-41d4-a716-446655440002", "550e8400-e29b-41d4-a716-446655440004"]
}
Paramètres modifiables
| Paramètre | Type | Description |
|---|---|---|
nom | string | Nom de famille |
prenom | string | Prénom |
telephone | string | Numéro de téléphone |
role_id | UUID | ID du nouveau rôle |
regions | array | IDs des régions affectées |
attention
L'email ne peut pas être modifié après création. Pour changer l'email, créer un nouveau compte.
Supprimer un utilisateur
Endpoint
DELETE /api/users/{id}
Réponse
{
"success": true,
"message": "Utilisateur supprimé"
}
attention
La suppression est définitive. Préférez désactiver l'utilisateur pour conserver l'historique.
Activer/Désactiver un utilisateur
Endpoint
POST /api/users/{id}/toggle-status
Réponse
{
"success": true,
"message": "Utilisateur désactivé",
"data": {
"isActive": false
}
}
Réinitialiser le mot de passe
Endpoint
POST /api/users/{id}/reset-password
Corps de la requête (optionnel)
{
"newPassword": "NouveauMotDePasse123!"
}
Si newPassword n'est pas fourni, un mot de passe aléatoire est généré et envoyé par email.
Réponse
{
"success": true,
"message": "Mot de passe réinitialisé. Un email a été envoyé à l'utilisateur."
}
Obtenir les permissions effectives
Retourne toutes les permissions dont dispose un utilisateur (via son rôle).
Endpoint
GET /api/users/{id}/permissions
Réponse
{
"success": true,
"data": {
"role": "ROLE_TM_SPECIALIST",
"permissions": [
"transferts.cycles_view",
"transferts.cycles_create",
"transferts.paiements_view",
"transferts.paiements_export",
"registre.menages_view",
"registre.beneficiaires_view"
]
}
}