Lumipat sa pangunahing nilalaman

Membership Endpoints

Pinamamahalaan ng Membership module ang mga tao, simbahan, grupo, sambahayan, tungkulin, permission, form, at setting. Ito ang pinakamalaking module at nagbibigay ng core identity at authorization layer para sa lahat ng ibang module.

Base path: /membership

People

Base path: /membership/people

MethodPathAuthPermissionDescription
GET/JWTPeople.View o MemberIlista ang lahat ng tao para sa simbahan
GET/:idJWTPeople.View o sariling recordKunin ang isang tao ayon sa ID (kasama ang mga form submission)
GET/ids?ids=JWTPeople.View o MemberKunin ang maraming tao gamit ang mga comma-separated na ID
GET/basic?ids=JWTKunin ang basic na impormasyon (pangalan lamang) para sa maraming tao
GET/recentJWTPeople.View o MemberMga kamakailan idinagdag na tao
GET/search?term=&email=JWTPeople.View o MemberMaghanap ng mga tao ayon sa pangalan o email
GET/search/phone?number=JWTPeople.View o MemberMaghanap ayon sa numero ng telepono
GET/search/group?groupId=JWTPeople.View o MemberKunin ang mga tao sa isang partikular na grupo
GET/household/:householdIdJWTKunin ang lahat ng tao sa isang sambahayan
GET/attendanceJWTPeople.EditI-load ang mga dumalo na may mga filter (campusId, serviceId, serviceTimeId, groupId, categoryName, startDate, endDate)
GET/timeline?personIds=&groupIds=JWTI-load ang timeline data para sa mga tao at grupo
GET/directory/:idJWTKunin ang isang tao para sa directory view (gumagalang sa mga visibility preference)
GET/claim/:churchIdJWTI-claim ang record ng isang tao para sa kasalukuyang user sa isang simbahan
POST/JWTPeople.Edit o EditSelfLumikha o mag-update ng mga tao (batch)
POST/searchJWTPeople.View o MemberMaghanap ng mga tao (POST variant)
POST/advancedSearchJWTPeople.View o MemberMulti-condition na paghahanap (edad, birthMonth, membershipStatus, atbp.)
POST/loadOrCreatePublicHanapin o lumikha ng isang tao ayon sa email. Body: { churchId, email, firstName, lastName }
POST/household/:householdIdJWTPeople.EditI-update ang mga assignment ng miyembro ng sambahayan
POST/public/emailPublicMagpadala ng email sa isang tao. Body: { churchId, personId, subject, body, appName }
POST/apiEmailsInternalI-load ang mga email ng tao ayon sa mga ID (server-to-server, nangangailangan ng jwtSecret)
DELETE/:idJWTPeople.EditTanggalin ang isang tao

Halimbawa: Maghanap ng mga Tao

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

Halimbawa: Lumikha ng Isang Tao

POST /membership/people
Authorization: Bearer <token>

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

Users

Base path: /membership/users

Tingnan ang Authentication & Permissions para sa mga endpoint ng pag-login, pagrehistro, at pamamahala ng password.

MethodPathAuthPermissionDescription
POST/loginPublicMag-log in (email/password, JWT refresh, o authGuid)
POST/registerPublicMagrehistro ng bagong user
POST/forgotPublicMagpadala ng email para sa pag-reset ng password
POST/setPasswordGuidPublicItakda ang password gamit ang auth GUID mula sa email link
POST/verifyCredentialsPublicI-verify ang email/password at ibalik ang mga kaugnay na simbahan
POST/loadOrCreateJWTHanapin o lumikha ng user ayon sa email/userId
POST/setDisplayNameJWTI-update ang unang pangalan at apelyido ng user
POST/updateEmailJWTBaguhin ang email address ng user
POST/updatePasswordJWTBaguhin ang password ng user (minimum 6 na karakter)
POST/updateOptedOutJWTItakda ang opted-out na katayuan ng isang tao
GET/search?term=JWTServer.AdminMaghanap ng lahat ng user ayon sa pangalan/email
DELETE/JWTTanggalin ang kasalukuyang user account

