Перейти к основному содержимому

Эндпоинты Membership

Модуль Membership управляет людьми, церквями, группами, домохозяйствами, ролями, разрешениями, формами и настройками. Это крупнейший модуль, предоставляющий основной уровень идентификации и авторизации для всех остальных модулей.

Базовый путь: /membership

Люди

Базовый путь: /membership/people

МетодПутьАутентификацияРазрешениеОписание
GET/JWTPeople.View или MemberСписок всех людей церкви
GET/:idJWTPeople.View или собственная записьПолучить человека по ID (включает отправки форм)
GET/ids?ids=JWTPeople.View или MemberПолучить нескольких людей по ID через запятую
GET/basic?ids=JWTПолучить базовую информацию (только имя) для нескольких людей
GET/recentJWTPeople.View или MemberНедавно добавленные люди
GET/search?term=&email=JWTPeople.View или MemberПоиск людей по имени или email
GET/search/phone?number=JWTPeople.View или MemberПоиск по номеру телефона
GET/search/group?groupId=JWTPeople.View или MemberПолучить людей в конкретной группе
GET/household/:householdIdJWTПолучить всех людей в домохозяйстве
GET/attendanceJWTPeople.EditЗагрузить посетителей с фильтрами (campusId, serviceId, serviceTimeId, groupId, categoryName, startDate, endDate)
GET/timeline?personIds=&groupIds=JWTЗагрузить данные хронологии для людей и групп
GET/directory/:idJWTПолучить человека для просмотра справочника (учитывает настройки видимости)
GET/claim/:churchIdJWTПривязать запись о человеке к текущему пользователю в церкви
POST/JWTPeople.Edit или EditSelfСоздать или обновить людей (пакетно)
POST/searchJWTPeople.View или MemberПоиск людей (POST-вариант)
POST/advancedSearchJWTPeople.View или MemberМногоусловный поиск (возраст, месяц рождения, статус членства и т.д.)
POST/loadOrCreatePublicНайти или создать человека по email. Тело: { churchId, email, firstName, lastName }
POST/household/:householdIdJWTPeople.EditОбновить назначения участников домохозяйства
POST/public/emailPublicОтправить email человеку. Тело: { churchId, personId, subject, body, appName }
POST/apiEmailsВнутреннийЗагрузить email людей по ID (межсерверный, требует jwtSecret)
DELETE/:idJWTPeople.EditУдалить человека

Пример: Поиск людей

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

Пример: Создание человека

POST /membership/people
Authorization: Bearer <token>

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

Пользователи

Базовый путь: /membership/users

См. Аутентификация и разрешения для эндпоинтов входа, регистрации и управления паролями.

МетодПутьАутентификацияРазрешениеОписание
POST/loginPublicВход (email/пароль, обновление JWT или authGuid)
POST/registerPublicРегистрация нового пользователя
POST/forgotPublicОтправка письма для сброса пароля
POST/setPasswordGuidPublicУстановка пароля по GUID аутентификации из ссылки в письме
POST/verifyCredentialsPublicПроверка email/пароля и возврат связанных церквей
POST/loadOrCreateJWTНайти или создать пользователя по email/userId
POST/setDisplayNameJWTОбновить имя и фамилию пользователя
POST/updateEmailJWTИзменить email-адрес пользователя
POST/updatePasswordJWTИзменить пароль пользователя (мин. 6 символов)
POST/updateOptedOutJWTУстановить статус отказа от рассылки для человека
GET/search?term=JWTServer.AdminПоиск всех пользователей по имени/email
DELETE/JWTУдалить текущую учётную запись

Церкви

Базовый путь: /membership/churches

МетодПутьАутентификацияРазрешениеОписание
GET/JWTЗагрузить все церкви текущего пользователя
GET/:idJWTПолучить церковь по ID
GET/:id/getDomainAdminJWTПолучить пользователя-администратора домена для церкви
GET/:id/impersonateJWTServer.AdminИмперсонация церкви (только администратор сервера)
GET/all?term=JWTServer.AdminПоиск всех церквей (администратор)
GET/search/?name=PublicПоиск церквей по названию
GET/lookup/?subDomain=&id=PublicПоиск церкви по поддомену или ID
POST/JWTSettings.EditОбновить данные церкви
POST/addJWTЗарегистрировать новую церковь. Обязательные поля: name, address1, city, state, zip, country
POST/searchPublicПоиск церквей по названию (POST-вариант)
POST/selectJWTВыбрать/переключиться на церковь. Тело: { churchId } или { subDomain }
POST/:id/archiveJWTServer.AdminАрхивировать или разархивировать церковь
POST/byIdsPublicЗагрузить несколько церквей по ID
DELETE/deleteAbandonedJWTServer.AdminУдалить церкви, заброшенные более 7 дней

