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=JWT—Obtenir 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/:householdIdJWT—Obtenir toutes les personnes d'un foyer
GET/attendanceJWTPeople.EditCharger les participants avec filtres (campusId, serviceId, serviceTimeId, groupId, categoryName, startDate, endDate)
GET/timeline?personIds=&groupIds=JWT—Charger les données de timeline pour des personnes et des groupes
GET/directory/:idJWT—Obtenir une personne pour l'affichage annuaire (respecte les préférences de visibilité)
GET/claim/:churchIdJWT—Ré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/loadOrCreatePublic—Trouver 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/emailPublic—Envoyer un e-mail à une personne. Corps : { churchId, personId, subject, body, appName }
POST/apiEmailsInternal—Charger 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/loginPublic—Se connecter (e-mail/mot de passe, actualisation JWT, ou authGuid)
POST/registerPublic—Inscrire un nouvel utilisateur
POST/forgotPublic—Envoyer l'e-mail de réinitialisation du mot de passe
POST/setPasswordGuidPublic—Définir le mot de passe à l'aide du GUID d'authentification du lien e-mail
POST/verifyCredentialsPublic—Vérifier l'e-mail/mot de passe et renvoyer les églises associées
POST/loadOrCreateJWT—Trouver ou créer un utilisateur par e-mail/userId
POST/setDisplayNameJWT—Mettre à jour le prénom et le nom de l'utilisateur
POST/updateEmailJWT—Changer l'adresse e-mail de l'utilisateur
POST/updatePasswordJWT—Changer le mot de passe de l'utilisateur (6 caractères min.)
POST/updateOptedOutJWT—Définir le statut de désabonnement d'une personne
GET/search?term=JWTServer.AdminRechercher tous les utilisateurs par nom/e-mail
DELETE/JWT—Supprimer le compte utilisateur actuel

Churches​

Chemin de base : /membership/churches

MéthodeCheminAuthPermissionDescription
GET/JWT—Charger toutes les églises de l'utilisateur actuel
GET/:idJWT—Obtenir une église par ID
GET/:id/getDomainAdminJWT—Obtenir 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=Public—Rechercher des églises par nom
GET/lookup/?subDomain=&id=Public—Rechercher une église par sous-domaine ou par ID
POST/JWTSettings.EditMettre à jour les détails de l'église
POST/addJWT—Enregistrer une nouvelle église. Champs requis : name, address1, city, state, zip, country
POST/searchPublic—Rechercher des églises par nom (variante POST)
POST/selectJWT—Sélectionner/basculer vers une église. Corps : { churchId } ou { subDomain }
POST/:id/archiveJWTServer.AdminArchiver ou désarchiver une église
POST/byIdsPublic—Charger 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/JWT—Lister tous les groupes
GET/:idJWT—Obtenir un groupe par ID
GET/search?campusId=&serviceId=&serviceTimeId=JWT—Rechercher des groupes par filtres de service
GET/myJWT—Obtenir les groupes de l'utilisateur actuel
GET/my/:tagJWT—Obtenir les groupes de l'utilisateur actuel filtrés par étiquette
GET/tag/:tagJWT—Obtenir tous les groupes portant une étiquette spécifique
GET/public/:churchId/:idPublic—Obtenir un groupe public par église et par ID
GET/public/:churchId/tag/:tagPublic—Obtenir des groupes publics par étiquette
GET/public/:churchId/label?label=Public—Obtenir des groupes publics par libellé
GET/public/:churchId/slug/:slugPublic—Obtenir 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/myJWT—Obtenir les adhésions à des groupes de l'utilisateur actuel
GET/basic/:groupIdJWT—Obtenir la liste de base des membres d'un groupe
GET/public/leaders/:churchId/:groupIdPublic—Obtenir les responsables d'un groupe (public)
GET/public/:churchId/:groupIdPublic—Obtenir 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/JWT—Lister tous les foyers
GET/:idJWT—Obtenir 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/:userIdJWT—Vous 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/JWT—Obtenir 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=JWT—Obtenir 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/JWT—Soumettre 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=JWT—Obtenir les questions d'un formulaire non restreint
GET/sort/:id/upJWT—Déplacer une question vers le haut dans l'ordre de tri
GET/sort/:id/downJWT—Dé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/:churchIdPublic—Obtenir 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/JWT—Lister tous les domaines
GET/:idJWT—Obtenir un domaine par ID
GET/lookup/:domainNameJWT—Rechercher un domaine par nom
GET/public/lookup/:domainNamePublic—Recherche publique de domaine par nom
GET/health/checkPublic—Exé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/:userIdJWT—Obtenir l'enregistrement utilisateur-église par ID utilisateur
GET/personid/:personIdJWT—Obtenir l'e-mail de l'utilisateur lié à une personne
GET/user/:userIdJWTServer.AdminCharger toutes les églises d'un utilisateur
POST/JWT—Créer une association utilisateur-église
PATCH/:userIdJWT—Mettre à jour l'heure du dernier accès et journaliser l'accès
DELETE/record/:userId/:churchId/:personIdJWT—Supprimer un enregistrement utilisateur-église

Visibility Preferences​

Chemin de base : /membership/visibilityPreferences

MéthodeCheminAuthPermissionDescription
GET/myJWT—Obtenir les préférences de visibilité de l'utilisateur actuel
POST/JWT—Enregistrer 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/membersJWT—Recherche de membres en langage naturel par IA. Corps : { text, subDomain, siteUrl }

Client Errors​

Chemin de base : /membership/clientErrors

MéthodeCheminAuthPermissionDescription
POST/JWT—Journaliser une erreur côté client

Pages connexes​