Churches

Base path: /membership/churches

MethodPathAuthPermissionDescription
GET/JWTI-load ang lahat ng simbahan para sa kasalukuyang user
GET/:idJWTKunin ang simbahan ayon sa ID
GET/:id/getDomainAdminJWTKunin ang domain admin user para sa isang simbahan
GET/:id/impersonateJWTServer.AdminI-impersonate ang isang simbahan (server admin lamang)
GET/all?term=JWTServer.AdminMaghanap sa lahat ng simbahan (admin)
GET/search/?name=PublicMaghanap ng mga simbahan ayon sa pangalan
GET/lookup/?subDomain=&id=PublicHanapin ang isang simbahan ayon sa subdomain o ID
POST/JWTSettings.EditI-update ang mga detalye ng simbahan
POST/addJWTMagrehistro ng bagong simbahan. Kinakailangang field: name, address1, city, state, zip, country
POST/searchPublicMaghanap ng mga simbahan ayon sa pangalan (POST variant)
POST/selectJWTPumili/lumipat sa isang simbahan. Body: { churchId } o { subDomain }
POST/:id/archiveJWTServer.AdminI-archive o i-unarchive ang isang simbahan
POST/byIdsPublicI-load ang maraming simbahan ayon sa mga ID
DELETE/deleteAbandonedJWTServer.AdminTanggalin ang mga simbahang inabandona nang 7+ araw

Groups

Base path: /membership/groups

Nag-e-extend ng standard na CRUD (GET /, GET /:id mula sa base class).

MethodPathAuthPermissionDescription
GET/JWTIlista ang lahat ng grupo
GET/:idJWTKunin ang grupo ayon sa ID
GET/search?campusId=&serviceId=&serviceTimeId=JWTMaghanap ng mga grupo ayon sa mga filter ng serbisyo
GET/myJWTKunin ang mga grupo para sa kasalukuyang user
GET/my/:tagJWTKunin ang mga grupo ng kasalukuyang user na na-filter ayon sa tag
GET/tag/:tagJWTKunin ang lahat ng grupong may partikular na tag
GET/public/:churchId/:idPublicKunin ang isang public na grupo ayon sa simbahan at ID
GET/public/:churchId/tag/:tagPublicKunin ang mga public na grupo ayon sa tag
GET/public/:churchId/label?label=PublicKunin ang mga public na grupo ayon sa label
GET/public/:churchId/slug/:slugPublicKunin ang isang public na grupo ayon sa slug
POST/JWTGroups.EditLumikha o mag-update ng mga grupo (awtomatikong bumubuo ng slug)
DELETE/:idJWTGroups.EditTanggalin ang isang grupo (tinatanggal din ang mga child team para sa mga ministry group)

Group Members

Base path: /membership/groupmembers

Nag-e-extend ng standard na CRUD (GET /:id, DELETE /:id mula sa base class).

MethodPathAuthPermissionDescription
GET/:idJWTGroupMembers.ViewKunin ang isang group member ayon sa ID
GET/JWTGroupMembers.View*Ilista ang mga group member. I-filter sa pamamagitan ng ?groupId=, ?groupIds=, o ?personId=. *Pinapayagan din kung ang user ay nasa grupo o nagbe-query ng sariling personId
GET/myJWTKunin ang mga group membership ng kasalukuyang user
GET/basic/:groupIdJWTKunin ang basic na listahan ng miyembro para sa isang grupo
GET/public/leaders/:churchId/:groupIdPublicKunin ang mga leader ng grupo (public)
GET/public/:churchId/:groupIdPublicKunin ang public na roster ng isang grupo (minimal na mga field: personId, displayName, leader, larawan). Lamang kapag pumili ang grupo sa pamamagitan ng publicRoster; nagpapatakbo sa staffGrid element ng website builder
POST/JWTGroupMembers.EditMagdagdag o mag-update ng mga group member
DELETE/:idJWTGroupMembers.ViewAlisin ang isang group member

