跳到主要内容

成员管理端点

成员管理模块管理人员、教会、群组、家庭、角色、权限、表单和设置。它是最大的模块,为所有其他模块提供核心身份和授权层。

基础路径: /membership

人员

基础路径:/membership/people

方法路径认证权限描述
GET/JWTPeople.View 或成员列出教会的所有人员
GET/:idJWTPeople.View 或自己的记录按 ID 获取人员(包含表单提交)
GET/ids?ids=JWTPeople.View 或成员按逗号分隔的 ID 获取多个人员
GET/basic?ids=JWT获取多个人员的基本信息(仅姓名)
GET/recentJWTPeople.View 或成员最近添加的人员
GET/search?term=&email=JWTPeople.View 或成员按姓名或邮箱搜索人员
GET/search/phone?number=JWTPeople.View 或成员按电话号码搜索
GET/search/group?groupId=JWTPeople.View 或成员获取特定群组中的人员
GET/household/:householdIdJWT获取家庭中的所有人员
GET/attendanceJWTPeople.Edit加载带过滤器的出席者(campusId、serviceId、serviceTimeId、groupId、categoryName、startDate、endDate)
GET/timeline?personIds=&groupIds=JWT加载人员和群组的时间线数据
GET/directory/:idJWT获取通讯录视图的人员(尊重可见性偏好)
GET/claim/:churchIdJWT为当前用户在某教会认领人员记录
POST/JWTPeople.Edit 或 EditSelf创建或更新人员(批量)
POST/searchJWTPeople.View 或成员搜索人员(POST 变体)
POST/advancedSearchJWTPeople.View 或成员多条件搜索(年龄、出生月份、成员状态等)
POST/loadOrCreate公开按邮箱查找或创建人员。请求体:{ churchId, email, firstName, lastName }
POST/household/:householdIdJWTPeople.Edit更新家庭成员分配
POST/public/email公开向某人发送邮件。请求体:{ churchId, personId, subject, body, appName }
POST/apiEmails内部按 ID 加载人员邮箱(服务器间通信,需要 jwtSecret)
DELETE/:idJWTPeople.Edit删除人员

示例:搜索人员

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

示例:创建人员

POST /membership/people
Authorization: Bearer <token>

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

用户

基础路径:/membership/users

有关登录、注册和密码管理端点,请参见认证与权限

方法路径认证权限描述
POST/login公开登录(邮箱/密码、JWT 刷新或 authGuid)
POST/register公开注册新用户
POST/forgot公开发送密码重置邮件
POST/setPasswordGuid公开使用邮件链接中的认证 GUID 设置密码
POST/verifyCredentials公开验证邮箱/密码并返回关联的教会
POST/loadOrCreateJWT按邮箱/userId 查找或创建用户
POST/setDisplayNameJWT更新用户的姓和名
POST/updateEmailJWT更改用户的邮箱地址
POST/updatePasswordJWT更改用户的密码(最少 6 个字符)
POST/updateOptedOutJWT设置人员的退出状态
GET/search?term=JWTServer.Admin按姓名/邮箱搜索所有用户
DELETE/JWT删除当前用户账户

教会

基础路径:/membership/churches

方法路径认证权限描述
GET/JWT加载当前用户的所有教会
GET/:idJWT按 ID 获取教会
GET/:id/getDomainAdminJWT获取教会的域管理员用户
GET/:id/impersonateJWTServer.Admin模拟教会(仅服务器管理员)
GET/all?term=JWTServer.Admin搜索所有教会(管理员)
GET/search/?name=公开按名称搜索教会
GET/lookup/?subDomain=&id=公开按子域名或 ID 查找教会
POST/JWTSettings.Edit更新教会详情
POST/addJWT注册新教会。必填字段:name、address1、city、state、zip、country
POST/search公开按名称搜索教会(POST 变体)
POST/selectJWT选择/切换到某教会。请求体:{ churchId }{ subDomain }
POST/:id/archiveJWTServer.Admin归档或取消归档教会
POST/byIds公开按 ID 加载多个教会
DELETE/deleteAbandonedJWTServer.Admin删除已废弃 7 天以上的教会

