Aller au contenu principal

Points de terminaison Membership

Le module Membership gère les personnes, les églises, les groupes, les foyers, les rôles, les permissions, les formulaires et les paramètres. C'est le plus grand module et il fournit la couche d'identité et d'autorisation de base pour tous les autres modules.

Chemin de base : /membership

People

Chemin de base : /membership/people

MéthodeCheminAuthPermissionDescription
GET/JWTPeople.View ou MemberLister toutes les personnes de l'église
GET/:idJWTPeople.View ou son propre enregistrementObtenir une personne par ID (inclut les soumissions de formulaire)
GET/ids?ids=JWTPeople.View ou MemberObtenir plusieurs personnes par des ID séparés par des virgules
GET/basic?ids=JWTObtenir des informations de base (nom uniquement) pour plusieurs personnes
GET/recentJWTPeople.View ou MemberPersonnes ajoutées récemment
GET/search?term=&email=JWTPeople.View ou MemberRechercher des 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 d'un groupe spécifique
GET/household/:householdIdJWTObtenir toutes les personnes d'un foyer
GET/attendanceJWTPeople.EditCharger les participants avec filtres (campusId, serviceId, serviceTimeId, groupId, categoryName, startDate, endDate)
GET/timeline?personIds=&groupIds=JWTCharger les données de timeline pour des personnes et des groupes
GET/directory/:idJWTObtenir une personne pour l'affichage annuaire (respecte les préférences de visibilité)
GET/claim/:churchIdJWTRéclamer un enregistrement de personne pour l'utilisateur actuel dans une église
POST/JWTPeople.Edit ou EditSelfCréer ou mettre à jour des personnes (par lot)
POST/searchJWTPeople.View ou MemberRechercher des personnes (variante POST)
POST/advancedSearchJWTPeople.View ou MemberRecherche multi-critères (âge, mois de naissance, statut de membre, etc.)
POST/loadOrCreatePublicTrouver ou créer une personne par e-mail. Corps : { churchId, email, firstName, lastName }
POST/household/:householdIdJWTPeople.EditMettre à jour les affectations de membres d'un foyer
POST/public/emailPublicEnvoyer un e-mail à une personne. Corps : { churchId, personId, subject, body, appName }
POST/apiEmailsInternalCharger les e-mails de personnes par ID (serveur-à-serveur, nécessite jwtSecret)
DELETE/:idJWTPeople.EditSupprimer une personne

Exemple : rechercher des 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" } }]

Users

Chemin de base : /membership/users

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

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

Churches

Chemin de base : /membership/churches

MéthodeCheminAuthPermissionDescription
GET/JWTCharger toutes les églises de l'utilisateur actuel
GET/:idJWTObtenir une église par ID
GET/:id/getDomainAdminJWTObtenir l'utilisateur administrateur de domaine d'une église
GET/:id/impersonateJWTServer.AdminUsurper une église (administrateur serveur uniquement)
GET/all?term=JWTServer.AdminRechercher toutes les églises (admin)
GET/search/?name=PublicRechercher des églises par nom
GET/lookup/?subDomain=&id=PublicRechercher une église par sous-domaine ou par 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 des é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 ID
DELETE/deleteAbandonedJWTServer.AdminSupprimer les églises abandonnées depuis 7 jours ou plus

Groups

Chemin de base : /membership/groups

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

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

Group Members

Chemin de base : /membership/groupmembers

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

MéthodeCheminAuthPermissionDescription
GET/:idJWTGroupMembers.ViewObtenir un membre de groupe par ID
GET/JWTGroupMembers.View*Lister les membres de groupe. Filtrer par ?groupId=, ?groupIds=, ou ?personId=. *Également autorisé si l'utilisateur est dans le groupe ou interroge son propre personId
GET/myJWTObtenir les adhésions à des groupes de l'utilisateur actuel
GET/basic/:groupIdJWTObtenir la liste de base des membres d'un groupe
GET/public/leaders/:churchId/:groupIdPublicObtenir les responsables d'un groupe (public)
GET/public/:churchId/:groupIdPublicObtenir la liste publique des membres d'un groupe (champs minimaux : personId, displayName, leader, photo). Uniquement lorsque le groupe active publicRoster ; alimente l'élément staffGrid du générateur de sites web
POST/JWTGroupMembers.EditAjouter ou mettre à jour des membres de groupe
DELETE/:idJWTGroupMembers.ViewRetirer un membre du groupe

