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 e le impostazioni. È il modulo più grande e fornisce il livello di identità e autorizzazione principale per tutti gli altri moduli.

Percorso base: /membership

Persone

Percorso base: /membership/people

MetodoPercorsoAuthPermessoDescrizione
GET/JWTPeople.View o MembroElenca tutte le persone per la chiesa
GET/:idJWTPeople.View o proprio recordOttieni una persona per ID (include le sottomissioni dei moduli)
GET/ids?ids=JWTPeople.View o MembroOttieni più persone per ID separati da virgola
GET/basic?ids=JWTOttieni informazioni base (solo nome) per più persone
GET/recentJWTPeople.View o MembroPersone aggiunte di recente
GET/search?term=&email=JWTPeople.View o MembroCerca persone per nome o email
GET/search/phone?number=JWTPeople.View o MembroCerca per numero di telefono
GET/search/group?groupId=JWTPeople.View o MembroOttieni le persone in un gruppo specifico
GET/household/:householdIdJWTOttieni 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/:idJWTOttieni una persona per la vista directory (rispetta le preferenze di visibilità)
GET/claim/:churchIdJWTReclama un record persona per l'utente corrente in una chiesa
POST/JWTPeople.Edit o EditSelfCrea o aggiorna persone (batch)
POST/searchJWTPeople.View o MembroCerca persone (variante POST)
POST/advancedSearchJWTPeople.View o MembroRicerca multi-condizione (età, mese di nascita, stato di appartenenza, ecc.)
POST/loadOrCreatePubblicoTrova o crea una persona per email. Body: { churchId, email, firstName, lastName }
POST/household/:householdIdJWTPeople.EditAggiorna le assegnazioni dei membri del nucleo familiare
POST/public/emailPubblicoInvia un'email a una persona. Body: { churchId, personId, subject, body, appName }
POST/apiEmailsInternoCarica le email delle persone per ID (server-to-server, richiede jwtSecret)
DELETE/:idJWTPeople.EditElimina una persona

Esempio: Cerca 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: Crea una Persona

POST /membership/people
Authorization: Bearer <token>

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

Utenti

Percorso base: /membership/users

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

MetodoPercorsoAuthPermessoDescrizione
POST/loginPubblicoAccedi (email/password, aggiornamento JWT o authGuid)
POST/registerPubblicoRegistra un nuovo utente
POST/forgotPubblicoInvia l'email di reimpostazione password
POST/setPasswordGuidPubblicoImposta la password utilizzando il GUID di autenticazione dal link email
POST/verifyCredentialsPubblicoVerifica email/password e restituisce le chiese associate
POST/loadOrCreateJWTTrova o crea un utente per email/userId
POST/setDisplayNameJWTAggiorna 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 rinuncia di una persona
GET/search?term=JWTServer.AdminCerca tutti gli utenti per nome/email
DELETE/JWTElimina l'account dell'utente corrente

Chiese

Percorso base: /membership/churches

MetodoPercorsoAuthPermessoDescrizione
GET/JWTCarica tutte le chiese per l'utente corrente
GET/:idJWTOttieni una chiesa per ID
GET/:id/getDomainAdminJWTOttieni 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 (admin)
GET/search/?name=PubblicoCerca chiese per nome
GET/lookup/?subDomain=&id=PubblicoCerca 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/searchPubblicoCerca chiese per nome (variante POST)
POST/selectJWTSeleziona/cambia chiesa. Body: { churchId } o { subDomain }
POST/:id/archiveJWTServer.AdminArchivia o ripristina una chiesa
POST/byIdsPubblicoCarica più chiese per ID
DELETE/deleteAbandonedJWTServer.AdminElimina le chiese abbandonate da più di 7 giorni

Gruppi

Percorso base: /membership/groups

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

MetodoPercorsoAuthPermessoDescrizione
GET/JWTElenca tutti i gruppi
GET/:idJWTOttieni un gruppo per ID
GET/search?campusId=&serviceId=&serviceTimeId=JWTCerca gruppi per filtri di servizio
GET/myJWTOttieni i gruppi per l'utente corrente
GET/my/:tagJWTOttieni i gruppi dell'utente corrente filtrati per tag
GET/tag/:tagJWTOttieni tutti i gruppi con un tag specifico
GET/public/:churchId/:idPubblicoOttieni un gruppo pubblico per chiesa e ID
GET/public/:churchId/tag/:tagPubblicoOttieni i gruppi pubblici per tag
GET/public/:churchId/label?label=PubblicoOttieni i gruppi pubblici per etichetta
GET/public/:churchId/slug/:slugPubblicoOttieni un gruppo pubblico per slug
POST/JWTGroups.EditCrea o aggiorna gruppi (genera automaticamente lo slug)
DELETE/:idJWTGroups.EditElimina un gruppo (elimina anche i team figlio per i gruppi ministeriali)