群组

基础路径:/membership/groups

继承标准 CRUD(基类提供 GET /、GET /:id)。

方法路径认证权限描述
GET/JWT列出所有群组
GET/:idJWT按 ID 获取群组
GET/search?campusId=&serviceId=&serviceTimeId=JWT按礼拜过滤器搜索群组
GET/myJWT获取当前用户的群组
GET/my/:tagJWT获取当前用户按标签过滤的群组
GET/tag/:tagJWT获取具有特定标签的所有群组
GET/public/:churchId/:id公开按教会和 ID 获取公开群组
GET/public/:churchId/tag/:tag公开按标签获取公开群组
GET/public/:churchId/label?label=公开按标签获取公开群组
GET/public/:churchId/slug/:slug公开按 slug 获取公开群组
POST/JWTGroups.Edit创建或更新群组(自动生成 slug)
DELETE/:idJWTGroups.Edit删除群组(同时删除事工群组的子团队)

群组成员

基础路径:/membership/groupmembers

继承标准 CRUD(基类提供 GET /:id、DELETE /:id)。

方法路径认证权限描述
GET/:idJWTGroupMembers.View按 ID 获取群组成员
GET/JWTGroupMembers.View*列出群组成员。按 ?groupId=?groupIds=?personId= 过滤。*如果用户在群组中或查询自己的 personId 也允许访问
GET/myJWT获取当前用户的群组成员资格
GET/basic/:groupIdJWT获取群组的基本成员列表
GET/public/leaders/:churchId/:groupId公开获取群组领导者(公开)
POST/JWTGroupMembers.Edit添加或更新群组成员
DELETE/:idJWTGroupMembers.View移除群组成员

家庭

基础路径:/membership/households

标准 CRUD 控制器。

方法路径认证权限描述
GET/JWT列出所有家庭
GET/:idJWT按 ID 获取家庭
POST/JWTPeople.Edit创建或更新家庭
DELETE/:idJWTPeople.Edit删除家庭

角色

基础路径:/membership/roles

方法路径认证权限描述
GET/:idJWTRoles.View按 ID 获取角色
GET/church/:churchIdJWTRoles.View获取教会的所有角色
POST/JWTRoles.Edit创建或更新角色
DELETE/:idJWTRoles.Edit删除角色(同时移除其权限和成员)

角色成员

基础路径:/membership/rolemembers

方法路径认证权限描述
GET/roles/:idJWTRoles.View获取角色的成员。添加 ?include=users 以包含用户详情
POST/JWTRoles.Edit向角色添加成员(如果邮箱不存在则创建用户)
DELETE/:idJWTRoles.View移除角色成员
DELETE/self/:churchId/:userIdJWT将自己从教会中移除

角色权限

基础路径:/membership/rolepermissions

方法路径认证权限描述
GET/roles/:idJWTRoles.View获取角色的权限(使用 null 作为 ID 获取"所有人"角色)
POST/JWTRoles.Edit创建或更新角色权限
DELETE/:idJWTRoles.Edit删除角色权限

权限

基础路径:/membership/permissions

方法路径认证权限描述
GET/JWT获取完整的可用权限列表

表单

基础路径:/membership/forms

方法路径认证权限描述
GET/JWTForms.Admin 或 Forms.Edit列出所有表单(管理员看到所有;编辑者看到已分配的和非成员表单)
GET/:idJWT表单访问权限按 ID 获取表单
GET/archivedJWTForms.Admin 或 Forms.Edit列出已归档的表单
GET/standalone/:id?churchId=JWT获取独立表单(受限表单需要认证)
POST/JWTForms.Admin 或 Forms.Edit创建或更新表单
DELETE/:idJWT表单访问权限删除表单

