Aller au contenu principal

API Export

L'API Export permet d'exporter les données du système en différents formats (JSON, CSV, Excel).

Vue d'ensemble

EndpointMéthodeDescription
/api/export/menagesGETExport des ménages
/api/export/beneficiairesGETExport des bénéficiaires
/api/export/paiementsGETExport des paiements
/api/export/plaintesGETExport des plaintes
/api/export/programmesGETExport des programmes
/api/export/rapports/export/{type}GETExport 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ètreTypeRequisDescription
statutstringNonFiltrer par statut
regionUUIDNonFiltrer par région
categoriestringNonFiltrer 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ètreTypeRequisDescription
statutstringNonFiltrer par statut
cycleUUIDNonFiltrer par cycle
programmeUUIDNonFiltrer par programme
dateDebutdateNonDate de début
dateFindateNonDate 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ètreValeursDescription
typemenages, paiements, plaintes, beneficiairesType de données

Paramètres de requête

ParamètreTypeRequisDescription
formatstringNoncsv (défaut) ou excel
regionUUIDNonFiltrer par région
statutstringNonFiltrer par statut
dateDebutdateNonDate de début
dateFindateNonDate de fin
cycleUUIDNonFiltrer par cycle (paiements)
programmeUUIDNonFiltrer 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&region=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