Aller au contenu principal

Points de terminaison Membership

Le module Membership gère les personnes, les églises, les groupes, les ménages, les rôles, les permissions, les formulaires et les paramètres. C'est le module le plus volumineux et fournit la couche d'identité et d'autorisation core pour tous les autres modules.

Chemin de base : /membership

Personnes

Chemin de base : /membership/people

MéthodeCheminAuthentificationPermissionDescription
GET/JWTPeople.View ou MemberLister toutes les personnes pour l'église
GET/:idJWTPeople.View ou enregistrement personnelObtenir une personne par ID (inclut les soumissions de formulaire)
GET/ids?ids=JWTPeople.View ou MemberObtenir plusieurs personnes par IDs séparés par des virgules
GET/basic?ids=JWTObtenir les informations de base (nom uniquement) pour plusieurs personnes
GET/recentJWTPeople.View ou MemberPersonnes récemment ajoutées
GET/search?term=&email=JWTPeople.View ou MemberRechercher les personnes par nom ou e-mail
GET/search/phone?number=JWTPeople.View ou MemberRechercher par numéro de téléphone
GET/search/group?groupId=JWTPeople.View ou MemberObtenir les personnes dans un groupe spécifique
GET/household/:householdIdJWTObtenir toutes les personnes dans un ménage
GET/attendanceJWTPeople.EditCharger les participants avec des filtres (campusId, serviceId, serviceTimeId, groupId, categoryName, startDate, endDate)
GET/timeline?personIds=&groupIds=JWTCharger les données de chronologie pour les personnes et les groupes
GET/directory/:idJWTObtenir une personne pour l'affichage du répertoire (respecte les préférences de visibilité)
GET/claim/:churchIdJWTRéclamer un enregistrement de personne pour l'utilisateur actuel à une église
POST/JWTPeople.Edit ou EditSelfCréer ou mettre à jour les personnes (lot)
POST/searchJWTPeople.View ou MemberRechercher les personnes (variante POST)
POST/advancedSearchJWTPeople.View ou MemberRecherche multi-critère (âge, moisNaissance, statutMembership, etc.)
POST/loadOrCreatePublicRechercher ou créer une personne par e-mail. Corps : { churchId, email, firstName, lastName }
POST/household/:householdIdJWTPeople.EditMettre à jour les assignments des membres du ménage
POST/public/emailPublicEnvoyer un e-mail à une personne. Corps : { churchId, personId, subject, body, appName }
POST/apiEmailsInternalCharger les e-mails des personnes par IDs (serveur à serveur, nécessite jwtSecret)
DELETE/:idJWTPeople.EditSupprimer une personne

Exemple : Rechercher les personnes

GET /membership/people/search?term=John
Authorization: Bearer <token>
[
{
"id": "abc-123",
"name": { "first": "John", "last": "Smith" },
"contactInfo": { "email": "john@example.com" },
"membershipStatus": "Member"
}
]

Exemple : Créer une personne

POST /membership/people
Authorization: Bearer <token>

[{ "firstName": "Jane", "lastName": "Doe", "contactInfo": { "email": "jane@example.com" } }]

Utilisateurs

Chemin de base : /membership/users

Voir Authentification et permissions pour les points de terminaison de connexion, d'enregistrement et de gestion des mots de passe.

MéthodeCheminAuthentificationPermissionDescription
POST/loginPublicSe connecter (e-mail/mot de passe, actualisation JWT ou authGuid)
POST/registerPublicEnregistrer un nouvel utilisateur
POST/forgotPublicEnvoyer un e-mail de réinitialisation de mot de passe
POST/setPasswordGuidPublicDéfinir le mot de passe à l'aide du GUID d'authentification à partir du lien e-mail
POST/verifyCredentialsPublicVérifier l'e-mail/le mot de passe et retourner les églises associées
POST/loadOrCreateJWTRechercher ou créer un utilisateur par e-mail/userId
POST/setDisplayNameJWTMettre à jour le nom et le prénom de l'utilisateur
POST/updateEmailJWTModifier l'adresse e-mail de l'utilisateur
POST/updatePasswordJWTModifier le mot de passe de l'utilisateur (min 6 caractères)
POST/updateOptedOutJWTDéfinir le statut de désactivation d'une personne
GET/search?term=JWTServer.AdminRechercher tous les utilisateurs par nom/e-mail
DELETE/JWTSupprimer le compte utilisateur actuel

