API Export
L'API Export permet d'exporter les données du système en différents formats (JSON, CSV, Excel).
Vue d'ensemble
| Endpoint | Méthode | Description |
|---|---|---|
/api/export/menages | GET | Export des ménages |
/api/export/beneficiaires | GET | Export des bénéficiaires |
/api/export/paiements | GET | Export des paiements |
/api/export/plaintes | GET | Export des plaintes |
/api/export/programmes | GET | Export des programmes |
/api/export/rapports/export/{type} | GET | Export fichier CSV/Excel |
Authentification
Tous les endpoints nécessitent ROLE_USER minimum.
Export des ménages
Endpoint
GET /api/export/menages
Paramètres de requête
| Paramètre | Type | Requis | Description |
|---|---|---|---|
statut | string | Non | Filtrer par statut |
region | UUID | Non | Filtrer par région |
categorie | string | Non | Filtrer par catégorie de pauvreté |
Réponse
{
"success": true,
"data": {
"filename": "menages_2025-03-15",
"title": "Export des ménages",
"headers": ["Code", "Chef de ménage", "Région", "Secteur", "Taille", "Score PMT", "Catégorie", "Statut"],
"data": [
{
"code": "MEN-OIO-001",
"chef": "Mamadou Diallo",
"region": "Oio",
"secteur": "Farim",
"taille": 5,
"scorePmt": "0.45",
"categorie": "pauvre",
"statut": "valide"
}
],
"total": 3500
}
}
Export des paiements
Endpoint
GET /api/export/paiements
Paramètres de requête
| Paramètre | Type | Requis | Description |
|---|---|---|---|
statut | string | Non | Filtrer par statut |
cycle | UUID | Non | Filtrer par cycle |
programme | UUID | Non | Filtrer par programme |
dateDebut | date | Non | Date de début |
dateFin | date | Non | Date de fin |
Réponse
{
"success": true,
"data": {
"filename": "paiements_2025-03-15",
"title": "Export des paiements",
"headers": ["Référence", "Bénéficiaire", "Montant", "Opérateur", "Statut", "Date"],
"data": [
{
"reference": "TXN-2025-001234",
"beneficiaire": "Mamadou Diallo",
"montant": 25000,
"operateur": "Orange Money",
"statut": "execute",
"date": "2025-03-15"
}
],
"total": 3500
}
}
Export fichier (CSV/Excel)
Endpoint
GET /api/export/rapports/export/{type}
Paramètres d'URL
| Paramètre | Valeurs | Description |
|---|---|---|
type | menages, paiements, plaintes, beneficiaires | Type de données |
Paramètres de requête
| Paramètre | Type | Requis | Description |
|---|---|---|---|
format | string | Non | csv (défaut) ou excel |
region | UUID | Non | Filtrer par région |
statut | string | Non | Filtrer par statut |
dateDebut | date | Non | Date de début |
dateFin | date | Non | Date de fin |
cycle | UUID | Non | Filtrer par cycle (paiements) |
programme | UUID | Non | Filtrer par programme |
Exemple de requête
# Export CSV
curl -X GET "https://api.pch-sig.org/api/export/rapports/export/paiements?format=csv&cycle=550e8400-e29b-41d4-a716-446655440001" \
-H "Authorization: Bearer <token>" \
-o paiements.csv
# Export Excel
curl -X GET "https://api.pch-sig.org/api/export/rapports/export/menages?format=excel®ion=550e8400-e29b-41d4-a716-446655440002" \
-H "Authorization: Bearer <token>" \
-o menages.xlsx
Réponse
- CSV :
Content-Type: text/csv; charset=utf-8 - Excel :
Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
Le fichier est téléchargé directement avec le header Content-Disposition: attachment.
Notes
- Les exports CSV utilisent le séparateur
;pour compatibilité Excel - L'encodage UTF-8 BOM est ajouté pour l'affichage correct des accents dans Excel
- La limite mémoire est augmentée à 512MB pour les gros exports