API Documents des Plaintes
Pièces jointes d'une plainte (justificatifs, photos, courriers). Toutes les routes demandent un utilisateur connecté et vérifient que la plainte est dans son périmètre (403 Cette plainte est hors de votre périmètre. sinon).
Endpoints
| Methode | Endpoint | Description |
|---|---|---|
| GET | /api/plaintes/{id}/documents | Liste des documents |
| POST | /api/plaintes/{id}/documents | Ajouter un document |
| GET | /api/plaintes/{id}/documents/{documentId}/download | Telecharger |
| DELETE | /api/plaintes/{id}/documents/{documentId} | Supprimer |
Liste des documents
GET /api/plaintes/{id}/documents
{
"success": true,
"data": [
{
"id": "550e8400-e29b-41d4-a716-446655440001",
"nomOriginal": "recu_paiement.pdf",
"mimeType": "application/pdf",
"taille": 125678,
"tailleFormatee": "122.7 Ko",
"typeDocument": "justificatif",
"description": "Recu du paiement conteste",
"confidentiel": false,
"isImage": false,
"isPdf": true,
"uploadePar": { "id": "…", "nom": "Exemple", "prenom": "Agent" },
"createdAt": "2026-03-15T10:30:00+00:00"
}
]
}
Les documents confidentiels n'apparaissent que pour les superviseurs (ROLE_SUPERVISEUR) et les administrateurs.
Ajouter un document
POST /api/plaintes/{id}/documents
Content-Type: multipart/form-data
| Champ | Requis | Description |
|---|---|---|
file | Oui | Fichier, 10 Mo au plus |
typeDocument | Non | Type libre, autre par défaut |
description | Non | Description |
confidentiel | Non | true pour restreindre l'accès aux superviseurs |
Formats acceptés : PDF, JPEG, PNG, GIF, WebP, Word (.doc, .docx), Excel (.xls, .xlsx) et texte brut.
Réponse 201 Created : { "success": true, "message": "Document uploadé", "data": { … } }.
Erreurs 400 : Aucun fichier reçu, Le fichier ne doit pas dépasser 10 Mo, Type de fichier non autorisé. Formats acceptés: PDF, images, Word, Excel, texte.
curl -X POST "https://sig.example.com/api/plaintes/<id>/documents" \
-H "Authorization: Bearer TOKEN" \
-F "file=@recu.pdf" \
-F "typeDocument=justificatif" \
-F "confidentiel=false"
Telecharger un document
GET /api/plaintes/{id}/documents/{documentId}/download
Renvoie le fichier binaire. Un document confidentiel demandé par un utilisateur qui n'est ni superviseur ni administrateur renvoie 403 Document confidentiel.
Supprimer un document
DELETE /api/plaintes/{id}/documents/{documentId}
Seul l'auteur du téléversement ou un administrateur peut supprimer (403 Non autorisé sinon). Réponse : { "success": true, "message": "Document supprimé" }.
Codes d'erreur
| Code | Description |
|---|---|
| 400 | Fichier absent, trop volumineux ou de type refusé |
| 401 | Non authentifie |
| 403 | Plainte hors périmètre, document confidentiel ou suppression non autorisée |
| 404 | Plainte, document ou fichier introuvable |