Églises

Chemin de base : /membership/churches

MéthodeCheminAuthentificationPermissionDescription
GET/JWTCharger toutes les églises pour l'utilisateur actuel
GET/:idJWTObtenir une église par ID
GET/:id/getDomainAdminJWTObtenir l'utilisateur administrateur de domaine pour une église
GET/:id/impersonateJWTServer.AdminEmprunter l'identité d'une église (administrateur serveur uniquement)
GET/all?term=JWTServer.AdminRechercher toutes les églises (administrateur)
GET/search/?name=PublicRechercher les églises par nom
GET/lookup/?subDomain=&id=PublicRechercher une église par sous-domaine ou ID
POST/JWTSettings.EditMettre à jour les détails de l'église
POST/addJWTEnregistrer une nouvelle église. Champs requis : name, address1, city, state, zip, country
POST/searchPublicRechercher les églises par nom (variante POST)
POST/selectJWTSélectionner/basculer vers une église. Corps : { churchId } ou { subDomain }
POST/:id/archiveJWTServer.AdminArchiver ou désarchiver une église
POST/byIdsPublicCharger plusieurs églises par IDs
DELETE/deleteAbandonedJWTServer.AdminSupprimer les églises abandonnées depuis 7+ jours

Groupes

Chemin de base : /membership/groups

Étend le CRUD standard (GET /, GET /:id de la classe de base).

MéthodeCheminAuthentificationPermissionDescription
GET/JWTLister tous les groupes
GET/:idJWTObtenir un groupe par ID
GET/search?campusId=&serviceId=&serviceTimeId=JWTRechercher les groupes par filtres de service
GET/myJWTObtenir les groupes pour l'utilisateur actuel
GET/my/:tagJWTObtenir les groupes de l'utilisateur actuel filtrés par tag
GET/tag/:tagJWTObtenir tous les groupes avec un tag spécifique
GET/public/:churchId/:idPublicObtenir un groupe public par église et ID
GET/public/:churchId/tag/:tagPublicObtenir les groupes publics par tag
GET/public/:churchId/label?label=PublicObtenir les groupes publics par label
GET/public/:churchId/slug/:slugPublicObtenir un groupe public par slug
POST/JWTGroups.EditCréer ou mettre à jour les groupes (génère automatiquement slug)
DELETE/:idJWTGroups.EditSupprimer un groupe (supprime aussi les équipes enfants pour les groupes ministériels)

Membres du groupe

Chemin de base : /membership/groupmembers

Étend le CRUD standard (GET /:id, DELETE /:id de la classe de base).

MéthodeCheminAuthentificationPermissionDescription
GET/:idJWTGroupMembers.ViewObtenir un membre du groupe par ID
GET/JWTGroupMembers.View*Lister les membres du groupe. Filtrer par ?groupId=, ?groupIds=, ou ?personId=. *Également autorisé si l'utilisateur est dans le groupe ou interroge le personId personnel
GET/myJWTObtenir les appartenances à un groupe de l'utilisateur actuel
GET/basic/:groupIdJWTObtenir la liste des membres de base pour un groupe
GET/public/leaders/:churchId/:groupIdPublicObtenir les leaders du groupe (public)
POST/JWTGroupMembers.EditAjouter ou mettre à jour les membres du groupe
DELETE/:idJWTGroupMembers.ViewSupprimer un membre du groupe

Ménages

