Zum Hauptinhalt springen

Membership-Endpoints

Das Membership-Modul verwaltet Personen, Kirchen, Gruppen, Haushalte, Rollen, Berechtigungen, Formulare und Einstellungen. Es ist das größte Modul und bietet die Core-Identitäts- und Autorisierungsschicht für alle anderen Module.

Basispfad: /membership

Personen

Basispfad: /membership/people

MethodePfadAuthBerechtigungBeschreibung
GET/JWTPeople.View oder MemberAlle Personen für die Kirche auflisten
GET/:idJWTPeople.View oder eigener DatensatzPerson nach ID abrufen (enthält Formulareinreichungen)
GET/ids?ids=JWTPeople.View oder MemberMehrere Personen nach komma-getrennten IDs abrufen
GET/basic?ids=JWTGrundinformationen (nur Name) für mehrere Personen abrufen
GET/recentJWTPeople.View oder MemberKürzlich hinzugefügte Personen
GET/search?term=&email=JWTPeople.View oder MemberPersonen nach Name oder E-Mail suchen
GET/search/phone?number=JWTPeople.View oder MemberNach Telefonnummer suchen
GET/search/group?groupId=JWTPeople.View oder MemberPersonen in einer bestimmten Gruppe abrufen
GET/household/:householdIdJWTAlle Personen in einem Haushalt abrufen
GET/attendanceJWTPeople.EditBesucher mit Filtern laden (campusId, serviceId, serviceTimeId, groupId, categoryName, startDate, endDate)
GET/timeline?personIds=&groupIds=JWTTimeline-Daten für Personen und Gruppen laden
GET/directory/:idJWTPerson für Verzeichnisansicht abrufen (respektiert Sichtbarkeitspräferenzen)
GET/claim/:churchIdJWTPersonendatensatz für den aktuellen Benutzer in einer Kirche einfordern
POST/JWTPeople.Edit oder EditSelfPersonen erstellen oder aktualisieren (Stapel)
POST/searchJWTPeople.View oder MemberPersonen suchen (POST-Variante)
POST/advancedSearchJWTPeople.View oder MemberMulti-Bedingungssuche (Alter, Geburtsmonat, Mitgliedschaftsstatus, usw.)
POST/loadOrCreateÖffentlichPerson nach E-Mail finden oder erstellen. Body: { churchId, email, firstName, lastName }
POST/household/:householdIdJWTPeople.EditHaushalts-Mitgliederzuweisungen aktualisieren
POST/public/emailÖffentlichE-Mail an eine Person senden. Body: { churchId, personId, subject, body, appName }
POST/apiEmailsInternPerson-E-Mails nach IDs laden (Server-zu-Server, benötigt jwtSecret)
DELETE/:idJWTPeople.EditPerson löschen

Beispiel: Personen suchen

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

Beispiel: Person erstellen

POST /membership/people
Authorization: Bearer <token>

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

Benutzer

Basispfad: /membership/users

Siehe Authentifizierung & Berechtigungen für Login-, Registrierungs- und Passwortverwaltungs-Endpoints.

MethodePfadAuthBerechtigungBeschreibung
POST/loginÖffentlichAnmelden (E-Mail/Passwort, JWT aktualisieren oder authGuid)
POST/registerÖffentlichNeuen Benutzer registrieren
POST/forgotÖffentlichPassword-Reset-E-Mail senden
POST/setPasswordGuidÖffentlichPasswort mit Auth-GUID aus E-Mail-Link setzen
POST/verifyCredentialsÖffentlichE-Mail/Passwort verifizieren und zugehörige Kirchen zurückgeben
POST/loadOrCreateJWTBenutzer nach E-Mail/userId finden oder erstellen
POST/setDisplayNameJWTAnzeigenamen des Benutzers aktualisieren
POST/updateEmailJWTE-Mail-Adresse des Benutzers ändern
POST/updatePasswordJWTPasswort des Benutzers ändern (min 6 Zeichen)
POST/updateOptedOutJWTAbmeldestatus einer Person festlegen
GET/search?term=JWTServer.AdminAlle Benutzer nach Name/E-Mail suchen
DELETE/JWTAktuellen Benutzerkonto löschen