Households

Base path: /membership/households

Standard na CRUD controller.

MethodPathAuthPermissionDescription
GET/JWTIlista ang lahat ng sambahayan
GET/:idJWTKunin ang sambahayan ayon sa ID
POST/JWTPeople.EditLumikha o mag-update ng mga sambahayan
DELETE/:idJWTPeople.EditTanggalin ang isang sambahayan

Roles

Base path: /membership/roles

MethodPathAuthPermissionDescription
GET/:idJWTRoles.ViewKunin ang tungkulin ayon sa ID
GET/church/:churchIdJWTRoles.ViewKunin ang lahat ng tungkulin para sa isang simbahan
POST/JWTRoles.EditLumikha o mag-update ng mga tungkulin
DELETE/:idJWTRoles.EditTanggalin ang isang tungkulin (tinatanggal din ang mga permission at miyembro nito)

Role Members

Base path: /membership/rolemembers

MethodPathAuthPermissionDescription
GET/roles/:idJWTRoles.ViewKunin ang mga miyembro para sa isang tungkulin. Idagdag ang ?include=users upang isama ang mga detalye ng user
POST/JWTRoles.EditMagdagdag ng mga miyembro sa isang tungkulin (lumilikha ng user kung wala pang email)
DELETE/:idJWTRoles.ViewAlisin ang isang miyembro ng tungkulin
DELETE/self/:churchId/:userIdJWTAlisin ang iyong sarili mula sa isang simbahan

Role Permissions

Base path: /membership/rolepermissions

MethodPathAuthPermissionDescription
GET/roles/:idJWTRoles.ViewKunin ang mga permission para sa isang tungkulin (gamitin ang null bilang ID para sa tungkuling "Everyone")
POST/JWTRoles.EditLumikha o mag-update ng mga role permission
DELETE/:idJWTRoles.EditTanggalin ang isang role permission

Permissions

Base path: /membership/permissions

MethodPathAuthPermissionDescription
GET/JWTKunin ang buong listahan ng mga available na permission

Forms

Base path: /membership/forms

MethodPathAuthPermissionDescription
GET/JWTForms.Admin o Forms.EditIlista ang lahat ng form (nakikita ng admin ang lahat; nakikita ng mga editor ang mga naitalaga + non-member na form)
GET/:idJWTForm accessKunin ang isang form ayon sa ID
GET/archivedJWTForms.Admin o Forms.EditIlista ang mga archived na form
GET/standalone/:id?churchId=JWTKunin ang isang standalone na form (nangangailangan ng auth ang mga restricted na form)
POST/JWTForms.Admin o Forms.EditLumikha o mag-update ng mga form
DELETE/:idJWTForm accessTanggalin ang isang form

Form Submissions

Base path: /membership/formsubmissions

MethodPathAuthPermissionDescription
GET/JWTForms.Admin o Forms.EditIlista ang mga submission. I-filter sa pamamagitan ng ?personId= o ?formId=
GET/:idJWTForms.Admin o Forms.EditKunin ang isang submission ayon sa ID. Idagdag ang ?include=form,questions,answers
GET/formId/:formIdJWTForm accessKunin ang lahat ng submission para sa isang form (kasama ang form, mga tanong, mga sagot)
POST/JWTIsumite ang mga sagot sa form (hinahawakan ang mga restricted/unrestricted na form, nagpapadala ng mga email notification). Kapag may autoCreatePerson ang form, humahanap o lumilikha ng Guest na tao ayon sa email at inuugnay ang submission; kapag naka-set ang followUpSubject/followUpBody, nagpapadala ng templated na follow-up email sa nagsumite
DELETE/:idJWTForms.Admin o Forms.EditTanggalin ang isang submission at ang mga sagot nito

Questions

Base path: /membership/questions

