跳到主要内容

成员管理端点

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

基础路径: /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/loadOrCreatePublic按邮箱查找或创建人员。请求体:{ churchId, email, firstName, lastName }
POST/household/:householdIdJWTPeople.Edit更新家庭成员分配
POST/public/emailPublic向某人发送邮件。请求体:{ churchId, personId, subject, body, appName }
POST/apiEmailsInternal按 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/loginPublic登录(邮箱/密码、JWT 刷新,或 authGuid)
POST/registerPublic注册新用户
POST/forgotPublic发送密码重置邮件
POST/setPasswordGuidPublic使用邮件链接中的认证 GUID 设置密码
POST/verifyCredentialsPublic验证邮箱/密码并返回关联的教会
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=Public按名称搜索教会
GET/lookup/?subDomain=&id=Public按子域名或 ID 查找教会
POST/JWTSettings.Edit更新教会详情
POST/addJWT注册一个新教会。必填字段:name、address1、city、state、zip、country
POST/searchPublic按名称搜索教会(POST 版本)
POST/selectJWT选择/切换到某教会。请求体:{ churchId }{ subDomain }
POST/:id/archiveJWTServer.Admin归档或取消归档某教会
POST/byIdsPublic按 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/:idPublic按教会和 ID 获取公开小组
GET/public/:churchId/tag/:tagPublic按标签获取公开小组
GET/public/:churchId/label?label=Public按标签名获取公开小组
GET/public/:churchId/slug/:slugPublic按 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/:groupIdPublic获取小组负责人(公开)
GET/public/:churchId/:groupIdPublic获取某小组的公开花名册(仅含 personIddisplayNameleader、照片等基本字段)。仅在该小组通过 publicRoster 开启此功能时可用;为网站构建器的 staffGrid 元素提供支持
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提交表单答案(处理受限/非受限表单,并发送邮件通知)。当表单启用了 autoCreatePerson 时,会按邮箱查找或创建一个访客人员记录并关联该提交记录;当设置了 followUpSubject/followUpBody 时,会向提交者发送一封模板化的跟进邮件
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/:churchIdPublic获取某教会的公开设置
POST/JWTSettings.Edit保存设置(支持 base64 图片上传)

域名

基础路径:/membership/domains

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

方法路径认证权限描述
GET/JWT列出所有域名
GET/:idJWT按 ID 获取域名
GET/lookup/:domainNameJWT按名称查找域名
GET/public/lookup/:domainNamePublic公开按名称查找域名
GET/health/checkPublic对尚未检测的域名运行健康检查
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记录一条客户端错误

相关页面