Kirchen

Basispfad: /membership/churches

MethodePfadAuthBerechtigungBeschreibung
GET/JWTAlle Kirchen für den aktuellen Benutzer laden
GET/:idJWTKirche nach ID abrufen
GET/:id/getDomainAdminJWTDomain-Admin-Benutzer für eine Kirche abrufen
GET/:id/impersonateJWTServer.AdminKirche nachahmen (nur Server-Admin)
GET/all?term=JWTServer.AdminAlle Kirchen suchen (Admin)
GET/search/?name=ÖffentlichKirchen nach Name suchen
GET/lookup/?subDomain=&id=ÖffentlichKirche nach Subdomain oder ID nachschlagen
POST/JWTSettings.EditKirchendetails aktualisieren
POST/addJWTNeue Kirche registrieren. Erforderliche Felder: name, address1, city, state, zip, country
POST/searchÖffentlichKirchen nach Name suchen (POST-Variante)
POST/selectJWTKirche auswählen/wechseln. Body: { churchId } oder { subDomain }
POST/:id/archiveJWTServer.AdminKirche archivieren oder entarchivieren
POST/byIdsÖffentlichMehrere Kirchen nach IDs laden
DELETE/deleteAbandonedJWTServer.AdminKirchen löschen, die seit 7+ Tagen aufgegeben wurden

Gruppen

Basispfad: /membership/groups

Erweitert Standard CRUD (GET /, GET /:id aus Basisklasse).

MethodePfadAuthBerechtigungBeschreibung
GET/JWTAlle Gruppen auflisten
GET/:idJWTGruppe nach ID abrufen
GET/search?campusId=&serviceId=&serviceTimeId=JWTGruppen nach Service-Filtern suchen
GET/myJWTGruppen für den aktuellen Benutzer abrufen
GET/my/:tagJWTGruppen des aktuellen Benutzers nach Tag gefiltert abrufen
GET/tag/:tagJWTAlle Gruppen mit einem bestimmten Tag abrufen
GET/public/:churchId/:idÖffentlichÖffentliche Gruppe nach Kirche und ID abrufen
GET/public/:churchId/tag/:tagÖffentlichÖffentliche Gruppen nach Tag abrufen
GET/public/:churchId/label?label=ÖffentlichÖffentliche Gruppen nach Label abrufen
GET/public/:churchId/slug/:slugÖffentlichÖffentliche Gruppe nach Slug abrufen
POST/JWTGroups.EditGruppen erstellen oder aktualisieren (generiert auto Slug)
DELETE/:idJWTGroups.EditGruppe löschen (löscht auch untergeordnete Teams für Dienst-Gruppen)

Gruppenmitglieder

Basispfad: /membership/groupmembers

Erweitert Standard CRUD (GET /:id, DELETE /:id aus Basisklasse).

MethodePfadAuthBerechtigungBeschreibung
GET/:idJWTGroupMembers.ViewGruppenmitglied nach ID abrufen
GET/JWTGroupMembers.View*Gruppenmitglieder auflisten. Filter nach ?groupId=, ?groupIds= oder ?personId=. *Auch erlaubt, wenn Benutzer in der Gruppe ist oder eigene personId abfragt
GET/myJWTAktuelle Gruppenmitgliedschaften des Benutzers abrufen
GET/basic/:groupIdJWTGrundlegende Mitgliederliste für eine Gruppe abrufen
GET/public/leaders/:churchId/:groupIdÖffentlichGruppenmitglieder abrufen (öffentlich)
POST/JWTGroupMembers.EditGruppenmitglieder hinzufügen oder aktualisieren
DELETE/:idJWTGroupMembers.ViewGruppenmitglied entfernen

Haushalte

Basispfad: /membership/households

Standard-CRUD-Controller.

MethodePfadAuthBerechtigungBeschreibung
GET/JWTAlle Haushalte auflisten
GET/:idJWTHaushalt nach ID abrufen
POST/JWTPeople.EditHaushalte erstellen oder aktualisieren
DELETE/:idJWTPeople.EditHaushalt löschen

