Documentation Développeur
Intégrez les procédures administratives belges dans vos applications avec notre API et nos outils.
API REST
Endpoints et exemples
XState
State machines
Rules Engine
Règles d'éligibilité
GitHub
Code source
API REST
Endpoints Principaux
GET
/api/workflows Liste toutes les procédures disponibles
GET
/api/workflows/:id Détails d'une procédure spécifique
POST
/api/eligibility/check Vérifier l'éligibilité à une prestation
POST
/api/conversion/legal-text Simplifier un texte légal en langage clair
Exemple d'Intégration
// Récupérer les données d'une procédure
const response = await fetch('/api/workflows/ris');
const procedure = await response.json();
// Initialiser la machine d'état
const machine = createMachine({
id: procedure.id,
initial: procedure.initial,
states: procedure.states,
// ...
}); State Machines avec XState
Toutes les procédures sont implémentées comme des machines d'état XState, garantissant des transitions prévisibles et une logique d'éligibilité robuste.
Structure d'une Machine
- États: Chaque étape du processus administratif
- Événements: Actions qui déclenchent des transitions
- Guards: Conditions pour les transitions
- Actions: Effets de bord lors des transitions
133
Machines disponibles
2799
États totaux
1280
Événements totaux
Moteur de Règles
Les règles d'éligibilité sont définies en JSON et évaluées dynamiquement par json-rules-engine.
Format des Règles
{
"conditions": {
"all": [
{ "fact": "age", "operator": "greaterThanInclusive", "value": 18 },
{ "fact": "residence", "operator": "equal", "value": "BE" },
{ "fact": "income", "operator": "lessThan", "value": 1450 }
]
},
"event": {
"type": "eligible",
"params": { "benefit": "RIS" }
}
} Types de Conditions
Conditions Simples
- Âge minimum/maximum
- Résidence en Belgique
- Seuils de revenus
- Situation familiale
Conditions Complexes
- Combinaisons AND/OR
- Règles temporelles
- Calculs dynamiques
- Dépendances entre prestations
Guide d'Installation
# Clone the repository
git clone https://github.com/vanmarkic/PAA.git
cd PAA
# Install dependencies
npm install
# Set up environment variables
cp .env.example .env
# Start Docker services (PostgreSQL, Redis)
npm run docker:up
# Run migrations
npm run migration:run
# Start development server
npm run dev:api
# API available at http://localhost:3000