Aller au contenu principal

Référence des points de terminaison

Cette section documente tous les points de terminaison REST exposés par l'API ChurchApps. Chaque page de module répertorie tous les parcours avec sa méthode HTTP, son chemin, ses exigences d'authentification et ses permissions requises.

URL de base

EnvironnementURL
Développement localhttp://localhost:8084
Productionhttps://api.churchapps.org

Conventions de requête

  • Content-Type : Tous les corps de requête et de réponse utilisent application/json
  • Multi-tenant : Chaque requête authentifiée est limitée à un churchId extrait du jeton JWT — vous ne passez pas churchId dans l'URL
  • Enregistrements par lot : La plupart des endpoints POST acceptent un tableau d'objets. L'API insérera les nouveaux enregistrements (sans champ id) et mettra à jour les enregistrements existants (avec champ id) en un seul appel
  • IDs : Tous les IDs d'entité sont des UUID

Exemple : Enregistrement par lot

POST /membership/people
Authorization: Bearer <token>

[
{ "firstName": "Jane", "lastName": "Doe" },
{ "id": "abc-123", "firstName": "John", "lastName": "Smith" }
]

Le premier objet est créé (nouveau) ; le deuxième est mis à jour (a id).

Format de réponse

Les réponses réussies retournent du JSON — soit un objet unique, soit un tableau. Les réponses d'erreur utilisent les codes de statut HTTP standard :

CodeSignification
200Succès
400Mauvaise requête (erreurs de validation)
401Non autorisé (jeton manquant/invalide ou permissions insuffisantes)
404Non trouvé
500Erreur serveur

Les erreurs de validation retournent :

{
"errors": [
{ "msg": "enter a valid email address", "param": "email", "location": "body" }
]
}

Comment lire les tableaux de points de terminaison

Chaque page de module organise les points de terminaison par contrôleur. Les tableaux utilisent ces colonnes :

ColonneDescription
MethodMéthode HTTP (GET, POST, DELETE)
PathChemin d'accès relatif au chemin de base du contrôleur
AuthJWT = nécessite un jeton Bearer, Public = aucune authentification requise
PermissionPermission requise (par exemple People.Edit). signifie tout utilisateur authentifié
DescriptionCe que fait le point de terminaison

Les contrôleurs qui étendent la classe de base CRUD standard fournissent automatiquement quatre points de terminaison : GET / (lister tout), GET /:id (obtenir par ID), POST / (créer/mettre à jour), et DELETE /:id (supprimer).

Module Reporting

Le module Reporting fonctionne différemment des autres modules. Au lieu d'un CRUD sauvegardé par base de données, il charge les définitions de rapport à partir des fichiers JSON sur le disque et exécute les requêtes SQL paramétrées.

MéthodeCheminAuthentificationDescription
GET/reporting/reports/:keyNameJWTCharger une définition de rapport par nom de clé
GET/reporting/reports/:keyName/runJWTExécuter un rapport et retourner les résultats

Les paramètres du rapport sont passés en tant que valeurs de chaîne de requête (par exemple ?startDate=2024-01-01&endDate=2024-12-31). Le paramètre churchId est injecté automatiquement à partir du jeton JWT. Chaque définition de rapport peut spécifier ses propres exigences de permissions.

Index des modules

ModuleChemin de baseDescription
Authentification/membership/users, /membership/oauthConnexion, enregistrement, jetons JWT, OAuth, permissions
Membership/membership/*Personnes, églises, groupes, ménages, rôles, formulaires, paramètres
Attendance/attendance/*Campus, services, sessions, visites, enregistrements de check-in
Content/content/*Pages, sermons, événements, fichiers, galeries, Bible, streaming
Giving/giving/*Donations, fonds, passerelles de paiement, abonnements
Messaging/messaging/*Conversations, notifications, appareils, SMS
Doing/doing/*Plans, tâches, assignments, automations, planification