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=JWT—Ottiene 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/:householdIdJWT—Ottiene 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=JWT—Carica i dati della timeline per persone e gruppi
GET/directory/:idJWT—Ottiene una persona per la visualizzazione in directory (rispetta le preferenze di visibilità)
GET/claim/:churchIdJWT—Rivendica 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/loadOrCreatePublic—Trova o crea una persona tramite email. Corpo: { churchId, email, firstName, lastName }
POST/household/:householdIdJWTPeople.EditAggiorna le assegnazioni dei membri del nucleo familiare
POST/public/emailPublic—Invia un'email a una persona. Corpo: { churchId, personId, subject, body, appName }
POST/apiEmailsInternal—Carica 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/loginPublic—Effettua il login (email/password, refresh JWT o authGuid)
POST/registerPublic—Registra un nuovo utente
POST/forgotPublic—Invia l'email di reimpostazione password
POST/setPasswordGuidPublic—Imposta la password usando il GUID di autenticazione dal link email
POST/verifyCredentialsPublic—Verifica email/password e restituisce le chiese associate
POST/loadOrCreateJWT—Trova o crea un utente tramite email/userId
POST/setDisplayNameJWT—Aggiorna il nome e cognome dell'utente
POST/updateEmailJWT—Cambia l'indirizzo email dell'utente
POST/updatePasswordJWT—Cambia la password dell'utente (minimo 6 caratteri)
POST/updateOptedOutJWT—Imposta lo stato di opt-out di una persona
GET/search?term=JWTServer.AdminCerca tutti gli utenti per nome/email
DELETE/JWT—Elimina l'account dell'utente corrente

Churches​

Percorso base: /membership/churches

MetodoPercorsoAuthPermessoDescrizione
GET/JWT—Carica tutte le chiese per l'utente corrente
GET/:idJWT—Ottiene una chiesa per ID
GET/:id/getDomainAdminJWT—Ottiene 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=Public—Cerca chiese per nome
GET/lookup/?subDomain=&id=Public—Cerca una chiesa per sottodominio o ID
POST/JWTSettings.EditAggiorna i dettagli della chiesa
POST/addJWT—Registra una nuova chiesa. Campi obbligatori: name, address1, city, state, zip, country
POST/searchPublic—Cerca chiese per nome (variante POST)
POST/selectJWT—Seleziona/passa a una chiesa. Corpo: { churchId } o { subDomain }
POST/:id/archiveJWTServer.AdminArchivia o dearchivia una chiesa
POST/byIdsPublic—Carica 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/JWT—Elenca tutti i gruppi
GET/:idJWT—Ottiene un gruppo per ID
GET/search?campusId=&serviceId=&serviceTimeId=JWT—Cerca gruppi per filtri di servizio
GET/myJWT—Ottiene i gruppi dell'utente corrente
GET/my/:tagJWT—Ottiene i gruppi dell'utente corrente filtrati per tag
GET/tag/:tagJWT—Ottiene tutti i gruppi con un tag specifico
GET/public/:churchId/:idPublic—Ottiene un gruppo pubblico per chiesa e ID
GET/public/:churchId/tag/:tagPublic—Ottiene i gruppi pubblici per tag
GET/public/:churchId/label?label=Public—Ottiene i gruppi pubblici per etichetta
GET/public/:churchId/slug/:slugPublic—Ottiene 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/myJWT—Ottiene le appartenenze ai gruppi dell'utente corrente
GET/basic/:groupIdJWT—Ottiene l'elenco base dei membri per un gruppo
GET/public/leaders/:churchId/:groupIdPublic—Ottiene i leader del gruppo (pubblico)
GET/public/:churchId/:groupIdPublic—Ottiene 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/JWT—Elenca tutti i nuclei familiari
GET/:idJWT—Ottiene 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/:userIdJWT—Rimuovi 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/JWT—Ottiene 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=JWT—Ottiene 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/JWT—Invia 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=JWT—Ottiene le domande per un modulo non riservato
GET/sort/:id/upJWT—Sposta una domanda in su nell'ordinamento
GET/sort/:id/downJWT—Sposta 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/:churchIdPublic—Ottiene 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/JWT—Elenca tutti i domini
GET/:idJWT—Ottiene un dominio per ID
GET/lookup/:domainNameJWT—Cerca un dominio per nome
GET/public/lookup/:domainNamePublic—Ricerca pubblica di un dominio per nome
GET/health/checkPublic—Esegue 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/:userIdJWT—Ottiene il record utente-chiesa tramite ID utente
GET/personid/:personIdJWT—Ottiene l'email per l'utente collegato a una persona
GET/user/:userIdJWTServer.AdminCarica tutte le chiese di un utente
POST/JWT—Crea un'associazione utente-chiesa
PATCH/:userIdJWT—Aggiorna l'ora dell'ultimo accesso e registra l'accesso
DELETE/record/:userId/:churchId/:personIdJWT—Elimina un record utente-chiesa

Visibility Preferences​

Percorso base: /membership/visibilityPreferences

MetodoPercorsoAuthPermessoDescrizione
GET/myJWT—Ottiene le preferenze di visibilità dell'utente corrente
POST/JWT—Salva le preferenze di visibilità (visibilità di indirizzo, telefono, email)

Query​

Percorso base: /membership/query

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

Client Errors​

Percorso base: /membership/clientErrors

MetodoPercorsoAuthPermessoDescrizione
POST/JWT—Registra un errore lato client

Pagine correlate​