Rollen

Basispfad: /membership/roles

MethodePfadAuthBerechtigungBeschreibung
GET/:idJWTRoles.ViewRolle nach ID abrufen
GET/church/:churchIdJWTRoles.ViewAlle Rollen für eine Kirche abrufen
POST/JWTRoles.EditRollen erstellen oder aktualisieren
DELETE/:idJWTRoles.EditRolle löschen (entfernt auch ihre Berechtigungen und Mitglieder)

Rollenmitglieder

Basispfad: /membership/rolemembers

MethodePfadAuthBerechtigungBeschreibung
GET/roles/:idJWTRoles.ViewMitglieder für eine Rolle abrufen. Add ?include=users um Benutzerdetails einzubeziehen
POST/JWTRoles.EditMitglieder zu einer Rolle hinzufügen (erstellt Benutzer, wenn E-Mail nicht existiert)
DELETE/:idJWTRoles.ViewRollenmitglied entfernen
DELETE/self/:churchId/:userIdJWTSich selbst von einer Kirche entfernen

Rollenberechtigungen

Basispfad: /membership/rolepermissions

MethodePfadAuthBerechtigungBeschreibung
GET/roles/:idJWTRoles.ViewBerechtigungen für eine Rolle abrufen (nutzen Sie null als ID für "Everyone"-Rolle)
POST/JWTRoles.EditRollenberechtigungen erstellen oder aktualisieren
DELETE/:idJWTRoles.EditRollenberechtigung löschen

Berechtigungen

Basispfad: /membership/permissions

MethodePfadAuthBerechtigungBeschreibung
GET/JWTDie vollständige Liste der verfügbaren Berechtigungen abrufen

Formulare

Basispfad: /membership/forms

MethodePfadAuthBerechtigungBeschreibung
GET/JWTForms.Admin oder Forms.EditAlle Formulare auflisten (Admin sieht alle; Redakteure sehen zugewiesen + Nicht-Mitglieds-Formulare)
GET/:idJWTFormular-ZugriffFormular nach ID abrufen
GET/archivedJWTForms.Admin oder Forms.EditArchivierte Formulare auflisten
GET/standalone/:id?churchId=JWTEigenständiges Formular abrufen (eingeschränkte Formulare benötigen Auth)
POST/JWTForms.Admin oder Forms.EditFormulare erstellen oder aktualisieren
DELETE/:idJWTFormular-ZugriffFormular löschen

Formulareinreichungen

Basispfad: /membership/formsubmissions

MethodePfadAuthBerechtigungBeschreibung
GET/JWTForms.Admin oder Forms.EditEinreichungen auflisten. Filter nach ?personId= oder ?formId=
GET/:idJWTForms.Admin oder Forms.EditEinreichung nach ID abrufen. Add ?include=form,questions,answers
GET/formId/:formIdJWTFormular-ZugriffAlle Einreichungen für ein Formular abrufen (enthält Formular, Fragen, Antworten)
POST/JWTFormularantworten einreichen (behandelt eingeschränkt/nicht eingeschränkt Formulare, sendet E-Mail-Benachrichtigungen)
DELETE/:idJWTForms.Admin oder Forms.EditEinreichung und ihre Antworten löschen

Fragen

Basispfad: /membership/questions

MethodePfadAuthBerechtigungBeschreibung
GET/JWTFormular-ZugriffFragen für ein Formular auflisten. Benötigt ?formId=
GET/:idJWTFormular-ZugriffFrage nach ID abrufen
GET/unrestricted?formId=JWTFragen für ein nicht eingeschränktes Formular abrufen
GET/sort/:id/upJWTFrage in Sortierreihenfolge nach oben verschieben
GET/sort/:id/downJWTFrage in Sortierreihenfolge nach unten verschieben
POST/JWTFormular-ZugriffFragen erstellen oder aktualisieren (weist Sortierreihenfolge automatisch zu)
DELETE/:id?formId=JWTFormular-ZugriffFrage löschen