Chemin de base : /membership/households

Contrôleur CRUD standard.

MéthodeCheminAuthentificationPermissionDescription
GET/JWTLister tous les ménages
GET/:idJWTObtenir un ménage par ID
POST/JWTPeople.EditCréer ou mettre à jour les ménages
DELETE/:idJWTPeople.EditSupprimer un ménage

Rôles

Chemin de base : /membership/roles

MéthodeCheminAuthentificationPermissionDescription
GET/:idJWTRoles.ViewObtenir un rôle par ID
GET/church/:churchIdJWTRoles.ViewObtenir tous les rôles pour une église
POST/JWTRoles.EditCréer ou mettre à jour les rôles
DELETE/:idJWTRoles.EditSupprimer un rôle (supprime aussi ses permissions et ses membres)

Membres du rôle

Chemin de base : /membership/rolemembers

MéthodeCheminAuthentificationPermissionDescription
GET/roles/:idJWTRoles.ViewObtenir les membres d'un rôle. Ajouter ?include=users pour inclure les détails des utilisateurs
POST/JWTRoles.EditAjouter des membres à un rôle (crée un utilisateur si l'e-mail n'existe pas)
DELETE/:idJWTRoles.ViewSupprimer un membre du rôle
DELETE/self/:churchId/:userIdJWTVous supprimer d'une église

Permissions du rôle

Chemin de base : /membership/rolepermissions

MéthodeCheminAuthentificationPermissionDescription
GET/roles/:idJWTRoles.ViewObtenir les permissions pour un rôle (utiliser null comme ID pour le rôle "Tout le monde")
POST/JWTRoles.EditCréer ou mettre à jour les permissions du rôle
DELETE/:idJWTRoles.EditSupprimer une permission du rôle

Permissions

Chemin de base : /membership/permissions

MéthodeCheminAuthentificationPermissionDescription
GET/JWTObtenir la liste complète des permissions disponibles

Formulaires

Chemin de base : /membership/forms

