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

Эндпоинты Doing

Модуль Doing управляет планированием служений, расписанием волонтёров, управлением задачами и автоматизациями. Он предоставляет инструменты для создания планов служений с временами и позициями, назначения волонтёров, управления датами блокировки, построения элементов порядка служения, подключения к внешним провайдерам контента и настройки автоматических рабочих процессов с условиями и действиями.

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

Планы

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

МетодПутьАутентификацияРазрешениеОписание
GET/JWTСписок всех планов церкви
GET/:idJWTПолучить план по ID
GET/ids?ids=JWTПолучить несколько планов по ID через запятую
GET/types/:planTypeIdJWTПолучить планы по типу плана
GET/presenterJWTПолучить планы на ближайшие 7 дней (режим презентации)
GET/public/current/:planTypeIdPublicПолучить текущий план для типа плана
POST/JWTСоздать или обновить планы (принимает один объект или массив)
POST/copy/:idJWTКопировать план, включая позиции, времена, назначения и элементы порядка служения. Тело включает copyMode ("none", "positions", "all") и copyServiceOrder (boolean)
POST/autofill/:idJWTАвтозаполнение назначений волонтёров для плана. Тело: { teams: [{ positionId, personIds }] }
DELETE/:idJWTУдалить план и все связанные времена, назначения, позиции и элементы плана

Пример: Копирование плана

POST /doing/plans/copy/abc-123
Authorization: Bearer <token>

{
"serviceDate": "2026-03-01T10:00:00.000Z",
"copyMode": "all",
"copyServiceOrder": true
}
{
"id": "def-456",
"churchId": "church-1",
"serviceDate": "2026-03-01T10:00:00.000Z"
}

Типы планов

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

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

МетодПутьАутентификацияРазрешениеОписание
GET/JWTСписок всех типов планов
GET/:idJWTПолучить тип плана по ID
GET/ids?ids=JWTПолучить несколько типов планов по ID через запятую
GET/ministryId/:ministryIdJWTПолучить типы планов для служения
POST/JWTСоздать или обновить типы планов
DELETE/:idJWTУдалить тип плана

Элементы плана

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

Управляет элементами порядка служения (заголовки, разделы, песни и т.д.), организованными в древовидную структуру «родитель-потомок».

МетодПутьАутентификацияРазрешениеОписание
GET/:idJWTПолучить элемент плана по ID
GET/ids?ids=JWTПолучить несколько элементов плана по ID через запятую
GET/plan/:planIdJWTПолучить все элементы плана (возвращает древовидную структуру)
GET/presenter/:churchId/:planIdPublicПолучить элементы плана для представления (возвращает древовидную структуру)
POST/JWTСоздать или обновить элементы плана
POST/sortJWTОбновить порядок сортировки для элемента плана (пересортировка соседних)
DELETE/:idJWTУдалить элемент плана

Лента плана

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

Предоставляет ленту элементов плана для презентера. Если элементов плана нет, автоматически заполняется из ленты площадки Lessons.church, используя contentId плана.

МетодПутьАутентификацияРазрешениеОписание
GET/presenter/:churchId/:planIdPublicПолучить ленту плана для презентера (автозаполнение из ленты площадки, если пусто)

Позиции

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

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

МетодПутьАутентификацияРазрешениеОписание
GET/:idJWTПолучить позицию по ID
GET/ids?ids=JWTПолучить несколько позиций по ID через запятую
GET/plan/ids?planIds=JWTПолучить позиции для нескольких планов по ID через запятую
GET/plan/:planIdJWTПолучить все позиции для плана
POST/JWTСоздать или обновить позиции
DELETE/:idJWTУдалить позицию

Времена

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

МетодПутьАутентификацияРазрешениеОписание
GET/allJWTСписок всех времён для церкви
GET/:idJWTПолучить время по ID
GET/plans?planIds=JWTПолучить времена для нескольких планов по ID через запятую
GET/plan/:planIdJWTПолучить все времена для плана
POST/JWTСоздать или обновить времена
DELETE/:idJWTУдалить время

