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=JWT—Kunin 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/:householdIdJWT—Kunin 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=JWT—I-load ang timeline data para sa mga tao at grupo
GET/directory/:idJWT—Kunin ang isang tao para sa directory view (gumagalang sa mga visibility preference)
GET/claim/:churchIdJWT—I-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/loadOrCreatePublic—Hanapin 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/emailPublic—Magpadala ng email sa isang tao. Body: { churchId, personId, subject, body, appName }
POST/apiEmailsInternal—I-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/loginPublic—Mag-log in (email/password, JWT refresh, o authGuid)
POST/registerPublic—Magrehistro ng bagong user
POST/forgotPublic—Magpadala ng email para sa pag-reset ng password
POST/setPasswordGuidPublic—Itakda ang password gamit ang auth GUID mula sa email link
POST/verifyCredentialsPublic—I-verify ang email/password at ibalik ang mga kaugnay na simbahan
POST/loadOrCreateJWT—Hanapin o lumikha ng user ayon sa email/userId
POST/setDisplayNameJWT—I-update ang unang pangalan at apelyido ng user
POST/updateEmailJWT—Baguhin ang email address ng user
POST/updatePasswordJWT—Baguhin ang password ng user (minimum 6 na karakter)
POST/updateOptedOutJWT—Itakda ang opted-out na katayuan ng isang tao
GET/search?term=JWTServer.AdminMaghanap ng lahat ng user ayon sa pangalan/email
DELETE/JWT—Tanggalin ang kasalukuyang user account

Churches​

Base path: /membership/churches

MethodPathAuthPermissionDescription
GET/JWT—I-load ang lahat ng simbahan para sa kasalukuyang user
GET/:idJWT—Kunin ang simbahan ayon sa ID
GET/:id/getDomainAdminJWT—Kunin 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=Public—Maghanap ng mga simbahan ayon sa pangalan
GET/lookup/?subDomain=&id=Public—Hanapin ang isang simbahan ayon sa subdomain o ID
POST/JWTSettings.EditI-update ang mga detalye ng simbahan
POST/addJWT—Magrehistro ng bagong simbahan. Kinakailangang field: name, address1, city, state, zip, country
POST/searchPublic—Maghanap ng mga simbahan ayon sa pangalan (POST variant)
POST/selectJWT—Pumili/lumipat sa isang simbahan. Body: { churchId } o { subDomain }
POST/:id/archiveJWTServer.AdminI-archive o i-unarchive ang isang simbahan
POST/byIdsPublic—I-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/JWT—Ilista ang lahat ng grupo
GET/:idJWT—Kunin ang grupo ayon sa ID
GET/search?campusId=&serviceId=&serviceTimeId=JWT—Maghanap ng mga grupo ayon sa mga filter ng serbisyo
GET/myJWT—Kunin ang mga grupo para sa kasalukuyang user
GET/my/:tagJWT—Kunin ang mga grupo ng kasalukuyang user na na-filter ayon sa tag
GET/tag/:tagJWT—Kunin ang lahat ng grupong may partikular na tag
GET/public/:churchId/:idPublic—Kunin ang isang public na grupo ayon sa simbahan at ID
GET/public/:churchId/tag/:tagPublic—Kunin ang mga public na grupo ayon sa tag
GET/public/:churchId/label?label=Public—Kunin ang mga public na grupo ayon sa label
GET/public/:churchId/slug/:slugPublic—Kunin 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/myJWT—Kunin ang mga group membership ng kasalukuyang user
GET/basic/:groupIdJWT—Kunin ang basic na listahan ng miyembro para sa isang grupo
GET/public/leaders/:churchId/:groupIdPublic—Kunin ang mga leader ng grupo (public)
GET/public/:churchId/:groupIdPublic—Kunin 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/JWT—Ilista ang lahat ng sambahayan
GET/:idJWT—Kunin 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/:userIdJWT—Alisin 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/JWT—Kunin 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=JWT—Kunin 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/JWT—Isumite 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=JWT—Kunin ang mga tanong para sa isang unrestricted na form
GET/sort/:id/upJWT—Ilipat pataas ang isang tanong sa sort order
GET/sort/:id/downJWT—Ilipat 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/:churchIdPublic—Kunin 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/JWT—Ilista ang lahat ng domain
GET/:idJWT—Kunin ang domain ayon sa ID
GET/lookup/:domainNameJWT—Hanapin ang isang domain ayon sa pangalan
GET/public/lookup/:domainNamePublic—Public na paghahanap ng domain ayon sa pangalan
GET/health/checkPublic—Magpatakbo 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/:userIdJWT—Kunin ang user-church record ayon sa user ID
GET/personid/:personIdJWT—Kunin 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/JWT—Lumikha ng isang ugnayang user-church
PATCH/:userIdJWT—I-update ang huling naka-access na oras at i-log ang access
DELETE/record/:userId/:churchId/:personIdJWT—Tanggalin ang isang user-church record

Visibility Preferences​

Base path: /membership/visibilityPreferences

MethodPathAuthPermissionDescription
GET/myJWT—Kunin ang mga visibility preference ng kasalukuyang user
POST/JWT—I-save ang mga visibility preference (visibility ng address, telepono, email)

Query​

Base path: /membership/query

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

Client Errors​

Base path: /membership/clientErrors

MethodPathAuthPermissionDescription
POST/JWT—I-log ang isang client-side na error

Mga Kaugnay na Pahina​