206 lines
10 KiB
Markdown
206 lines
10 KiB
Markdown
# API applicative
|
|
|
|
Statut: référence technique
|
|
Public: mainteneurs, intégrateurs
|
|
Dernière révision: 2026-06-01
|
|
|
|
Toutes les routes applicatives sont préfixées par `/api`. Les routes protégées exigent un JWT valide. Sauf mention contraire, les routes doivent agir uniquement dans le groupe du membre courant.
|
|
|
|
## Authentification et accueil
|
|
|
|
| Route | Usage |
|
|
| --- | --- |
|
|
| `GET /api/auth/health` | Vérifier l'accès DB côté auth. |
|
|
| `GET /api/auth/groupes` | Lister les groupes disponibles et initialiser le groupe de démonstration au besoin. |
|
|
| `POST /api/auth/connexion` | Ouvrir une session. |
|
|
| `POST /api/auth/impersoner/{membre_id}` | Sysadmin agit au nom d'un membre. |
|
|
| `POST /api/auth/inscription` | Inscrire un membre avec invitation. |
|
|
| `GET /api/accueil/` | Retourner membre, groupe, postes et modules visibles. |
|
|
| `GET /api/health` | Santé globale de l'API. |
|
|
|
|
## Administration sysadmin
|
|
|
|
| Route | Usage |
|
|
| --- | --- |
|
|
| `POST /api/admin/sysadmin-login` | Connexion sysadmin depuis la page publique. |
|
|
| `POST /api/admin/demo` | Créer le groupe de démonstration si absent. |
|
|
| `POST /api/admin/demo/reset` | Réinitialiser les données fictives de démonstration. |
|
|
| `GET /api/admin/groupes` | Lister les groupes avec compteurs. |
|
|
| `POST /api/admin/groupes` | Créer un groupe. |
|
|
| `PATCH /api/admin/groupes/{groupe_id}` | Modifier un groupe. |
|
|
| `POST /api/admin/groupes/{groupe_id}/reset` | Réinitialiser un groupe. |
|
|
| `DELETE /api/admin/groupes/{groupe_id}` | Supprimer un groupe non protégé. |
|
|
|
|
## Membres et invitations
|
|
|
|
| Route | Usage |
|
|
| --- | --- |
|
|
| `GET /api/membres/moi` | Profil complet du membre courant. |
|
|
| `PATCH /api/membres/moi` | Modifier son profil. |
|
|
| `POST /api/membres/moi/pin` | Changer son PIN. |
|
|
| `GET /api/membres/actifs` | Liste des membres actifs. |
|
|
| `GET /api/membres/` | Liste de gestion des membres. |
|
|
| `POST /api/membres/` | Créer un membre. |
|
|
| `PATCH /api/membres/{membre_id}/desactiver` | Désactiver la connexion. |
|
|
| `PATCH /api/membres/{membre_id}/reactiver` | Réactiver la connexion. |
|
|
| `DELETE /api/membres/{membre_id}/oubli` | Anonymiser par droit à l'oubli. |
|
|
| `POST /api/invitations/` | Générer une invitation. |
|
|
|
|
## Rencontres
|
|
|
|
| Route | Usage |
|
|
| --- | --- |
|
|
| `POST /api/reunions/` | Planifier une rencontre ou assemblée. |
|
|
| `GET /api/reunions/` | Lister les réunions. |
|
|
| `GET /api/reunions/rencontres/details` | Données enrichies des tuiles de rencontres. |
|
|
| `PATCH /api/reunions/{reunion_id}` | Modifier une rencontre. |
|
|
| `GET /api/reunions/{reunion_id}` | Lire une rencontre. |
|
|
| `GET /api/reunions/{reunion_id}/rapport.pdf` | Produire le rapport PDF de rencontre. |
|
|
|
|
## Assemblées et présences
|
|
|
|
| Route | Usage |
|
|
| --- | --- |
|
|
| `POST /api/presences/reunion` | Créer une réunion d'affaires. |
|
|
| `GET /api/presences/reunions` | Lister les assemblées. |
|
|
| `POST /api/presences/reunions/{reunion_id}/invitation` | Générer le lien invité. |
|
|
| `GET /api/presences/invite/{code}` | Lecture invitée d'une assemblée. |
|
|
| `GET /api/presences/reunions/{reunion_id}/rapport.pdf` | Rapport PDF d'assemblée. |
|
|
| `POST /api/presences/` | Enregistrer les présences. |
|
|
| `GET /api/pv/` | Lister les PV. |
|
|
| `GET /api/pv/{pv_id}` | Lire un PV. |
|
|
| `POST /api/pv/` | Créer un PV. |
|
|
| `PATCH /api/pv/{pv_id}` | Corriger un PV. |
|
|
| `PATCH /api/pv/{pv_id}/adopter` | Adopter un PV. |
|
|
|
|
## Gouvernance
|
|
|
|
| Route | Usage |
|
|
| --- | --- |
|
|
| `POST /api/propositions/` | Soumettre une proposition. |
|
|
| `POST /api/propositions/{proposition_id}/seconder` | Seconder ou seconder pour un autre membre. |
|
|
| `PATCH /api/propositions/{proposition_id}/voter` | Transformer ou rejeter selon le payload. |
|
|
| `GET /api/propositions/` | Lister propositions et réflexions. |
|
|
| `GET /api/propositions/resolutions` | Lister les décisions. |
|
|
|
|
## Trésorerie
|
|
|
|
| Route | Usage |
|
|
| --- | --- |
|
|
| `POST /api/collectes/` | Créer une collecte. |
|
|
| `PATCH /api/collectes/{collecte_id}` | Modifier une collecte. |
|
|
| `POST /api/collectes/{collecte_id}/confirmer` | Confirmer une collecte. |
|
|
| `POST /api/collectes/{collecte_id}/reception` | Accuser réception. |
|
|
| `GET /api/collectes/` | Lister les collectes. |
|
|
| `GET /api/collectes/soldes` | Soldes et éléments à recevoir. |
|
|
| `GET /api/collectes/registre` | Registre financier agrégé. |
|
|
| `POST /api/depenses/` | Soumettre une dépense. |
|
|
| `POST /api/depenses/{depense_id}/preuve` | Ajouter une preuve. |
|
|
| `POST /api/depenses/{depense_id}/confirmer` | Confirmer une dépense selon l'ancien flux. |
|
|
| `POST /api/depenses/{depense_id}/confirmer-debit` | Confirmer le débit bancaire. |
|
|
| `DELETE /api/depenses/{depense_id}` | Rejeter ou supprimer une demande. |
|
|
| `GET /api/depenses/` | Lister les dépenses. |
|
|
| `GET /api/depenses/a-confirmer` | Lister les dépenses à traiter. |
|
|
| `PATCH /api/depenses/{depense_id}` | Modifier une dépense. |
|
|
| `POST /api/banque/` | Dépôt, retrait ou opération bancaire. |
|
|
| `GET /api/banque/reserves` | Lister les réserves. |
|
|
| `POST /api/banque/reserves` | Créer une réserve. |
|
|
| `PATCH /api/banque/reserves/{reserve_id}` | Renommer une réserve. |
|
|
| `DELETE /api/banque/reserves/{reserve_id}` | Supprimer une réserve à zéro. |
|
|
| `POST /api/banque/reserves/transfert` | Virer entre disponible et réserves. |
|
|
| `GET /api/banque/reserves/mouvements` | Historique des réserves. |
|
|
| `GET /api/banque/registre-comptable` | Registre comptable. |
|
|
| `GET /api/banque/` | Lister opérations bancaires. |
|
|
|
|
## Contributions
|
|
|
|
| Route | Usage |
|
|
| --- | --- |
|
|
| `GET /api/contributions/destinataires` | Lister les destinataires. |
|
|
| `POST /api/contributions/destinataires` | Créer un destinataire. |
|
|
| `PATCH /api/contributions/destinataires/{destinataire_id}` | Modifier un destinataire. |
|
|
| `DELETE /api/contributions/destinataires/{destinataire_id}` | Supprimer un destinataire non protégé. |
|
|
| `POST /api/contributions/calculer` | Calculer une répartition. |
|
|
| `POST /api/contributions/` | Créer un envoi de contribution. |
|
|
| `POST /api/contributions/{envoi_id}/confirmer-debit` | Confirmer le débit. |
|
|
| `GET /api/contributions/` | Lister les contributions. |
|
|
| `GET /api/config-repartition/` | Lire la configuration. |
|
|
| `PUT /api/config-repartition/` | Modifier la répartition. |
|
|
|
|
## Postes, mandats et permissions
|
|
|
|
| Route | Usage |
|
|
| --- | --- |
|
|
| `GET /api/postes/` | Lister les postes. |
|
|
| `POST /api/postes/` | Créer un poste. |
|
|
| `PATCH /api/postes/{poste_id}` | Modifier un poste. |
|
|
| `DELETE /api/postes/{poste_id}` | Abolir un poste. |
|
|
| `POST /api/postes/{poste_id}/reactiver` | Réactiver un poste. |
|
|
| `DELETE /api/postes/{poste_id}/permanent` | Supprimer définitivement. |
|
|
| `GET /api/postes/disponibles` | Postes à pourvoir. |
|
|
| `POST /api/postes/candidatures` | Postuler. |
|
|
| `POST /api/postes/candidatures/proposer` | Proposer un autre membre. |
|
|
| `POST /api/postes/candidatures/nominer` | Nomination directe. |
|
|
| `POST /api/postes/candidatures/{id}/retirer` | Retirer une candidature. |
|
|
| `POST /api/postes/candidatures/{id}/accepter-nomination` | Accepter une nomination. |
|
|
| `GET /api/postes/candidatures` | Lister les candidatures. |
|
|
| `GET /api/postes/candidatures/mes` | Mes candidatures. |
|
|
| `PATCH /api/postes/candidatures/{id}` | Traiter une candidature. |
|
|
| `GET /api/postes/affectations` | Affectations actives du membre. |
|
|
| `GET /api/postes/affectations/groupe` | Affectations du groupe. |
|
|
| `POST /api/postes/affectations` | Affecter un poste. |
|
|
| `POST /api/postes/affectations/{id}/terminer` | Terminer un mandat. |
|
|
| `GET /api/postes/modules` | Modules configurables. |
|
|
| `PUT /api/postes/{poste_id}/modules` | Modifier les permissions d'un poste. |
|
|
| `GET /api/rotations/` | Rotations planifiées. |
|
|
| `GET /api/rotations/historique` | Historique des rotations. |
|
|
| `POST /api/rotations/` | Créer une rotation. |
|
|
| `POST /api/rotations/batch` | Créer plusieurs rotations. |
|
|
| `DELETE /api/rotations/{rotation_id}` | Supprimer une rotation. |
|
|
|
|
## Inventaires, événements et rapports
|
|
|
|
| Route | Usage |
|
|
| --- | --- |
|
|
| `GET /api/litterature/` | Lister la littérature. |
|
|
| `POST /api/litterature/` | Ajouter un titre. |
|
|
| `PATCH /api/litterature/{item_id}` | Modifier un titre. |
|
|
| `PATCH /api/litterature/{item_id}/stock` | Ajuster le stock. |
|
|
| `POST /api/ventes-litterature/` | Enregistrer une vente. |
|
|
| `GET /api/ventes-litterature/` | Lister les ventes. |
|
|
| `GET /api/ventes-litterature/a-recevoir` | Ventes à recevoir. |
|
|
| `POST /api/ventes-litterature/{vente_id}/recevoir` | Confirmer réception. |
|
|
| `GET /api/jetons/types` | Types de jetons. |
|
|
| `POST /api/jetons/` | Enregistrer une remise statistique. |
|
|
| `POST /api/jetons/ventes` | Enregistrer une vente de jetons. |
|
|
| `GET /api/jetons/ventes/a-recevoir` | Ventes de jetons à recevoir. |
|
|
| `POST /api/jetons/ventes/{vente_id}/recevoir` | Confirmer réception. |
|
|
| `GET /api/jetons/` | Historique des remises. |
|
|
| `GET /api/commandes-jetons/stock` | Stock de jetons. |
|
|
| `GET /api/evenements/` | Lister les événements. |
|
|
| `POST /api/evenements/` | Créer un événement. |
|
|
| `DELETE /api/evenements/{evenement_id}` | Supprimer un événement. |
|
|
| `GET /api/calendrier/` | Calendrier du groupe courant. |
|
|
| `GET /api/calendrier/groupe/{groupe_id}` | Calendrier public d'un groupe. |
|
|
| `GET /api/anniversaires/` | Anniversaires de sobriété. |
|
|
|
|
## Rapports, journal et notifications
|
|
|
|
| Route | Usage |
|
|
| --- | --- |
|
|
| `GET /api/rapports/disponibles` | Rapports disponibles. |
|
|
| `GET /api/rapports/resolutions/annees` | Années de décisions disponibles. |
|
|
| `GET /api/rapports/resolutions/{annee}` | Registre PDF des décisions. |
|
|
| `GET /api/rapports/etat-resultats/{annee}/{mois}` | PDF état des résultats. |
|
|
| `POST /api/rapports/etat-resultats/{annee}/{mois}/adopter` | Adopter un rapport du trésorier. |
|
|
| `GET /api/rapports/adoptes` | Rapports adoptés. |
|
|
| `GET /api/rapports/adoptes/{rapport_id}.pdf` | PDF cristallisé. |
|
|
| `GET /api/journal/actions` | Journal d'actions. |
|
|
| `GET /api/journal/historique` | Historique détaillé. |
|
|
| `GET /api/notifications/configuration` | Configuration push. |
|
|
| `GET /api/notifications/preferences` | Préférences du membre. |
|
|
| `PATCH /api/notifications/preferences` | Modifier les préférences. |
|
|
| `POST /api/notifications/abonnement` | Enregistrer un abonnement push. |
|
|
| `DELETE /api/notifications/abonnement` | Supprimer un abonnement push. |
|
|
| `POST /api/notifications/test` | Tester une notification. |
|
|
|