MethodPathAuthPermissionDescription
GET/JWTForm accessIlista ang mga tanong para sa isang form. Kailangan ang ?formId=
GET/:idJWTForm accessKunin ang isang tanong ayon sa ID
GET/unrestricted?formId=JWTKunin ang mga tanong para sa isang unrestricted na form
GET/sort/:id/upJWTIlipat pataas ang isang tanong sa sort order
GET/sort/:id/downJWTIlipat pababa ang isang tanong sa sort order
POST/JWTForm accessLumikha o mag-update ng mga tanong (awtomatikong nag-a-assign ng sort order)
DELETE/:id?formId=JWTForm accessTanggalin ang isang tanong

Answers

Base path: /membership/answers

MethodPathAuthPermissionDescription
GET/JWTForms.Admin o Forms.EditIlista ang mga sagot. I-filter sa pamamagitan ng ?formSubmissionId=
POST/JWTForms.Admin o Forms.EditLumikha o mag-update ng mga sagot

Member Permissions

Base path: /membership/memberpermissions

Kinokontrol ang per-member na access sa mga partikular na form.

MethodPathAuthPermissionDescription
GET/:idJWTForm accessKunin ang isang member permission ayon sa ID
GET/member/:idJWTForm accessKunin ang lahat ng form permission para sa isang miyembro
GET/form/:idJWTForm accessKunin ang lahat ng member permission para sa isang form
GET/form/:id/myJWTForm accessKunin ang permission ng kasalukuyang user para sa isang form
POST/JWTForm accessLumikha o mag-update ng mga member permission
DELETE/:id?formId=JWTForm accessTanggalin ang isang member permission
DELETE/member/:id?formId=JWTForm accessTanggalin ang lahat ng permission para sa isang miyembro sa isang form

Settings

Base path: /membership/settings

MethodPathAuthPermissionDescription
GET/JWTSettings.EditKunin ang lahat ng setting para sa simbahan
GET/public/:churchIdPublicKunin ang mga public na setting para sa isang simbahan
POST/JWTSettings.EditI-save ang mga setting (sinusuportahan ang base64 image upload)

Domains

Base path: /membership/domains

Nag-e-extend ng standard na CRUD (GET /:id, GET /, DELETE /:id mula sa base class).

MethodPathAuthPermissionDescription
GET/JWTIlista ang lahat ng domain
GET/:idJWTKunin ang domain ayon sa ID
GET/lookup/:domainNameJWTHanapin ang isang domain ayon sa pangalan
GET/public/lookup/:domainNamePublicPublic na paghahanap ng domain ayon sa pangalan
GET/health/checkPublicMagpatakbo ng health check sa mga hindi pa nasusuring domain
POST/JWTSettings.EditLumikha o mag-update ng mga domain (nagtatrigger ng Caddy update)
DELETE/:idJWTSettings.EditTanggalin ang isang domain

User Church

Base path: /membership/userchurch

Pinamamahalaan ang ugnayan sa pagitan ng mga user at simbahan.

MethodPathAuthPermissionDescription
GET/userid/:userIdJWTKunin ang user-church record ayon sa user ID
GET/personid/:personIdJWTKunin ang email para sa naka-link na user ng isang tao
GET/user/:userIdJWTServer.AdminI-load ang lahat ng simbahan para sa isang user
POST/JWTLumikha ng isang ugnayang user-church
PATCH/:userIdJWTI-update ang huling naka-access na oras at i-log ang access
DELETE/record/:userId/:churchId/:personIdJWTTanggalin ang isang user-church record

Visibility Preferences

Base path: /membership/visibilityPreferences

MethodPathAuthPermissionDescription
GET/myJWTKunin ang mga visibility preference ng kasalukuyang user
POST/JWTI-save ang mga visibility preference (visibility ng address, telepono, email)

Query

Base path: /membership/query

MethodPathAuthPermissionDescription
POST/membersJWTNatural language na paghahanap ng miyembro gamit ang AI. Body: { text, subDomain, siteUrl }

Client Errors

Base path: /membership/clientErrors

MethodPathAuthPermissionDescription
POST/JWTI-log ang isang client-side na error

Mga Kaugnay na Pahina