Households

Chemin de base : /membership/households

Contrôleur CRUD standard.

MéthodeCheminAuthPermissionDescription
GET/JWTLister tous les foyers
GET/:idJWTObtenir un foyer par ID
POST/JWTPeople.EditCréer ou mettre à jour des foyers
DELETE/:idJWTPeople.EditSupprimer un foyer

Roles

Chemin de base : /membership/roles

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

Role Members

Chemin de base : /membership/rolemembers

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

Role Permissions

Chemin de base : /membership/rolepermissions

MéthodeCheminAuthPermissionDescription
GET/roles/:idJWTRoles.ViewObtenir les permissions d'un rôle (utiliser null comme ID pour le rôle « Everyone »)
POST/JWTRoles.EditCréer ou mettre à jour des permissions de rôle
DELETE/:idJWTRoles.EditSupprimer une permission de rôle

Permissions

Chemin de base : /membership/permissions

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

Forms

Chemin de base : /membership/forms

MéthodeCheminAuthPermissionDescription
GET/JWTForms.Admin ou Forms.EditLister tous les formulaires (l'admin voit tout ; les éditeurs voient les formulaires assignés + les formulaires non réservés aux 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 une authentification)
POST/JWTForms.Admin ou Forms.EditCréer ou mettre à jour des formulaires
DELETE/:idJWTAccès au formulaireSupprimer un formulaire

Form Submissions

Chemin de base : /membership/formsubmissions

MéthodeCheminAuthPermissionDescription
GET/JWTForms.Admin ou Forms.EditLister les soumissions. Filtrer par ?personId= ou ?formId=
GET/:idJWTForms.Admin ou Forms.EditObtenir une soumission par ID. Ajouter ?include=form,questions,answers
GET/formId/:formIdJWTAccès au formulaireObtenir toutes les soumissions d'un formulaire (inclut formulaire, questions, réponses)
POST/JWTSoumettre des réponses de formulaire (gère les formulaires restreints/non restreints, envoie des notifications par e-mail). Lorsque le formulaire a autoCreatePerson, trouve ou crée une personne Invité par e-mail et relie la soumission ; lorsque followUpSubject/followUpBody sont définis, envoie un e-mail de suivi modélisé au soumissionnaire
DELETE/:idJWTForms.Admin ou Forms.EditSupprimer une soumission et ses réponses

Questions

Chemin de base : /membership/questions

MéthodeCheminAuthPermissionDescription
GET/JWTAccès au formulaireLister les questions d'un formulaire. Nécessite ?formId=
GET/:idJWTAccès au formulaireObtenir une question par ID
GET/unrestricted?formId=JWTObtenir les questions d'un formulaire non restreint
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 des questions (assigne automatiquement l'ordre de tri)
DELETE/:id?formId=JWTAccès au formulaireSupprimer une question

Answers

Chemin de base : /membership/answers

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

Member Permissions

Chemin de base : /membership/memberpermissions

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

MéthodeCheminAuthPermissionDescription
GET/:idJWTAccès au formulaireObtenir une permission de membre par ID
GET/member/:idJWTAccès au formulaireObtenir toutes les permissions de formulaire d'un membre
GET/form/:idJWTAccès au formulaireObtenir toutes les permissions de membre d'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 des 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 d'un membre sur un formulaire

Settings

Chemin de base : /membership/settings

MéthodeCheminAuthPermissionDescription
GET/JWTSettings.EditObtenir tous les paramètres de l'église
GET/public/:churchIdPublicObtenir les paramètres publics d'une église
POST/JWTSettings.EditEnregistrer les paramètres (prend en charge le téléversement d'image en base64)

Domains

Chemin de base : /membership/domains

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

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

User Church

Chemin de base : /membership/userchurch

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

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

Visibility Preferences

Chemin de base : /membership/visibilityPreferences

MéthodeCheminAuthPermissionDescription
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)

Query

Chemin de base : /membership/query

MéthodeCheminAuthPermissionDescription
POST/membersJWTRecherche de membres en langage naturel par IA. Corps : { text, subDomain, siteUrl }

Client Errors

Chemin de base : /membership/clientErrors

MéthodeCheminAuthPermissionDescription
POST/JWTJournaliser une erreur côté client

Pages connexes