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

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