Группы

Базовый путь: /membership/groups

Наследует стандартный CRUD (GET /, GET /:id из базового класса).

МетодПутьАутентификацияРазрешениеОписание
GET/JWTСписок всех групп
GET/:idJWTПолучить группу по ID
GET/search?campusId=&serviceId=&serviceTimeId=JWTПоиск групп по фильтрам служений
GET/myJWTПолучить группы текущего пользователя
GET/my/:tagJWTПолучить группы текущего пользователя с фильтром по тегу
GET/tag/:tagJWTПолучить все группы с конкретным тегом
GET/public/:churchId/:idPublicПолучить публичную группу по церкви и ID
GET/public/:churchId/tag/:tagPublicПолучить публичные группы по тегу
GET/public/:churchId/label?label=PublicПолучить публичные группы по метке
GET/public/:churchId/slug/:slugPublicПолучить публичную группу по slug
POST/JWTGroups.EditСоздать или обновить группы (автоматически генерирует slug)
DELETE/:idJWTGroups.EditУдалить группу (также удаляет дочерние команды для групп служений)

Участники групп

Базовый путь: /membership/groupmembers

Наследует стандартный CRUD (GET /:id, DELETE /:id из базового класса).

МетодПутьАутентификацияРазрешениеОписание
GET/:idJWTGroupMembers.ViewПолучить участника группы по ID
GET/JWTGroupMembers.View*Список участников группы. Фильтр по ?groupId=, ?groupIds= или ?personId=. *Также разрешено, если пользователь состоит в группе или запрашивает собственный personId
GET/myJWTПолучить членства в группах текущего пользователя
GET/basic/:groupIdJWTПолучить базовый список участников для группы
GET/public/leaders/:churchId/:groupIdPublicПолучить лидеров группы (публичный)
POST/JWTGroupMembers.EditДобавить или обновить участников группы
DELETE/:idJWTGroupMembers.ViewУдалить участника группы

Домохозяйства

Базовый путь: /membership/households

Стандартный CRUD-контроллер.

МетодПутьАутентификацияРазрешениеОписание
GET/JWTСписок всех домохозяйств
GET/:idJWTПолучить домохозяйство по ID
POST/JWTPeople.EditСоздать или обновить домохозяйства
DELETE/:idJWTPeople.EditУдалить домохозяйство

Роли

Базовый путь: /membership/roles

МетодПутьАутентификацияРазрешениеОписание
GET/:idJWTRoles.ViewПолучить роль по ID
GET/church/:churchIdJWTRoles.ViewПолучить все роли для церкви
POST/JWTRoles.EditСоздать или обновить роли
DELETE/:idJWTRoles.EditУдалить роль (также удаляет её разрешения и участников)

Участники ролей

Базовый путь: /membership/rolemembers

МетодПутьАутентификацияРазрешениеОписание
GET/roles/:idJWTRoles.ViewПолучить участников для роли. Добавьте ?include=users для включения данных пользователей
POST/JWTRoles.EditДобавить участников в роль (создаёт пользователя, если email не существует)
DELETE/:idJWTRoles.ViewУдалить участника роли
DELETE/self/:churchId/:userIdJWTУдалить себя из церкви

Разрешения ролей

Базовый путь: /membership/rolepermissions

МетодПутьАутентификацияРазрешениеОписание
GET/roles/:idJWTRoles.ViewПолучить разрешения для роли (используйте null как ID для роли «Все»)
POST/JWTRoles.EditСоздать или обновить разрешения ролей
DELETE/:idJWTRoles.EditУдалить разрешение роли

Разрешения

Базовый путь: /membership/permissions

МетодПутьАутентификацияРазрешениеОписание
GET/JWTПолучить полный список доступных разрешений

Формы

Базовый путь: /membership/forms

МетодПутьАутентификацияРазрешениеОписание
GET/JWTForms.Admin или Forms.EditСписок всех форм (администратор видит все; редакторы видят назначенные + формы для не-членов)
GET/:idJWTДоступ к формеПолучить форму по ID
GET/archivedJWTForms.Admin или Forms.EditСписок архивированных форм
GET/standalone/:id?churchId=JWTПолучить автономную форму (ограниченные формы требуют аутентификации)
POST/JWTForms.Admin или Forms.EditСоздать или обновить формы
DELETE/:idJWTДоступ к формеУдалить форму

Отправки форм

Базовый путь: /membership/formsubmissions