Antworten

Basispfad: /membership/answers

MethodePfadAuthBerechtigungBeschreibung
GET/JWTForms.Admin oder Forms.EditAntworten auflisten. Filter nach ?formSubmissionId=
POST/JWTForms.Admin oder Forms.EditAntworten erstellen oder aktualisieren

Mitgliederberechtigungen

Basispfad: /membership/memberpermissions

Kontrolliert Pro-Mitglied-Zugriff auf bestimmte Formulare.

MethodePfadAuthBerechtigungBeschreibung
GET/:idJWTFormular-ZugriffMitgliederberechtigung nach ID abrufen
GET/member/:idJWTFormular-ZugriffAlle Formularberechtigungen für ein Mitglied abrufen
GET/form/:idJWTFormular-ZugriffAlle Mitgliederberechtigungen für ein Formular abrufen
GET/form/:id/myJWTFormular-ZugriffBerechtigungen des aktuellen Benutzers für ein Formular abrufen
POST/JWTFormular-ZugriffMitgliederberechtigungen erstellen oder aktualisieren
DELETE/:id?formId=JWTFormular-ZugriffMitgliederberechtigung löschen
DELETE/member/:id?formId=JWTFormular-ZugriffAlle Berechtigungen für ein Mitglied auf einem Formular löschen

Einstellungen

Basispfad: /membership/settings

MethodePfadAuthBerechtigungBeschreibung
GET/JWTSettings.EditAlle Einstellungen für die Kirche abrufen
GET/public/:churchIdÖffentlichÖffentliche Einstellungen für eine Kirche abrufen
POST/JWTSettings.EditEinstellungen speichern (unterstützt Base64-Bild-Upload)

Domains

Basispfad: /membership/domains

Erweitert Standard CRUD (GET /:id, GET /, DELETE /:id aus Basisklasse).

MethodePfadAuthBerechtigungBeschreibung
GET/JWTAlle Domains auflisten
GET/:idJWTDomain nach ID abrufen
GET/lookup/:domainNameJWTDomain nach Name nachschlagen
GET/public/lookup/:domainNameÖffentlichÖffentliche Domain-Abfrage nach Name
GET/health/checkÖffentlichGesundheitsprüfung auf nicht überprüften Domains ausführen
POST/JWTSettings.EditDomains erstellen oder aktualisieren (triggert Caddy-Update)
DELETE/:idJWTSettings.EditDomain löschen

Benutzer-Kirche

Basispfad: /membership/userchurch

Verwaltet die Zuordnung zwischen Benutzern und Kirchen.

MethodePfadAuthBerechtigungBeschreibung
GET/userid/:userIdJWTBenutzer-Kirche-Datensatz nach Benutzer-ID abrufen
GET/personid/:personIdJWTE-Mail für einen Benutzer, der mit einer Person verknüpft ist, abrufen
GET/user/:userIdJWTServer.AdminAlle Kirchen für einen Benutzer laden
POST/JWTBenutzer-Kirche-Zuordnung erstellen
PATCH/:userIdJWTLetzte Zugriffszeit aktualisieren und Zugriff protokollieren
DELETE/record/:userId/:churchId/:personIdJWTBenutzer-Kirche-Datensatz löschen

Sichtbarkeitspräferenzen

Basispfad: /membership/visibilityPreferences

MethodePfadAuthBerechtigungBeschreibung
GET/myJWTSichtbarkeitspräferenzen des aktuellen Benutzers abrufen
POST/JWTSichtbarkeitspräferenzen speichern (Adress-, Telefon-, E-Mail-Sichtbarkeit)

Abfrage

Basispfad: /membership/query

MethodePfadAuthBerechtigungBeschreibung
POST/membersJWTMitgliedersuche in natürlicher Sprache mit AI. Body: { text, subDomain, siteUrl }

Client-Fehler

Basispfad: /membership/clientErrors

MethodePfadAuthBerechtigungBeschreibung
POST/JWTClient-seitigen Fehler protokollieren

Verwandte Seiten