Zum Hauptinhalt springen

Membership-Endpunkte

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

Basispfad: /membership

Personen (People)​

Basispfad: /membership/people

MethodePfadAuthBerechtigungBeschreibung
GET/JWTPeople.View oder MemberAlle Personen der Kirche auflisten
GET/:idJWTPeople.View oder eigener DatensatzEine Person anhand der ID abrufen (inklusive Formularübermittlungen)
GET/ids?ids=JWTPeople.View oder MemberMehrere Personen anhand kommagetrennter IDs abrufen
GET/basic?ids=JWT—Grundlegende Informationen (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/:householdIdJWT—Alle Personen eines Haushalts abrufen
GET/attendanceJWTPeople.EditTeilnehmer mit Filtern laden (campusId, serviceId, serviceTimeId, groupId, categoryName, startDate, endDate)
GET/timeline?personIds=&groupIds=JWT—Zeitleistendaten für Personen und Gruppen laden
GET/directory/:idJWT—Person für die Verzeichnisansicht abrufen (berücksichtigt Sichtbarkeitseinstellungen)
GET/claim/:churchIdJWT—Einen Personendatensatz für den aktuellen Benutzer bei einer Kirche beanspruchen
POST/JWTPeople.Edit oder EditSelfPersonen erstellen oder aktualisieren (Batch)
POST/searchJWTPeople.View oder MemberPersonen suchen (POST-Variante)
POST/advancedSearchJWTPeople.View oder MemberMehrbedingungssuche (Alter, birthMonth, membershipStatus usw.)
POST/loadOrCreateÖffentlich—Eine Person anhand der E-Mail finden oder erstellen. Body: { churchId, email, firstName, lastName }
POST/household/:householdIdJWTPeople.EditZuweisungen von Haushaltsmitgliedern aktualisieren
POST/public/emailÖffentlich—Eine E-Mail an eine Person senden. Body: { churchId, personId, subject, body, appName }
POST/apiEmailsIntern—E-Mail-Adressen von Personen anhand von IDs laden (Server-zu-Server, erfordert jwtSecret)
DELETE/:idJWTPeople.EditEine Person 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: Eine Person erstellen​

POST /membership/people
Authorization: Bearer <token>

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

Benutzer (Users)​

Basispfad: /membership/users

Siehe Authentifizierung & Berechtigungen für Endpunkte zu Anmeldung, Registrierung und Passwortverwaltung.

MethodePfadAuthBerechtigungBeschreibung
POST/loginÖffentlich—Anmelden (E-Mail/Passwort, JWT-Refresh oder authGuid)
POST/registerÖffentlich—Einen neuen Benutzer registrieren
POST/forgotÖffentlich—E-Mail zum Zurücksetzen des Passworts senden
POST/setPasswordGuidÖffentlich—Passwort mittels Auth-GUID aus dem E-Mail-Link festlegen
POST/verifyCredentialsÖffentlich—E-Mail/Passwort verifizieren und zugehörige Kirchen zurückgeben
POST/loadOrCreateJWT—Einen Benutzer anhand von E-Mail/userId finden oder erstellen
POST/setDisplayNameJWT—Vor- und Nachnamen des Benutzers aktualisieren
POST/updateEmailJWT—E-Mail-Adresse des Benutzers ändern
POST/updatePasswordJWT—Passwort des Benutzers ändern (mind. 6 Zeichen)
POST/updateOptedOutJWT—Opt-out-Status einer Person festlegen
GET/search?term=JWTServer.AdminAlle Benutzer nach Name/E-Mail durchsuchen
DELETE/JWT—Das aktuelle Benutzerkonto löschen

Kirchen (Churches)​

Basispfad: /membership/churches

MethodePfadAuthBerechtigungBeschreibung
GET/JWT—Alle Kirchen des aktuellen Benutzers laden
GET/:idJWT—Kirche anhand der ID abrufen
GET/:id/getDomainAdminJWT—Den Domain-Administrator einer Kirche abrufen
GET/:id/impersonateJWTServer.AdminEine Kirche imitieren (nur Server-Administratoren)
GET/all?term=JWTServer.AdminAlle Kirchen durchsuchen (Administration)
GET/search/?name=Öffentlich—Kirchen nach Namen suchen
GET/lookup/?subDomain=&id=Öffentlich—Eine Kirche anhand von Subdomain oder ID nachschlagen
POST/JWTSettings.EditKirchendetails aktualisieren
POST/addJWT—Eine neue Kirche registrieren. Erforderliche Felder: name, address1, city, state, zip, country
POST/searchÖffentlich—Kirchen nach Namen suchen (POST-Variante)
POST/selectJWT—Zu einer Kirche wechseln/sie auswählen. Body: { churchId } oder { subDomain }
POST/:id/archiveJWTServer.AdminEine Kirche archivieren oder die Archivierung aufheben
POST/byIdsÖffentlich—Mehrere Kirchen anhand von IDs laden
DELETE/deleteAbandonedJWTServer.AdminSeit 7+ Tagen verwaiste Kirchen löschen

Gruppen (Groups)​

Basispfad: /membership/groups

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

MethodePfadAuthBerechtigungBeschreibung
GET/JWT—Alle Gruppen auflisten
GET/:idJWT—Gruppe anhand der ID abrufen
GET/search?campusId=&serviceId=&serviceTimeId=JWT—Gruppen nach Gottesdienstfiltern suchen
GET/myJWT—Gruppen des aktuellen Benutzers abrufen
GET/my/:tagJWT—Gruppen des aktuellen Benutzers, gefiltert nach Tag
GET/tag/:tagJWT—Alle Gruppen mit einem bestimmten Tag abrufen
GET/public/:churchId/:idÖffentlich—Eine öffentliche Gruppe anhand von 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—Eine öffentliche Gruppe anhand des Slugs abrufen
POST/JWTGroups.EditGruppen erstellen oder aktualisieren (generiert Slug automatisch)
DELETE/:idJWTGroups.EditEine Gruppe löschen (löscht bei Ministry-Gruppen auch untergeordnete Teams)

Gruppenmitglieder (Group Members)​

Basispfad: /membership/groupmembers

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

MethodePfadAuthBerechtigungBeschreibung
GET/:idJWTGroupMembers.ViewGruppenmitglied anhand der ID abrufen
GET/JWTGroupMembers.View*Gruppenmitglieder auflisten. Filterbar über ?groupId=, ?groupIds= oder ?personId=. *Auch erlaubt, wenn der Benutzer Mitglied der Gruppe ist oder nach der eigenen personId sucht
GET/myJWT—Gruppenmitgliedschaften des aktuellen Benutzers abrufen
GET/basic/:groupIdJWT—Einfache Mitgliederliste für eine Gruppe abrufen
GET/public/leaders/:churchId/:groupIdÖffentlich—Gruppenleiter abrufen (öffentlich)
GET/public/:churchId/:groupIdÖffentlich—Öffentliche Mitgliederliste einer Gruppe abrufen (minimale Felder: personId, displayName, leader, Foto). Nur, wenn die Gruppe dies über publicRoster zulässt; treibt das staffGrid-Element des Website-Builders an
POST/JWTGroupMembers.EditGruppenmitglieder hinzufügen oder aktualisieren
DELETE/:idJWTGroupMembers.ViewEin Gruppenmitglied entfernen

Haushalte (Households)​

Basispfad: /membership/households

Standard-CRUD-Controller.

MethodePfadAuthBerechtigungBeschreibung
GET/JWT—Alle Haushalte auflisten
GET/:idJWT—Haushalt anhand der ID abrufen
POST/JWTPeople.EditHaushalte erstellen oder aktualisieren
DELETE/:idJWTPeople.EditEinen Haushalt löschen

Rollen (Roles)​

Basispfad: /membership/roles

MethodePfadAuthBerechtigungBeschreibung
GET/:idJWTRoles.ViewRolle anhand der ID abrufen
GET/church/:churchIdJWTRoles.ViewAlle Rollen einer Kirche abrufen
POST/JWTRoles.EditRollen erstellen oder aktualisieren
DELETE/:idJWTRoles.EditEine Rolle löschen (entfernt auch deren Berechtigungen und Mitglieder)

Rollenmitglieder (Role Members)​

Basispfad: /membership/rolemembers

MethodePfadAuthBerechtigungBeschreibung
GET/roles/:idJWTRoles.ViewMitglieder einer Rolle abrufen. Mit ?include=users werden Benutzerdetails eingeschlossen
POST/JWTRoles.EditMitglieder zu einer Rolle hinzufügen (erstellt einen Benutzer, falls die E-Mail nicht existiert)
DELETE/:idJWTRoles.ViewEin Rollenmitglied entfernen
DELETE/self/:churchId/:userIdJWT—Sich selbst aus einer Kirche entfernen

Rollenberechtigungen (Role Permissions)​

Basispfad: /membership/rolepermissions

MethodePfadAuthBerechtigungBeschreibung
GET/roles/:idJWTRoles.ViewBerechtigungen einer Rolle abrufen (verwenden Sie null als ID für die Rolle "Everyone")
POST/JWTRoles.EditRollenberechtigungen erstellen oder aktualisieren
DELETE/:idJWTRoles.EditEine Rollenberechtigung löschen

Berechtigungen (Permissions)​

Basispfad: /membership/permissions

MethodePfadAuthBerechtigungBeschreibung
GET/JWT—Die vollständige Liste der verfügbaren Berechtigungen abrufen

Formulare (Forms)​

Basispfad: /membership/forms

MethodePfadAuthBerechtigungBeschreibung
GET/JWTForms.Admin oder Forms.EditAlle Formulare auflisten (Administratoren sehen alle; Bearbeiter sehen zugewiesene sowie nicht-mitgliederbezogene Formulare)
GET/:idJWTFormularzugriffEin Formular anhand der ID abrufen
GET/archivedJWTForms.Admin oder Forms.EditArchivierte Formulare auflisten
GET/standalone/:id?churchId=JWT—Ein eigenständiges Formular abrufen (eingeschränkte Formulare erfordern Authentifizierung)
POST/JWTForms.Admin oder Forms.EditFormulare erstellen oder aktualisieren
DELETE/:idJWTFormularzugriffEin Formular löschen

Formularübermittlungen (Form Submissions)​

Basispfad: /membership/formsubmissions

MethodePfadAuthBerechtigungBeschreibung
GET/JWTForms.Admin oder Forms.EditÜbermittlungen auflisten. Filterbar über ?personId= oder ?formId=
GET/:idJWTForms.Admin oder Forms.EditÜbermittlung anhand der ID abrufen. Mit ?include=form,questions,answers
GET/formId/:formIdJWTFormularzugriffAlle Übermittlungen für ein Formular abrufen (inklusive Formular, Fragen, Antworten)
POST/JWT—Formularantworten übermitteln (behandelt eingeschränkte/uneingeschränkte Formulare, sendet E-Mail-Benachrichtigungen). Wenn das Formular autoCreatePerson gesetzt hat, wird anhand der E-Mail eine Gast-Person gefunden oder erstellt und mit der Übermittlung verknüpft; sind followUpSubject/followUpBody gesetzt, wird eine vorlagenbasierte Follow-up-E-Mail an den Absender gesendet
DELETE/:idJWTForms.Admin oder Forms.EditEine Übermittlung und ihre Antworten löschen

Fragen (Questions)​

Basispfad: /membership/questions

MethodePfadAuthBerechtigungBeschreibung
GET/JWTFormularzugriffFragen eines Formulars auflisten. Erfordert ?formId=
GET/:idJWTFormularzugriffEine Frage anhand der ID abrufen
GET/unrestricted?formId=JWT—Fragen für ein uneingeschränktes Formular abrufen
GET/sort/:id/upJWT—Eine Frage in der Sortierreihenfolge nach oben verschieben
GET/sort/:id/downJWT—Eine Frage in der Sortierreihenfolge nach unten verschieben
POST/JWTFormularzugriffFragen erstellen oder aktualisieren (weist die Sortierreihenfolge automatisch zu)
DELETE/:id?formId=JWTFormularzugriffEine Frage löschen

Antworten (Answers)​

Basispfad: /membership/answers

MethodePfadAuthBerechtigungBeschreibung
GET/JWTForms.Admin oder Forms.EditAntworten auflisten. Filterbar über ?formSubmissionId=
POST/JWTForms.Admin oder Forms.EditAntworten erstellen oder aktualisieren

Mitgliederberechtigungen (Member Permissions)​

Basispfad: /membership/memberpermissions

Steuert den Zugriff einzelner Mitglieder auf bestimmte Formulare.

MethodePfadAuthBerechtigungBeschreibung
GET/:idJWTFormularzugriffEine Mitgliederberechtigung anhand der ID abrufen
GET/member/:idJWTFormularzugriffAlle Formularberechtigungen eines Mitglieds abrufen
GET/form/:idJWTFormularzugriffAlle Mitgliederberechtigungen eines Formulars abrufen
GET/form/:id/myJWTFormularzugriffBerechtigung des aktuellen Benutzers für ein Formular abrufen
POST/JWTFormularzugriffMitgliederberechtigungen erstellen oder aktualisieren
DELETE/:id?formId=JWTFormularzugriffEine Mitgliederberechtigung löschen
DELETE/member/:id?formId=JWTFormularzugriffAlle Berechtigungen eines Mitglieds für ein Formular löschen

Einstellungen (Settings)​

Basispfad: /membership/settings

MethodePfadAuthBerechtigungBeschreibung
GET/JWTSettings.EditAlle Einstellungen der Kirche abrufen
GET/public/:churchIdÖffentlich—Öffentliche Einstellungen einer Kirche abrufen
POST/JWTSettings.EditEinstellungen speichern (unterstützt Base64-Bild-Upload)

Domains​

Basispfad: /membership/domains

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

MethodePfadAuthBerechtigungBeschreibung
GET/JWT—Alle Domains auflisten
GET/:idJWT—Domain anhand der ID abrufen
GET/lookup/:domainNameJWT—Eine Domain anhand des Namens nachschlagen
GET/public/lookup/:domainNameÖffentlich—Öffentliche Domain-Suche anhand des Namens
GET/health/checkÖffentlich—Gesundheitsprüfung für ungeprüfte Domains ausführen
POST/JWTSettings.EditDomains erstellen oder aktualisieren (löst eine Caddy-Aktualisierung aus)
DELETE/:idJWTSettings.EditEine Domain löschen

Benutzer-Kirche (User Church)​

Basispfad: /membership/userchurch

Verwaltet die Zuordnung zwischen Benutzern und Kirchen.

MethodePfadAuthBerechtigungBeschreibung
GET/userid/:userIdJWT—Benutzer-Kirche-Datensatz anhand der Benutzer-ID abrufen
GET/personid/:personIdJWT—E-Mail-Adresse des mit einer Person verknüpften Benutzers abrufen
GET/user/:userIdJWTServer.AdminAlle Kirchen eines Benutzers laden
POST/JWT—Eine Benutzer-Kirche-Zuordnung erstellen
PATCH/:userIdJWT—Letzten Zugriffszeitpunkt aktualisieren und Zugriff protokollieren
DELETE/record/:userId/:churchId/:personIdJWT—Einen Benutzer-Kirche-Datensatz löschen

Sichtbarkeitseinstellungen (Visibility Preferences)​

Basispfad: /membership/visibilityPreferences

MethodePfadAuthBerechtigungBeschreibung
GET/myJWT—Sichtbarkeitseinstellungen des aktuellen Benutzers abrufen
POST/JWT—Sichtbarkeitseinstellungen speichern (Sichtbarkeit von Adresse, Telefon, E-Mail)

Abfrage (Query)​

Basispfad: /membership/query

MethodePfadAuthBerechtigungBeschreibung
POST/membersJWT—Natürlichsprachliche Mitgliedersuche mittels KI. Body: { text, subDomain, siteUrl }

Client-Fehler (Client Errors)​

Basispfad: /membership/clientErrors

MethodePfadAuthBerechtigungBeschreibung
POST/JWT—Einen clientseitigen Fehler protokollieren

Verwandte Seiten​