Vai al contenuto principale

Endpoint Membership

Il modulo Membership gestisce le persone, le chiese, i gruppi, i nuclei familiari, i ruoli, i permessi, i moduli (form) e le impostazioni. È il modulo più grande e fornisce il livello di identità e autorizzazione di base per tutti gli altri moduli.

Percorso base: /membership

People

Percorso base: /membership/people

MetodoPercorsoAuthPermessoDescrizione
GET/JWTPeople.View o MemberElenca tutte le persone della chiesa
GET/:idJWTPeople.View o proprio recordOttiene una persona per ID (include gli invii di moduli)
GET/ids?ids=JWTPeople.View o MemberOttiene più persone tramite ID separati da virgola
GET/basic?ids=JWTOttiene informazioni di base (solo nome) per più persone
GET/recentJWTPeople.View o MemberPersone aggiunte di recente
GET/search?term=&email=JWTPeople.View o MemberCerca persone per nome o email
GET/search/phone?number=JWTPeople.View o MemberCerca per numero di telefono
GET/search/group?groupId=JWTPeople.View o MemberOttiene le persone in un gruppo specifico
GET/household/:householdIdJWTOttiene tutte le persone in un nucleo familiare
GET/attendanceJWTPeople.EditCarica i partecipanti con filtri (campusId, serviceId, serviceTimeId, groupId, categoryName, startDate, endDate)
GET/timeline?personIds=&groupIds=JWTCarica i dati della timeline per persone e gruppi
GET/directory/:idJWTOttiene una persona per la visualizzazione in directory (rispetta le preferenze di visibilità)
GET/claim/:churchIdJWTRivendica un record persona per l'utente corrente presso una chiesa
POST/JWTPeople.Edit o EditSelfCrea o aggiorna persone (batch)
POST/searchJWTPeople.View o MemberCerca persone (variante POST)
POST/advancedSearchJWTPeople.View o MemberRicerca multi-condizione (età, mese di nascita, stato di appartenenza, ecc.)
POST/loadOrCreatePublicTrova o crea una persona tramite email. Corpo: { churchId, email, firstName, lastName }
POST/household/:householdIdJWTPeople.EditAggiorna le assegnazioni dei membri del nucleo familiare
POST/public/emailPublicInvia un'email a una persona. Corpo: { churchId, personId, subject, body, appName }
POST/apiEmailsInternalCarica le email delle persone tramite ID (server-to-server, richiede jwtSecret)
DELETE/:idJWTPeople.EditElimina una persona

Esempio: cercare persone

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

Esempio: creare una persona

POST /membership/people
Authorization: Bearer <token>

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

Users

Percorso base: /membership/users

Vedi Autenticazione e permessi per gli endpoint di login, registrazione e gestione password.

MetodoPercorsoAuthPermessoDescrizione
POST/loginPublicEffettua il login (email/password, refresh JWT o authGuid)
POST/registerPublicRegistra un nuovo utente
POST/forgotPublicInvia l'email di reimpostazione password
POST/setPasswordGuidPublicImposta la password usando il GUID di autenticazione dal link email
POST/verifyCredentialsPublicVerifica email/password e restituisce le chiese associate
POST/loadOrCreateJWTTrova o crea un utente tramite email/userId
POST/setDisplayNameJWTAggiorna il nome e cognome dell'utente
POST/updateEmailJWTCambia l'indirizzo email dell'utente
POST/updatePasswordJWTCambia la password dell'utente (minimo 6 caratteri)
POST/updateOptedOutJWTImposta lo stato di opt-out di una persona
GET/search?term=JWTServer.AdminCerca tutti gli utenti per nome/email
DELETE/JWTElimina l'account dell'utente corrente

Churches

Percorso base: /membership/churches

MetodoPercorsoAuthPermessoDescrizione
GET/JWTCarica tutte le chiese per l'utente corrente
GET/:idJWTOttiene una chiesa per ID
GET/:id/getDomainAdminJWTOttiene l'utente amministratore del dominio per una chiesa
GET/:id/impersonateJWTServer.AdminImpersona una chiesa (solo amministratore server)
GET/all?term=JWTServer.AdminCerca tutte le chiese (amministratore)
GET/search/?name=PublicCerca chiese per nome
GET/lookup/?subDomain=&id=PublicCerca una chiesa per sottodominio o ID
POST/JWTSettings.EditAggiorna i dettagli della chiesa
POST/addJWTRegistra una nuova chiesa. Campi obbligatori: name, address1, city, state, zip, country
POST/searchPublicCerca chiese per nome (variante POST)
POST/selectJWTSeleziona/passa a una chiesa. Corpo: { churchId } o { subDomain }
POST/:id/archiveJWTServer.AdminArchivia o dearchivia una chiesa
POST/byIdsPublicCarica più chiese tramite ID
DELETE/deleteAbandonedJWTServer.AdminElimina le chiese abbandonate da 7 o più giorni

Groups

Percorso base: /membership/groups

