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

Конечные точки членства

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

Базовый путь: /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—Отправить письмо человеку. Тело: { churchId, personId, subject, body, appName }
POST/apiEmailsInternal—Загрузить письма человека по 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—Установить пароль, используя auth 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—Получить лидеров группы (открытый доступ)
GET/public/:churchId/:groupIdPublic—Получить открытый список членов группы (минимальные поля: personId, displayName, leader, фото). Только когда группа включает через publicRoster; питает элемент staffGrid конструктора веб-сайта
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). Когда форма имеет autoCreatePerson, находит-или-создаёт гостя по email и связывает отправку; когда установлены followUpSubject/followUpBody, отправляет шаблонное письмо с ответом отправителю
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—Поиск членов на естественном языке с использованием AI. Тело: { text, subDomain, siteUrl }

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

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

МетодПутьАут.РазрешениеОписание
POST/JWT—Залогировать ошибку на стороне клиента

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