groupe-meditation/docs/70_API.md

207 lines
10 KiB
Markdown
Raw Normal View History

2026-05-31 23:57:49 -04:00
# 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. |