Назначения

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

МетодПутьАутентификацияРазрешениеОписание
GET/myJWTПолучить назначения текущего пользователя
GET/:idJWTПолучить назначение по ID
GET/plan/ids?planIds=JWTПолучить назначения для нескольких планов по ID через запятую
GET/plan/:planIdJWTПолучить все назначения для плана
POST/JWTСоздать или обновить назначения (по умолчанию статус «Не подтверждено»)
POST/accept/:idJWTПринять назначение (должен быть назначенным лицом)
POST/decline/:idJWTОтклонить назначение (должен быть назначенным лицом)
DELETE/:idJWTУдалить назначение

Пример: Принятие назначения

POST /doing/assignments/accept/assign-123
Authorization: Bearer <token>
{
"id": "assign-123",
"personId": "person-456",
"positionId": "pos-789",
"planId": "plan-abc",
"status": "Accepted"
}

Даты блокировки

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

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

МетодПутьАутентификацияРазрешениеОписание
GET/:idJWTПолучить дату блокировки по ID
GET/ids?ids=JWTПолучить несколько дат блокировки по ID через запятую
GET/myJWTПолучить даты блокировки текущего пользователя
GET/upcomingJWTПолучить все предстоящие даты блокировки для церкви
POST/JWTСоздать или обновить даты блокировки (по умолчанию personId текущего пользователя, если не указан)
DELETE/:idJWTУдалить дату блокировки

Задачи

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

МетодПутьАутентификацияРазрешениеОписание
GET/JWTПолучить открытые задачи текущего пользователя
GET/:idJWTПолучить задачу по ID
GET/closedJWTПолучить закрытые задачи текущего пользователя
GET/timeline?taskIds=JWTПолучить данные хронологии для задач по ID через запятую
GET/directoryUpdate/:personIdJWTПолучить задачу обновления справочника для человека
POST/JWTСоздать или обновить задачи. Добавьте ?type=directoryUpdate для обработки задач обновления справочника (автозагрузка фотографий)
POST/loadForGroupsJWTЗагрузить задачи для конкретных групп. Тело: { groupIds: [], status: "Open" }

Автоматизации

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

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

Действия

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

Действия определяют, что происходит при срабатывании автоматизации.

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

Условия

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

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

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

Конъюнкции

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

Конъюнкции связывают несколько условий в автоматизации (логика И/ИЛИ).

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

Авторизации провайдеров контента

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

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

Управляет записями OAuth-аутентификации для внешних провайдеров контента (напр., интеграции с программами для презентаций).

МетодПутьАутентификацияРазрешениеОписание
GET/JWTСписок всех авторизаций провайдеров контента
GET/:idJWTПолучить авторизацию провайдера контента по ID
GET/ids?ids=JWTПолучить несколько авторизаций провайдеров контента по ID через запятую
GET/ministry/:ministryIdJWTПолучить все авторизации провайдеров контента для служения
GET/ministry/:ministryId/:providerIdJWTПолучить запись авторизации для конкретного служения и провайдера
POST/JWTСоздать или обновить авторизации провайдеров контента
DELETE/:idJWTУдалить авторизацию провайдера контента

Прокси провайдера

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

Проксирует запросы к внешним провайдерам контента (напр., ProPresenter, EasyWorship). Автоматически обновляет токены при их истечении.

МетодПутьАутентификацияРазрешениеОписание
POST/browseJWTПросмотр файлов провайдера контента. Тело: { ministryId, providerId, path }
POST/getPresentationsJWTПолучить презентации от провайдера контента. Тело: { ministryId, providerId, path }
POST/getPlaylistJWTПолучить плейлист от провайдера контента. Тело: { ministryId, providerId, path, resolution }
POST/getInstructionsJWTПолучить инструкции для элемента контента. Тело: { ministryId, providerId, path }
POST/getExpandedInstructionsJWTПолучить расширенные инструкции для элемента контента. Тело: { ministryId, providerId, path }

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