Создать запуск
Создать запуск#
Создаёт mentor flow в terra-mentor-service.
В запрос добавлено опциональное поле mentorFlowSettings — тело ручки create_mentor_settings из terra-storenv-service (без flowID). Если настройки переданы, после создания запуска terra-mentor-service вызывает CreateMentorSettings и создаёт настройки для нового flowID.
Схема работы#
Админка
│
▼
POST create_mentor_flow (terra-mentor-service)
│
├─► 1. Создать запуск → flowID
│
└─► 2. Если передан mentorFlowSettings
└─► CreateMentorSettings (terra-storenv-service, flowID = созданный запуск)
| Шаг | Сервис | Действие |
|---|---|---|
| 1 | terra-mentor-service |
Создаёт mentor flow, возвращает flowID |
| 2 | terra-storenv-service |
Создаёт настройки запуска (только если передан mentorFlowSettings) |
Раньше шаг 2 выполнялся отдельным запросом в storenv после создания запуска. Теперь оба шага можно сделать одним вызовом create_mentor_flow.
Ручка#
POST /admin/mentor/v2/create_mentor_flow
Полный адрес в сети#
| Среда | URL |
|---|---|
| 🧪 Dev | https://gateway.devterra.ru/admin/mentor/v2/create_mentor_flow |
| 🚀 Prod | https://mobile-api.terraprod.ru/admin/mentor/v2/create_mentor_flow |
Авторизация#
Требуется авторизация admin + TOTP.
Пример тела запроса#
{
"name": "Запуск Go",
"location": { "countryID": 1, "cityID": 10 },
"dateStart": { "dateFrom": "2024-11-05T18:30:00+03:00", "dateTo": "2024-11-05T20:30:00+03:00" },
"dateRegistration": { "dateFrom": "...", "dateTo": "..." },
"dateInvite": { "dateFrom": "...", "dateTo": "..." },
"isVisible": true,
"mentorLevelsUUIDs": ["8a87d1a5-5bce-4361-a2e6-8b5517c81210"],
"mentorFlowSettings": {
"enableRegistrationVolunteer": true,
"enableRegistrationVip": true,
"enableRegistrationOther": false,
"maxCountRegistration": 100,
"needInvite": true,
"useDefaultValues": false
}
}
Поля запроса#
| Поле | Тип | Описание | Обяз. |
|---|---|---|---|
name |
string | Название | ✅ |
location |
LocationAttrs | Локация | ✅ |
dateStart |
DateAttrs | Старт | ✅ |
dateRegistration |
DateAttrs | Регистрация | ✅ |
dateInvite |
DateAttrs | Приглашения | ✅ |
properties |
PropertiesAttrs | Свойства | ❌ |
isVisible |
bool | Видимость | ❌ |
entityID |
int32 | ID сущности | ❌ |
mentorLevelsUUIDs |
[]string | UUID уровней | ❌ |
comeImmediately |
bool | Сразу пришёл | ❌ |
alwaysComing |
bool | Всегда пришёл | ❌ |
bannerName |
string | Баннер | ❌ |
mentorFlowSettings |
MentorFlowSettings | Настройки из CreateMentorSettingsRequest (storenv). При передаче создаются настройки запуска |
❌ |
Поведение mentorFlowSettings#
| Ситуация | Что происходит |
|---|---|
| Поле не передано | Создаётся только запуск в terra-mentor-service. Настройки можно добавить позже через create_mentor_settings или получить дефолты через get_mentor_settings |
| Поле передано | terra-mentor-service после создания запуска вызывает CreateMentorSettings в terra-storenv-service с flowID созданного запуска |
useDefaultValues: true |
Значения настроек берутся из дефолтов terra-storenv-service (см. общие типы storenv) |
| Ошибка создания настроек | Созданный запуск удаляется, клиент получает ошибку |
flowID внутри mentorFlowSettings передавать не нужно — сервис подставляет ID созданного запуска автоматически.
Пример тела ответа#
{ "flowID": 12 }
Поля ответа#
| flowID | int64 | ID созданного запуска |
Подробнее о вложенных типах — в общих типах. Перечисления — в enums.