表单提交

基础路径:/membership/formsubmissions

方法路径认证权限描述
GET/JWTForms.Admin 或 Forms.Edit列出提交。按 ?personId=?formId= 过滤
GET/:idJWTForms.Admin 或 Forms.Edit按 ID 获取提交。添加 ?include=form,questions,answers
GET/formId/:formIdJWT表单访问权限获取某表单的所有提交(包含表单、问题、答案)
POST/JWT提交表单答案(处理受限/非受限表单,发送邮件通知)
DELETE/:idJWTForms.Admin 或 Forms.Edit删除提交及其答案

问题

基础路径:/membership/questions

方法路径认证权限描述
GET/JWT表单访问权限列出某表单的问题。需要 ?formId=
GET/:idJWT表单访问权限按 ID 获取问题
GET/unrestricted?formId=JWT获取非受限表单的问题
GET/sort/:id/upJWT将问题向上移动排序
GET/sort/:id/downJWT将问题向下移动排序
POST/JWT表单访问权限创建或更新问题(自动分配排序顺序)
DELETE/:id?formId=JWT表单访问权限删除问题

答案

基础路径:/membership/answers

方法路径认证权限描述
GET/JWTForms.Admin 或 Forms.Edit列出答案。按 ?formSubmissionId= 过滤
POST/JWTForms.Admin 或 Forms.Edit创建或更新答案

成员权限

基础路径:/membership/memberpermissions

控制每个成员对特定表单的访问权限。

方法路径认证权限描述
GET/:idJWT表单访问权限按 ID 获取成员权限
GET/member/:idJWT表单访问权限获取成员的所有表单权限
GET/form/:idJWT表单访问权限获取表单的所有成员权限
GET/form/:id/myJWT表单访问权限获取当前用户对某表单的权限
POST/JWT表单访问权限创建或更新成员权限
DELETE/:id?formId=JWT表单访问权限删除成员权限
DELETE/member/:id?formId=JWT表单访问权限删除成员在某表单上的所有权限

设置

基础路径:/membership/settings

方法路径认证权限描述
GET/JWTSettings.Edit获取教会的所有设置
GET/public/:churchId公开获取教会的公开设置
POST/JWTSettings.Edit保存设置(支持 base64 图片上传)

域名

基础路径:/membership/domains

继承标准 CRUD(基类提供 GET /:id、GET /、DELETE /:id)。

方法路径认证权限描述
GET/JWT列出所有域名
GET/:idJWT按 ID 获取域名
GET/lookup/:domainNameJWT按名称查找域名
GET/public/lookup/:domainName公开公开按名称查找域名
GET/health/check公开对未检查的域名运行健康检查
POST/JWTSettings.Edit创建或更新域名(触发 Caddy 更新)
DELETE/:idJWTSettings.Edit删除域名

用户教会

基础路径:/membership/userchurch

管理用户和教会之间的关联。

方法路径认证权限描述
GET/userid/:userIdJWT按用户 ID 获取用户-教会记录
GET/personid/:personIdJWT获取人员关联用户的邮箱
GET/user/:userIdJWTServer.Admin加载用户的所有教会
POST/JWT创建用户-教会关联
PATCH/:userIdJWT更新最后访问时间并记录访问
DELETE/record/:userId/:churchId/:personIdJWT删除用户-教会记录

可见性偏好

基础路径:/membership/visibilityPreferences

方法路径认证权限描述
GET/myJWT获取当前用户的可见性偏好
POST/JWT保存可见性偏好(地址、电话、邮箱可见性)

查询

基础路径:/membership/query

方法路径认证权限描述
POST/membersJWT使用 AI 进行自然语言成员搜索。请求体:{ text, subDomain, siteUrl }

客户端错误

基础路径:/membership/clientErrors

方法路径认证权限描述
POST/JWT记录客户端错误

相关页面