МетодПутьАутентификацияРазрешениеОписание
GET/JWTForms.Admin или Forms.EditСписок отправок. Фильтр по ?personId= или ?formId=
GET/:idJWTForms.Admin или Forms.EditПолучить отправку по ID. Добавьте ?include=form,questions,answers
GET/formId/:formIdJWTДоступ к формеПолучить все отправки для формы (включает форму, вопросы, ответы)
POST/JWTОтправить ответы формы (обрабатывает ограниченные/неограниченные формы, отправляет email-уведомления)
DELETE/:idJWTForms.Admin или Forms.EditУдалить отправку и её ответы

Вопросы

Базовый путь: /membership/questions

МетодПутьАутентификацияРазрешениеОписание
GET/JWTДоступ к формеСписок вопросов для формы. Требуется ?formId=
GET/:idJWTДоступ к формеПолучить вопрос по ID
GET/unrestricted?formId=JWTПолучить вопросы для неограниченной формы
GET/sort/:id/upJWTПереместить вопрос вверх в порядке сортировки
GET/sort/:id/downJWTПереместить вопрос вниз в порядке сортировки
POST/JWTДоступ к формеСоздать или обновить вопросы (автоматически назначает порядок сортировки)
DELETE/:id?formId=JWTДоступ к формеУдалить вопрос

Ответы

Базовый путь: /membership/answers

МетодПутьАутентификацияРазрешениеОписание
GET/JWTForms.Admin или Forms.EditСписок ответов. Фильтр по ?formSubmissionId=
POST/JWTForms.Admin или Forms.EditСоздать или обновить ответы

Разрешения участников

Базовый путь: /membership/memberpermissions

Управляет доступом отдельных участников к конкретным формам.

МетодПутьАутентификацияРазрешениеОписание
GET/:idJWTДоступ к формеПолучить разрешение участника по ID
GET/member/:idJWTДоступ к формеПолучить все разрешения на формы для участника
GET/form/:idJWTДоступ к формеПолучить все разрешения участников для формы
GET/form/:id/myJWTДоступ к формеПолучить разрешение текущего пользователя для формы
POST/JWTДоступ к формеСоздать или обновить разрешения участников
DELETE/:id?formId=JWTДоступ к формеУдалить разрешение участника
DELETE/member/:id?formId=JWTДоступ к формеУдалить все разрешения участника на форму

Настройки

Базовый путь: /membership/settings

МетодПутьАутентификацияРазрешениеОписание
GET/JWTSettings.EditПолучить все настройки церкви
GET/public/:churchIdPublicПолучить публичные настройки церкви
POST/JWTSettings.EditСохранить настройки (поддерживает загрузку изображения в base64)

Домены

Базовый путь: /membership/domains

Наследует стандартный CRUD (GET /:id, GET /, DELETE /:id из базового класса).

МетодПутьАутентификацияРазрешениеОписание
GET/JWTСписок всех доменов
GET/:idJWTПолучить домен по ID
GET/lookup/:domainNameJWTПоиск домена по имени
GET/public/lookup/:domainNamePublicПубличный поиск домена по имени
GET/health/checkPublicПроверка состояния непроверенных доменов
POST/JWTSettings.EditСоздать или обновить домены (запускает обновление Caddy)
DELETE/:idJWTSettings.EditУдалить домен

Пользователь-церковь

Базовый путь: /membership/userchurch

Управляет связью между пользователями и церквями.

МетодПутьАутентификацияРазрешениеОписание
GET/userid/:userIdJWTПолучить запись пользователь-церковь по ID пользователя
GET/personid/:personIdJWTПолучить email для привязанного пользователя человека
GET/user/:userIdJWTServer.AdminЗагрузить все церкви для пользователя
POST/JWTСоздать связь пользователь-церковь
PATCH/:userIdJWTОбновить время последнего доступа и записать вход
DELETE/record/:userId/:churchId/:personIdJWTУдалить запись пользователь-церковь

Настройки видимости

Базовый путь: /membership/visibilityPreferences

МетодПутьАутентификацияРазрешениеОписание
GET/myJWTПолучить настройки видимости текущего пользователя
POST/JWTСохранить настройки видимости (видимость адреса, телефона, email)

Запросы

Базовый путь: /membership/query

МетодПутьАутентификацияРазрешениеОписание
POST/membersJWTПоиск участников на естественном языке с помощью ИИ. Тело: { text, subDomain, siteUrl }

Ошибки клиента

Базовый путь: /membership/clientErrors

МетодПутьАутентификацияРазрешениеОписание
POST/JWTЗаписать ошибку на стороне клиента

Связанные страницы