Estende il CRUD standard (GET /, GET /:id dalla classe base).

MetodoPercorsoAuthPermessoDescrizione
GET/JWTElenca tutti i gruppi
GET/:idJWTOttiene un gruppo per ID
GET/search?campusId=&serviceId=&serviceTimeId=JWTCerca gruppi per filtri di servizio
GET/myJWTOttiene i gruppi dell'utente corrente
GET/my/:tagJWTOttiene i gruppi dell'utente corrente filtrati per tag
GET/tag/:tagJWTOttiene tutti i gruppi con un tag specifico
GET/public/:churchId/:idPublicOttiene un gruppo pubblico per chiesa e ID
GET/public/:churchId/tag/:tagPublicOttiene i gruppi pubblici per tag
GET/public/:churchId/label?label=PublicOttiene i gruppi pubblici per etichetta
GET/public/:churchId/slug/:slugPublicOttiene un gruppo pubblico per slug
POST/JWTGroups.EditCrea o aggiorna gruppi (genera automaticamente lo slug)
DELETE/:idJWTGroups.EditElimina un gruppo (elimina anche i team figli per i gruppi ministeriali)

Group Members

Percorso base: /membership/groupmembers

Estende il CRUD standard (GET /:id, DELETE /:id dalla classe base).

MetodoPercorsoAuthPermessoDescrizione
GET/:idJWTGroupMembers.ViewOttiene un membro del gruppo per ID
GET/JWTGroupMembers.View*Elenca i membri del gruppo. Filtra con ?groupId=, ?groupIds= o ?personId=. *Consentito anche se l'utente è nel gruppo o interroga il proprio personId
GET/myJWTOttiene le appartenenze ai gruppi dell'utente corrente
GET/basic/:groupIdJWTOttiene l'elenco base dei membri per un gruppo
GET/public/leaders/:churchId/:groupIdPublicOttiene i leader del gruppo (pubblico)
GET/public/:churchId/:groupIdPublicOttiene l'elenco pubblico dei membri di un gruppo (campi minimi: personId, displayName, leader, foto). Solo quando il gruppo aderisce tramite publicRoster; alimenta l'elemento staffGrid del website builder
POST/JWTGroupMembers.EditAggiunge o aggiorna membri del gruppo
DELETE/:idJWTGroupMembers.ViewRimuove un membro del gruppo

Households

Percorso base: /membership/households

Controller CRUD standard.

MetodoPercorsoAuthPermessoDescrizione
GET/JWTElenca tutti i nuclei familiari
GET/:idJWTOttiene un nucleo familiare per ID
POST/JWTPeople.EditCrea o aggiorna nuclei familiari
DELETE/:idJWTPeople.EditElimina un nucleo familiare

Roles

Percorso base: /membership/roles

MetodoPercorsoAuthPermessoDescrizione
GET/:idJWTRoles.ViewOttiene un ruolo per ID
GET/church/:churchIdJWTRoles.ViewOttiene tutti i ruoli per una chiesa
POST/JWTRoles.EditCrea o aggiorna ruoli
DELETE/:idJWTRoles.EditElimina un ruolo (rimuove anche i suoi permessi e membri)

Role Members

Percorso base: /membership/rolemembers

MetodoPercorsoAuthPermessoDescrizione
GET/roles/:idJWTRoles.ViewOttiene i membri di un ruolo. Aggiungi ?include=users per includere i dettagli utente
POST/JWTRoles.EditAggiunge membri a un ruolo (crea l'utente se l'email non esiste)
DELETE/:idJWTRoles.ViewRimuove un membro dal ruolo
DELETE/self/:churchId/:userIdJWTRimuovi te stesso da una chiesa

Role Permissions

Percorso base: /membership/rolepermissions

MetodoPercorsoAuthPermessoDescrizione
GET/roles/:idJWTRoles.ViewOttiene i permessi di un ruolo (usa null come ID per il ruolo "Everyone")
POST/JWTRoles.EditCrea o aggiorna permessi di ruolo
DELETE/:idJWTRoles.EditElimina un permesso di ruolo

Permissions

Percorso base: /membership/permissions

MetodoPercorsoAuthPermessoDescrizione
GET/JWTOttiene l'elenco completo dei permessi disponibili

Forms

Percorso base: /membership/forms