Membri del Gruppo

Percorso base: /membership/groupmembers

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

MetodoPercorsoAuthPermessoDescrizione
GET/:idJWTGroupMembers.ViewOttieni un membro del gruppo per ID
GET/JWTGroupMembers.View*Elenca i membri del gruppo. Filtra per ?groupId=, ?groupIds=, o ?personId=. *Consentito anche se l'utente è nel gruppo o richiede il proprio personId
GET/myJWTOttieni le appartenenze ai gruppi dell'utente corrente
GET/basic/:groupIdJWTOttieni la lista base dei membri per un gruppo
GET/public/leaders/:churchId/:groupIdPubblicoOttieni i leader del gruppo (pubblico)
POST/JWTGroupMembers.EditAggiungi o aggiorna i membri del gruppo
DELETE/:idJWTGroupMembers.ViewRimuovi un membro del gruppo

Nuclei Familiari

Percorso base: /membership/households

Controller CRUD standard.

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

Ruoli

Percorso base: /membership/roles

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

Membri del Ruolo

Percorso base: /membership/rolemembers

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

Permessi del Ruolo

Percorso base: /membership/rolepermissions

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

Permessi

Percorso base: /membership/permissions

MetodoPercorsoAuthPermessoDescrizione
GET/JWTOttieni la lista completa dei permessi disponibili

Moduli

Percorso base: /membership/forms

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

Sottomissioni dei Moduli

Percorso base: /membership/formsubmissions

MetodoPercorsoAuthPermessoDescrizione
GET/JWTForms.Admin o Forms.EditElenca le sottomissioni. Filtra per ?personId= o ?formId=
GET/:idJWTForms.Admin o Forms.EditOttieni una sottomissione per ID. Aggiungi ?include=form,questions,answers
GET/formId/:formIdJWTAccesso al moduloOttieni tutte le sottomissioni per un modulo (include modulo, domande, risposte)
POST/JWTInvia le risposte del modulo (gestisce moduli con e senza restrizioni, invia notifiche email)
DELETE/:idJWTForms.Admin o Forms.EditElimina una sottomissione e le sue risposte

Domande

Percorso base: /membership/questions

MetodoPercorsoAuthPermessoDescrizione
GET/JWTAccesso al moduloElenca le domande per un modulo. Richiede ?formId=
GET/:idJWTAccesso al moduloOttieni una domanda per ID
GET/unrestricted?formId=JWTOttieni le domande per un modulo senza restrizioni
GET/sort/:id/upJWTSposta una domanda in alto nell'ordine
GET/sort/:id/downJWTSposta una domanda in basso nell'ordine
POST/JWTAccesso al moduloCrea o aggiorna domande (assegna automaticamente l'ordine)
DELETE/:id?formId=JWTAccesso al moduloElimina una domanda

Risposte

Percorso base: /membership/answers

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

Permessi dei Membri

Percorso base: /membership/memberpermissions

Controlla l'accesso per membro a moduli specifici.

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

Impostazioni

Percorso base: /membership/settings

MetodoPercorsoAuthPermessoDescrizione
GET/JWTSettings.EditOttieni tutte le impostazioni per la chiesa
GET/public/:churchIdPubblicoOttieni le impostazioni pubbliche per una chiesa
POST/JWTSettings.EditSalva le impostazioni (supporta caricamento immagini in base64)

Domini

Percorso base: /membership/domains

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

MetodoPercorsoAuthPermessoDescrizione
GET/JWTElenca tutti i domini
GET/:idJWTOttieni un dominio per ID
GET/lookup/:domainNameJWTCerca un dominio per nome
GET/public/lookup/:domainNamePubblicoRicerca pubblica del dominio per nome
GET/health/checkPubblicoEsegui il controllo di salute sui domini non verificati
POST/JWTSettings.EditCrea o aggiorna domini (attiva l'aggiornamento Caddy)
DELETE/:idJWTSettings.EditElimina un dominio

Utente Chiesa

Percorso base: /membership/userchurch

Gestisce l'associazione tra utenti e chiese.

MetodoPercorsoAuthPermessoDescrizione
GET/userid/:userIdJWTOttieni il record utente-chiesa per ID utente
GET/personid/:personIdJWTOttieni l'email per l'utente collegato di una persona
GET/user/:userIdJWTServer.AdminCarica tutte le chiese per 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

Preferenze di Visibilità

Percorso base: /membership/visibilityPreferences

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

Query

Percorso base: /membership/query

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

Errori Client

Percorso base: /membership/clientErrors

MetodoPercorsoAuthPermessoDescrizione
POST/JWTRegistra un errore lato client

Pagine Correlate