MéthodeCheminAuthentificationPermissionDescription
GET/JWTForms.Admin ou Forms.EditLister tous les formulaires (l'administrateur voit tous ; les éditeurs voient les formulaires assignés + non-membres)
GET/:idJWTAccès au formulaireObtenir un formulaire par ID
GET/archivedJWTForms.Admin ou Forms.EditLister les formulaires archivés
GET/standalone/:id?churchId=JWTObtenir un formulaire autonome (les formulaires restreints nécessitent l'authentification)
POST/JWTForms.Admin ou Forms.EditCréer ou mettre à jour les formulaires
DELETE/:idJWTAccès au formulaireSupprimer un formulaire

Soumissions de formulaire

Chemin de base : /membership/formsubmissions

MéthodeCheminAuthentificationPermissionDescription
GET/JWTForms.Admin ou Forms.EditLister les soumissions. Filtrer par ?personId= ou ?formId=
GET/:idJWTForms.Admin ou Forms.EditObtenir la soumission par ID. Ajouter ?include=form,questions,answers
GET/formId/:formIdJWTAccès au formulaireObtenir toutes les soumissions pour un formulaire (inclut le formulaire, les questions, les réponses)
POST/JWTSoumettre les réponses du formulaire (gère les formulaires restreints/sans restriction, envoie les notifications par e-mail)
DELETE/:idJWTForms.Admin ou Forms.EditSupprimer une soumission et ses réponses

Questions

Chemin de base : /membership/questions

MéthodeCheminAuthentificationPermissionDescription
GET/JWTAccès au formulaireLister les questions pour un formulaire. Nécessite ?formId=
GET/:idJWTAccès au formulaireObtenir une question par ID
GET/unrestricted?formId=JWTObtenir les questions pour un formulaire sans restriction
GET/sort/:id/upJWTDéplacer une question vers le haut dans l'ordre de tri
GET/sort/:id/downJWTDéplacer une question vers le bas dans l'ordre de tri
POST/JWTAccès au formulaireCréer ou mettre à jour les questions (assigne automatiquement l'ordre de tri)
DELETE/:id?formId=JWTAccès au formulaireSupprimer une question

Réponses

Chemin de base : /membership/answers

MéthodeCheminAuthentificationPermissionDescription
GET/JWTForms.Admin ou Forms.EditLister les réponses. Filtrer par ?formSubmissionId=
POST/JWTForms.Admin ou Forms.EditCréer ou mettre à jour les réponses

Permissions des membres

Chemin de base : /membership/memberpermissions

Contrôle l'accès par membre aux formulaires spécifiques.

MéthodeCheminAuthentificationPermissionDescription
GET/:idJWTAccès au formulaireObtenir une permission de membre par ID
GET/member/:idJWTAccès au formulaireObtenir toutes les permissions de formulaire pour un membre
GET/form/:idJWTAccès au formulaireObtenir toutes les permissions de membre pour un formulaire
GET/form/:id/myJWTAccès au formulaireObtenir la permission de l'utilisateur actuel pour un formulaire
POST/JWTAccès au formulaireCréer ou mettre à jour les permissions de membre
DELETE/:id?formId=JWTAccès au formulaireSupprimer une permission de membre
DELETE/member/:id?formId=JWTAccès au formulaireSupprimer toutes les permissions pour un membre sur un formulaire

Paramètres

Chemin de base : /membership/settings

MéthodeCheminAuthentificationPermissionDescription
GET/JWTSettings.EditObtenir tous les paramètres pour l'église
GET/public/:churchIdPublicObtenir les paramètres publics pour une église
POST/JWTSettings.EditEnregistrer les paramètres (supporte le téléchargement d'image base64)

Domaines

Chemin de base : /membership/domains

Étend le CRUD standard (GET /:id, GET /, DELETE /:id de la classe de base).

MéthodeCheminAuthentificationPermissionDescription
GET/JWTLister tous les domaines
GET/:idJWTObtenir un domaine par ID
GET/lookup/:domainNameJWTRechercher un domaine par nom
GET/public/lookup/:domainNamePublicRecherche de domaine public par nom
GET/health/checkPublicExécuter une vérification de santé sur les domaines non vérifiés
POST/JWTSettings.EditCréer ou mettre à jour les domaines (déclenche la mise à jour de Caddy)
DELETE/:idJWTSettings.EditSupprimer un domaine

Église utilisateur

Chemin de base : /membership/userchurch

Gère l'association entre les utilisateurs et les églises.

MéthodeCheminAuthentificationPermissionDescription
GET/userid/:userIdJWTObtenir l'enregistrement utilisateur-église par ID utilisateur
GET/personid/:personIdJWTObtenir l'e-mail pour l'utilisateur lié d'une personne
GET/user/:userIdJWTServer.AdminCharger toutes les églises pour un utilisateur
POST/JWTCréer une association utilisateur-église
PATCH/:userIdJWTMettre à jour l'heure d'accès récent et enregistrer l'accès
DELETE/record/:userId/:churchId/:personIdJWTSupprimer un enregistrement utilisateur-église

Préférences de visibilité

Chemin de base : /membership/visibilityPreferences

MéthodeCheminAuthentificationPermissionDescription
GET/myJWTObtenir les préférences de visibilité de l'utilisateur actuel
POST/JWTEnregistrer les préférences de visibilité (visibilité de l'adresse, du téléphone, de l'e-mail)

Requête

Chemin de base : /membership/query

MéthodeCheminAuthentificationPermissionDescription
POST/membersJWTRecherche de membre en langage naturel utilisant l'IA. Corps : { text, subDomain, siteUrl }

Erreurs client

Chemin de base : /membership/clientErrors

MéthodeCheminAuthentificationPermissionDescription
POST/JWTEnregistrer une erreur côté client

Pages connexes