API REST publique

API e-Structure
Documentation

Accédez aux données des structures essentielles du Tchad — santé, éducation, hydraulique et énergie — via une API REST simple, rapide et ouverte.

Base URL https://estructuretchad.com/api/v1
12
Endpoints publics
JSON
Format
REST
Architecture
Libre
Accès lecture
# Exemple — structures de santé
curl -X GET \
  "https://estructuretchad.com/api/v1/structures?secteur=sante&page=1" \
  -H "Accept: application/json"

# Réponse
{
  "success": true,
  "data": [ ... ],
  "pagination": { "page": 1, "total": 248 }
}
GET /api/v1/structures Lister les structures

Retourne la liste paginée des structures essentielles publiées, avec filtres optionnels.

Paramètres de requête
ParamètreTypeRequisDescription
pageintegeroptionnelNuméro de page (défaut : 1)
per_pageintegeroptionnelRésultats par page (défaut : 20, max : 100)
secteurstringoptionnelsante education hydraulique energie
region_idintegeroptionnelFiltrer par ID de région
etatstringoptionneloperationnelle degradee fermee
searchstringoptionnelRecherche par nom ou type
Exemple
curl "https://estructuretchad.com/api/v1/structures?secteur=sante®ion_id=1&page=1"
Réponse 200
{
  "success": true,
  "data": [
    {
      "id": 1,
      "nom": "Hôpital Général de Référence de N'Djaména",
      "type_structure": "hopital_national",
      "secteur": "sante",
      "region_nom": "N'Djaména",
      "etat_fonctionnel": "operationnelle",
      "latitude": 12.1048,
      "longitude": 15.0445
    }
  ],
  "pagination": {
    "page": 1, "per_page": 20,
    "total": 248, "total_pages": 13
  }
}
200Succès    400Paramètre invalide
Voir les structures
GET /api/v1/structures/{id} Détail d'une structure

Retourne toutes les informations d'une structure, incluant photos et données sectorielles.

Paramètre de chemin
ParamètreTypeRequisDescription
idintegerrequisIdentifiant unique de la structure
Exemple
curl "https://estructuretchad.com/api/v1/structures/1"
200Succès    404Structure introuvable
GET /api/v1/geo/regions Liste des 23 régions

Retourne les 23 régions administratives du Tchad avec chef-lieu, population et superficie.

Exemple
curl "https://estructuretchad.com/api/v1/geo/regions"
Réponse
{
  "success": true,
  "data": [
    { "id": 1, "nom": "N'Djaména", "code_region": "NDJ", "population": 1092066 }
  ]
}
Voir les régions
GET /api/v1/geo/prefectures Liste des préfectures

Retourne les préfectures, filtrable par région avec region_id.

Exemple
curl "https://estructuretchad.com/api/v1/geo/prefectures?region_id=1"
GET /api/v1/geo/sous-prefectures Liste des sous-préfectures

Retourne les sous-préfectures, filtrable par préfecture avec prefecture_id.

Exemple
curl "https://estructuretchad.com/api/v1/geo/sous-prefectures?prefecture_id=3"
GET /api/v1/stats/national Statistiques nationales

Totaux nationaux par secteur — utilisé pour la page d'accueil et les tableaux de bord.

Exemple
curl "https://estructuretchad.com/api/v1/stats/national"
Réponse
{
  "success": true,
  "data": {
    "total_structures": 1847, "total_regions": 23,
    "par_secteur": { "sante": 512, "education": 748, "hydraulique": 423, "energie": 164 }
  }
}
GET /api/v1/stats/par-region Statistiques par région

Nombre de structures par région — utile pour les visualisations cartographiques.

Exemple
curl "https://estructuretchad.com/api/v1/stats/par-region"
GET /api/v1/geo/carte GeoJSON des structures

Retourne un GeoJSON FeatureCollection des structures géolocalisées. Compatible Leaflet, Mapbox, QGIS, Python geopandas.

Paramètres optionnels
ParamètreTypeRequisDescription
secteurstringoptionnelFiltrer par secteur
region_idintegeroptionnelFiltrer par région
Exemple — intégration Leaflet.js
// Charger les structures sur une carte Leaflet
fetch('/api/v1/geo/carte?secteur=sante')
  .then(r => r.json())
  .then(geojson => {
    L.geoJSON(geojson, {
      pointToLayer: (f, ll) =>
        L.circleMarker(ll, { radius: 6, fillColor: '#dc2626' })
    }).addTo(map);
  });
Voir la carte interactive
GET /api/v1/exports/csv Export CSV complet

Télécharge toutes les structures en CSV — compatible Excel, LibreOffice et Python pandas.

Exemples
# Télécharger le CSV
curl -O "https://estructuretchad.com/api/v1/exports/csv"

# Python pandas
import pandas as pd
df = pd.read_csv('https://estructuretchad.com/api/v1/exports/csv')
print(df.head())
Télécharger CSV
Statut de l'API
ÉtatOpérationnel
Versionv1.0
FormatJSON
EncodageUTF-8
CompressionGZip
CORSActivé
Authentification
Les endpoints de lecture publique ne nécessitent aucune authentification.

Les endpoints d'écriture requièrent un token JWT obtenu via /api/v1/auth/login.
Authorization: Bearer <token>
Format de réponse
{
  "success": true | false,
  "data": { } | [ ],
  "detail": "...", // si erreur
  "pagination": {
    "page": 1, "total": 248
  }
}
Codes HTTP
200Succès
400Paramètre invalide
401Non authentifié
403Accès refusé
404Ressource introuvable
Contact

Pour toute question ou demande d'accès en écriture :

mahrasoft.contact@gmail.com