MetodoPercorsoAuthPermessoDescrizione
GET/JWTForms.Admin o Forms.EditElenca tutti i moduli (l'admin vede tutto; gli editor vedono quelli assegnati + i moduli non riservati ai membri)
GET/:idJWTAccesso al moduloOttiene un modulo per ID
GET/archivedJWTForms.Admin o Forms.EditElenca i moduli archiviati
GET/standalone/:id?churchId=JWTOttiene un modulo autonomo (i moduli riservati richiedono l'autenticazione)
POST/JWTForms.Admin o Forms.EditCrea o aggiorna moduli
DELETE/:idJWTAccesso al moduloElimina un modulo

Form Submissions

Percorso base: /membership/formsubmissions

MetodoPercorsoAuthPermessoDescrizione
GET/JWTForms.Admin o Forms.EditElenca gli invii. Filtra con ?personId= o ?formId=
GET/:idJWTForms.Admin o Forms.EditOttiene un invio per ID. Aggiungi ?include=form,questions,answers
GET/formId/:formIdJWTAccesso al moduloOttiene tutti gli invii per un modulo (include modulo, domande, risposte)
POST/JWTInvia le risposte al modulo (gestisce moduli riservati/non riservati, invia notifiche email). Quando il modulo ha autoCreatePerson, trova o crea una persona Guest tramite email e collega l'invio; quando sono impostati followUpSubject/followUpBody, invia un'email di follow-up basata su modello al mittente
DELETE/:idJWTForms.Admin o Forms.EditElimina un invio e le sue risposte

Questions

Percorso base: /membership/questions

MetodoPercorsoAuthPermessoDescrizione
GET/JWTAccesso al moduloElenca le domande per un modulo. Richiede ?formId=
GET/:idJWTAccesso al moduloOttiene una domanda per ID
GET/unrestricted?formId=JWTOttiene le domande per un modulo non riservato
GET/sort/:id/upJWTSposta una domanda in su nell'ordinamento
GET/sort/:id/downJWTSposta una domanda in giù nell'ordinamento
POST/JWTAccesso al moduloCrea o aggiorna domande (assegna automaticamente l'ordine di ordinamento)
DELETE/:id?formId=JWTAccesso al moduloElimina una domanda

Answers

Percorso base: /membership/answers

MetodoPercorsoAuthPermessoDescrizione
GET/JWTForms.Admin o Forms.EditElenca le risposte. Filtra con ?formSubmissionId=
POST/JWTForms.Admin o Forms.EditCrea o aggiorna risposte

Member Permissions

Percorso base: /membership/memberpermissions

Controlla l'accesso per membro a moduli specifici.

MetodoPercorsoAuthPermessoDescrizione
GET/:idJWTAccesso al moduloOttiene un permesso membro per ID
GET/member/:idJWTAccesso al moduloOttiene tutti i permessi sui moduli per un membro
GET/form/:idJWTAccesso al moduloOttiene tutti i permessi membro per un modulo
GET/form/:id/myJWTAccesso al moduloOttiene il permesso dell'utente corrente per un modulo
POST/JWTAccesso al moduloCrea o aggiorna permessi membro
DELETE/:id?formId=JWTAccesso al moduloElimina un permesso membro
DELETE/member/:id?formId=JWTAccesso al moduloElimina tutti i permessi di un membro su un modulo

Settings

Percorso base: /membership/settings

MetodoPercorsoAuthPermessoDescrizione
GET/JWTSettings.EditOttiene tutte le impostazioni della chiesa
GET/public/:churchIdPublicOttiene le impostazioni pubbliche di una chiesa
POST/JWTSettings.EditSalva le impostazioni (supporta il caricamento di immagini in base64)

Domains

Percorso base: /membership/domains

Estende il CRUD standard (GET /:id, GET /, DELETE /:id dalla classe base).

MetodoPercorsoAuthPermessoDescrizione
GET/JWTElenca tutti i domini
GET/:idJWTOttiene un dominio per ID
GET/lookup/:domainNameJWTCerca un dominio per nome
GET/public/lookup/:domainNamePublicRicerca pubblica di un dominio per nome
GET/health/checkPublicEsegue un controllo di stato sui domini non verificati
POST/JWTSettings.EditCrea o aggiorna domini (attiva l'aggiornamento di Caddy)
DELETE/:idJWTSettings.EditElimina un dominio

User Church

Percorso base: /membership/userchurch

Gestisce l'associazione tra utenti e chiese.

MetodoPercorsoAuthPermessoDescrizione
GET/userid/:userIdJWTOttiene il record utente-chiesa tramite ID utente
GET/personid/:personIdJWTOttiene l'email per l'utente collegato a una persona
GET/user/:userIdJWTServer.AdminCarica tutte le chiese di un utente
POST/JWTCrea un'associazione utente-chiesa
PATCH/:userIdJWTAggiorna l'ora dell'ultimo accesso e registra l'accesso
DELETE/record/:userId/:churchId/:personIdJWTElimina un record utente-chiesa

Visibility Preferences

Percorso base: /membership/visibilityPreferences

MetodoPercorsoAuthPermessoDescrizione
GET/myJWTOttiene le preferenze di visibilità dell'utente corrente
POST/JWTSalva le preferenze di visibilità (visibilità di indirizzo, telefono, email)

Query

Percorso base: /membership/query

MetodoPercorsoAuthPermessoDescrizione
POST/membersJWTRicerca membri in linguaggio naturale tramite IA. Corpo: { text, subDomain, siteUrl }

Client Errors

Percorso base: /membership/clientErrors

MetodoPercorsoAuthPermessoDescrizione
POST/JWTRegistra un errore lato client

Pagine correlate