Skip to content

Работа со школами

Работа со школами из админ панели#

Работа осуществляется через админ панель

GetRawSchoolsList

📦 Описание: Возвращает список всех школ, зарегистрированных в системе

Ручка: POST /school/v1/get_raw_schools_list

Полный адрес в сети: https://mobile-api.terraprod.ru/admin/school/v1/get_raw_schools_list

Тело запроса
Поле Тип Описание Обязательное
Filters JSON Фильтры для выборки школ
Pagination JSON Параметры пагинации
JSON-запрос
 {
  "filters": {
    "clusterUUID": [
      "string"
    ],
    "cityID": [
      0
    ],
    "countryID": [
      0
    ],
    "districtID": [
      0
    ],
    "flowID": 0,
    "format": "string",
    "hasTemplate": true,
    "searchName": "string"
  },
  "pagination": {
    "limit": 0,
    "page": 0
  }
}
JSON-ответ
{
  "data": [
    {
      "UUID": "string",
      "acquiredSkills": [
        "string"
      ],
      "clusterUUID": "e0faec10-4cfa-419a-9f56-eea68bc56550",
      "clusterName": "Какой-то кластер",
      "description": "string",
      "flowID": 0,
      "format": "string",
      "graduationResults": [
        "string"
      ],
      "imageURL": "string",
      "learningProcess": [
        {
          "description": "string",
          "imageURL": "string",
          "title": "string"
        }
      ],
      "level": "string",
      "link": "string",
      "location": {
        "cityID": 0,
        "countryID": 0,
        "districtID": 0
      },
      "mainInformation": {
        "date": {
          "dateStart": "string",
          "dateEnd": "string"
        },
        "duration": 0,
        "extra": "string",
        "lessonsCount": 0,
        "schedule": "string",
        "speakersCount": 0
      },
      "mentorUUIDs": [
        "string"
      ],
      "name": "string",
      "questionAndAnswers": [
        {
          "question": "string",
          "answer": "string"
        }
      ],
      "studyProgram": [
        {
          "uuid": "string",
          "title": "string",
          "tag": "string",
          "description": "string",
          "briefInformation": "string",
          "priority": 0
        }
      ],
      "targetAudience": [
        {
          "title": "string",
          "description": "string",
          "iconURL": "string"
        }
      ],
      "videoURL": "string",
      "isVisible": true
    }
  ],
  "meta": {
    "currentPage": 0,
    "itemsPerPage": 0,
    "totalItems": 0,
    "totalPages": 0
  }
}
GetRawSchool

📦 Описание: Возвращает информацию о конкретной школе по её UUID.

Ручка: POST /school/v1/get_raw_school

Полный адрес в сети:" https://mobile-api.terraprod.ru/admin/school/v1/get_raw_school

Тело запроса
Поле Тип Описание Обязательное
uuid STRING Уникальный идентификатор школы
JSON-запрос
{
  "uuid": "string"
}
JSON-ответ
{
  "UUID": "string",
  "acquiredSkills": [
    "string"
  ],
  "clusterUUID": "e0faec10-4cfa-419a-9f56-eea68bc56550",
  "clusterName": "Какой-то кластер",
  "description": "string",
  "flowID": 0,
  "format": "string",
  "graduationResults": [
    "string"
  ],
  "imageURL": "string",
  "learningProcess": [
    {
      "description": "string",
      "imageURL": "string",
      "title": "string"
    }
  ],
  "level": "string",
  "link": "string",
  "location": {
    "cityID": 0,
    "countryID": 0,
    "districtID": 0
  },
  "mainInformation": {
    "date": {
      "dateStart": "string",
      "dateEnd": "string"
    },
    "duration": 0,
    "extra": "string",
    "lessonsCount": 0,
    "schedule": "string",
    "speakersCount": 0
  },
  "mentorUUIDs": [
    "string"
  ],
  "name": "string",
  "questionAndAnswers": [
    {
      "question": "string",
      "answer": "string"
    }
  ],
  "studyProgram": [
    {
      "uuid": "string",
      "title": "string",
      "tag": "string",
      "description": "string",
      "briefInformation": "string",
      "priority": 0
    }
  ],
  "targetAudience": [
    {
      "title": "string",
      "description": "string",
      "iconURL": "string"
    }
  ],
  "videoURL": "string",
  "isVisible": true
}
CreateSchool

📦 Описание: Используется для создания новой школы в системе.
Позволяет задать полную структуру данных школы: основные сведения, описание, программу, менторов, целевую аудиторию и прочее.

Ручка: POST /school/v1/create_school

Полный адрес в сети: https://mobile-api.terraprod.ru/admin/school/v1/create_school

Тело запроса
Поле Тип Описание Обязательное
name STRING Название школы
imageURL STRING Ссылка на изображение школы
clusterUUID STRING Идентификатор кластера
format STRING Формат обучения (очно/дистанционно и т.д.)
mainInformation JSON Основная информация (даты, расписание и т.д.)
mentorUUIDs STRING[] Список UUID наставников
graduationResults STRING[] Результаты по завершении обучения
description STRING Описание школы
targetAudience JSON[] Целевая аудитория
acquiredSkills STRING[] Навыки, приобретаемые в процессе обучения
questionAndAnswers JSON[] Часто задаваемые вопросы и ответы
level STRING Уровень подготовки
schoolDates JSON Даты начала и конца
learningProcess JSON[] Этапы/элементы учебного процесса
videoURL STRING Ссылка на промо-видео
link STRING Ссылка на сайт школы
flowID INT ID потока
location JSON Локация (страна, город, район)
isVisible BOOL Видна ли школа пользователям
JSON-запрос
{
  "acquiredSkills": [
    "string"
  ],
  "clusterUUID": "string",
  "description": "string",
  "flowID": 0,
  "format": "string",
  "graduationResults": [
    "string"
  ],
  "imageURL": "string",
  "learningProcess": [
    {
      "description": "string",
      "imageURL": "string",
      "title": "string"
    }
  ],
  "level": "string",
  "link": "string",
  "location": {
    "cityID": 0,
    "countryID": 0,
    "districtID": 0
  },
  "mainInformation": {
    "date": {
      "dateEnd": "string",
      "dateStart": "string"
    },
    "duration": 0,
    "extra": "string",
    "lessonsCount": 0,
    "schedule": "string",
    "speakersCount": 0
  },
  "mentorUUIDs": [
    "string"
  ],
  "name": "string",
  "questionAndAnswers": [
    {
      "answer": "string",
      "question": "string"
    }
  ],
  "targetAudience": [
    {
      "description": "string",
      "iconURL": "string",
      "title": "string"
    }
  ],
  "videoURL": "string",
  "isVisible": true
}
JSON-ответ
{
  "schoolUUID": "string"
}
CreateSchoolPageTemplate

📦 Описание: Cоздаёт шаблон для показа школы. Используется для настройки отображения компонентов на странице школы.

Ручка: POST /school/v1/create_school_page_template

Полный адрес в сети: https://mobile-api.terraprod.ru/admin/school/v1/create_school_page_template

Тело запроса
Поле Тип Описание Обязательное
schoolUUID STRING UUID школы
components STRING[] Список компонентов шаблона
JSON-запрос
{
  "components": [
    "string"
  ],
  "schoolUUID": "string"
}
JSON-ответ
Код Описание Ответ
200 OK "string"
400 Bad request "string"
500 Internal server error "string"
GetSchoolPageTemplate

📦 Описание: Получает шаблон школы по её UUID.

Ручка: POST /school/v1/get_school_page_template

Полный адрес в сети: https://mobile-api.terraprod.ru/admin/school/v1/get_school_page_template

Тело запроса
Поле Тип Описание Обязательное
schoolUUID STRING UUID школы
JSON-запрос
{
"schoolUUID": "string"
}
JSON-ответ
{
  "components": [
    "string"
  ],
  "id": 0,
  "schoolUUID": "string"
}
CreateLessons

📦 Описание: Создаёт урок с заданными параметрами и привязывает его к школе по UUID.

Ручка: POST /school/v1/create_lessons

Полный адрес в сети: https://mobile-api.terraprod.ru/admin/school/v1/create_lessons

Тело запроса
Поле Тип Описание Обязательное
tag STRING Тег урока
title STRING Название урока
description STRING Описание урока
priority INT Приоритет урока
briefInformation STRING Краткая информация
schoolUUID STRING UUID школы
JSON-запрос
{
  "body": [
    {
      "briefInformation": "string",
      "description": "string",
      "priority": 0,
      "tag": "string",
      "title": "string"
    }
  ],
  "schoolUUID": "string"
}
JSON-ответ
Код Описание Ответ
200 OK "string"
400 Bad request "string"
500 Internal server error "string"
UpdateSchool

📦 Описание: Обновляет информацию о школе по её UUID. Позволяет изменить основные данные, описание, категорию, уровень и прочие детали.

Ручка: POST /school/v1/update_school

Полный адрес в сети: https://mobile-api.terraprod.ru/admin/school/v1/update_school

Тело запроса
Поле Тип Описание Обязательное
body.name STRING Название школы
body.imageURL STRING URL изображения школы
body.clusterUUID STRING UUID кластера
body.format STRING Формат школы
body.mainInformation JSON Основная информация о школе (см. ниже)
body.mentorUUIDs STRING[] Список UUID менторов
body.graduationResults STRING[] Результаты выпускников
body.description STRING Описание школы
body.targetAudience JSON[] Целевая аудитория (см. ниже)
body.acquiredSkills JSON[] Приобретённые навыки (см. ниже)
body.questionAndAnswers JSON[] Вопросы и ответы (см. ниже)
body.level STRING Уровень школы
body.schoolDates JSON Даты школы (см. ниже)
body.learningProcess JSON[] Учебный процесс (см. ниже)
body.videoURL STRING URL видео
body.link STRING Внешняя ссылка
body.flowID INT ID потока
body.location JSON Местоположение (см. ниже)
body.isVisible BOOL Видна ли школа для пользователей
schoolUUID STRING UUID школы для обновления
JSON-запрос
{
  "body": {
    "acquiredSkills": [
      "string"
    ],
    "clusterUUID": "string",
    "description": "string",
    "flowID": 0,
    "format": "string",
    "graduationResults": [
      "string"
    ],
    "imageURL": "string",
    "learningProcess": [
      {
        "description": "string",
        "imageURL": "string",
        "title": "string"
      }
    ],
    "level": "string",
    "link": "string",
    "location": {
      "cityID": 0,
      "countryID": 0,
      "districtID": 0
    },
    "mainInformation": {
      "date": {
        "dateEnd": "string",
        "dateStart": "string"
      },
      "duration": 0,
      "extra": "string",
      "lessonsCount": 0,
      "schedule": "string",
      "speakersCount": 0
    },
    "mentorUUIDs": [
      "string"
    ],
    "name": "string",
    "questionAndAnswers": [
      {
        "answer": "string",
        "question": "string"
      }
    ],
    "targetAudience": [
      {
        "description": "string",
        "iconURL": "string",
        "title": "string"
      }
    ],
    "videoURL": "string",
    "isVisible": true
  },
  "schoolUUID": "string"
}
JSON-ответ
Код Описание Ответ
200 OK "string"
400 Bad request "string"
500 Internal server error "string"
DeleteSchool

📦 Описание: Удаление школы по ее UUID

Ручка: DELETE /school/v1/delete_school

Полный адрес в сети

Среда URL
🧪 Dev http://gateway.devterra.ru/admin/school/v1/delete_school
🚀 Prod https://mobile-api.terraprod.ru/admin/school/v1/delete_school
Тело запроса
Поле Тип Описание Обязательное
schoolUUID STRING Идентификатор школы
JSON-запрос
{
  "schoolUUID": "3ec7b666-d8da-43a9-a764-a9e6c4371d0e"
}
JSON-ответ
Код Описание Ответ
200 OK "string"
400 Bad request "string"
500 Internal server error "string"
UpdateLesson

📦 Описание: Обновляет данные урока по его UUID.

Ручка: POST /school/v1/update_lesson

Полный адрес в сети: https://mobile-api.terraprod.ru/admin/school/v1/update_lesson

Тело запроса
Поле Тип Описание Обязательное
lessonUUID STRING UUID урока
body.tag STRING Тег урока
body.title STRING Название урока
body.description STRING Описание урока
body.priority INT Приоритет урока
body.briefInformation STRING Краткая информация
JSON-запрос
{
  "body": {
    "briefInformation": "string",
    "description": "string",
    "priority": 0,
    "tag": "string",
    "title": "string"
  },
  "lessonUUID": "string"
}
JSON-ответ
Код Описание Ответ
200 OK "STRING"
400 Bad request "STRING"
500 Internal server error "STRING"
UpdateSchoolPageTemplate

📦 Описание: Обновляет шаблон показа школы, позволяя изменить список компонентов.

Ручка: POST /school/v1/update_school_page_template

Полный адрес в сети: https://mobile-api.terraprod.ru/admin/school/v1/update_school_page_template

Тело запроса
Поле Тип Описание Обязательное
schoolUUID STRING UUID школы
components STRING[] Список компонентов шаблона
JSON-запрос
{
  "components": [
    "string"
  ],
  "schoolUUID": "string"
}
JSON-ответ
Код Описание Ответ
200 OK "STRING"
400 Bad request "STRING"
500 Internal server error "STRING"
GetAdminPermissions

📦 Описание: Получить список прав доступа администратора.

Ручка: GET /school/v1/permissions

Полный адрес в сети: https://mobile-api.terraprod.ru/admin/school/v1/permissions

Тело запроса: Метод не принимает тело запроса.

JSON-запрос: Метод не требует JSON тела запроса.

JSON-ответ
{
  "permissions": {
    "schoolUUID1": [
      "CAN_READ_STUDENTS"
    ],
    "schoolUUID2": [
      "CAN_UPDATE_SCHOOL",
      "CAN_READ_STUDENTS"
    ]
  }
}
GetSchoolFlow

📦 Описание: Получить информацию о конкретном потоке школы по его UUID. Используется для отображения деталей потока.

Ручка: GET /school_flows/v1/{uuid}

Полный адрес в сети: https://mobile-api.terraprod.ru/admin/school/v1/{uuid}

Параметры запроса
Поле Тип Где передается Описание Обязательное
uuid STRING path UUID потока школы
JSON-ответ
{
  "format": "string",
  "inviteCodeRegistration": true,
  "name": "string",
  "needCoverLetter": true,
  "registrationOpened": true,
  "registrationsAutoConfirmation": true,
  "schoolUUID": "string",
  "studentsLimit": 0,
  "studyPeriod": {
    "dateEnd": "string",
    "dateStart": "string"
  },
  "uuid": "string"
}
GetSchoolFlowsList

📦 Описание: Получить список потоков конкретной школы. Используется для пагинированного отображения доступных потоков.

Ручка: GET /school/v1/{schoolUUID}/flows?limit&page

Полный адрес в сети: https://mobile-api.terraprod.ru/admin/school/v1/{schoolUUID}/flows

Параметры запроса
Параметр Тип Где передаётся Описание Обязательное
schoolUUID STRING path UUID школы
limit STRING query Количество элементов на стр.
page STRING query Номер страницы
JSON-ответ
{
  "data": [
    {
      "format": "string",
      "name": "string",
      "status": {
        "alias": "string",
        "name": "string"
      },
      "studentsLimit": 0,
      "studyPeriod": {
        "dateEnd": "string",
        "dateStart": "string"
      },
      "uuid": "string"
    }
  ],
  "meta": {
    "currentPage": 0,
    "itemsPerPage": 0,
    "totalItems": 0,
    "totalPages": 0
  }
}
CreateSchoolFlow

📦 Описание: Создать новый поток школы. Поток используется для набора студентов в конкретную сессию обучения.

Ручка: POST /school_flows/v1

Полный адрес в сети: https://mobile-api.terraprod.ru/admin/school/school_flows/v1

Тело запроса
Поле Тип Описание Обязательное
schoolUUID STRING UUID школы
name STRING Название потока
studyPeriod.dateStart STRING Дата начала
studyPeriod.dateEnd STRING Дата окончания
registrationOpened BOOLEAN Открыта ли регистрация
inviteCodeRegistration BOOLEAN Регистрация по инвайт-коду
needCoverLetter BOOLEAN Требуется ли мотивационное письмо
registrationsAutoConfirmation BOOLEAN Авто-подтверждение регистрации
studentsLimit INT Лимит студентов
format INT Формат обучения
mentorFlowID INT ID связанного потока наставников
tgLink STRING Ссылка на Telegram-группу
schedule STRING Расписание
JSON-запрос
{
  "format": "online",
  "inviteCodeRegistration": true,
  "mentorFlowID": 0,
  "name": "string",
  "needCoverLetter": true,
  "registrationOpened": true,
  "registrationsAutoConfirmation": true,
  "schedule": "string",
  "schoolUUID": "string",
  "studentsLimit": 0,
  "studyPeriod": {
    "dateEnd": "string",
    "dateStart": "string"
  },
  "tgLink": "string"
}
JSON-ответ
Код Описание Ответ
200 OK "STRING"
400 Bad request "STRING"
500 Internal server error "STRING"
UpdateSchoolFlow

📦 Описание: Обновляет данные существующего потока школы.

Ручка: PUT /school_flows/v1/{schoolFlowUUID}

Полный адрес в сети: https://mobile-api.terraprod.ru/admin/school/school_flows/v1/{schoolFlowUUID}

Тело запроса
Поле Тип Описание Обязательное
name STRING Название потока
studyPeriod.dateStart STRING Дата начала
studyPeriod.dateEnd STRING Дата окончания
registrationOpened BOOLEAN Открыта ли регистрация
inviteCodeRegistration BOOLEAN Регистрация по инвайт-коду
needCoverLetter BOOLEAN Требуется ли мотивационное письмо
registrationsAutoConfirmation BOOLEAN Авто-подтверждение регистрации
studentsLimit INT Лимит студентов
format STRING Формат обучения (online, offline, blended)
mentorFlowID INT ID связанного потока наставников
tgLink STRING Ссылка на Telegram-группу
schedule STRING Расписание
JSON-запрос
{
  "format": "online",
  "inviteCodeRegistration": true,
  "mentorFlowID": 0,
  "name": "string",
  "needCoverLetter": true,
  "registrationOpened": true,
  "registrationsAutoConfirmation": true,
  "schedule": "string",
  "studentsLimit": 0,
  "studyPeriod": {
    "dateEnd": "string",
    "dateStart": "string"
  },
  "tgLink": "string"
}
JSON-ответ
Код Описание Пример ответа
200 OK "STRING"
400 Bad request "STRING"
500 Internal server error "STRING"
GetSchoolFlowMaterial

📦 Описание: Получить подробную информацию о материале, связанном с потоком школы.

Ручка: GET /school_flow_materials/v1/{uuid}

Полный адрес в сети: https://mobile-api.terraprod.ru/admin/school/school_flows/school_flow_materials/v1/{uuid}

Параметры запроса
Параметр Тип Где передаётся Обязательный Описание
uuid STRING path UUID искомого материала
JSON-ответ
{
  "content": "string",
  "createdAt": "string",
  "name": "string",
  "schoolFlowUUID": "string",
  "tag": "string",
  "uuid": "string"
}
CreateMaterial

📦 Описание: Создаёт новый материал для потока школы.

Ручка: POST /school_flow_materials/v1

Полный адрес в сети: https://mobile-api.terraprod.ru/admin/school/school_flow_materials/v1

Тело запроса
Поле Тип Описание Обязательное
name STRING Название материала
tag STRING Тег, по которому группируются материалы
content JSON[ ] Массив блоков контента
content STRING Текстовое содержимое блока
contentType STRING Тип содержимого
adminUUID STRING UUID администратора
schoolFlowUUID STRING UUID потока школы, к которому привязан материал
JSON-запрос
{
  "content": [
    {
      "content": "Пример текстового контента",
      "contentType": "text"
    }
  ],
  "name": "Введение в курс",
  "tag": "intro",
  "adminUUID": "c7b1f6ae-7139-4562-9df3-aaa7c64bd8e4",
  "schoolFlowUUID": "a1d4f23b-1b44-42d7-bfd9-f0de155672a3"
}
JSON-ответ
Код Описание Пример ответа
200 OK "STRING"
400 Bad request "STRING"
500 Internal server error "STRING"
UpdateMaterial

📦 Описание: Обновляет существующий материал потока школы.

Ручка PUT /school_flow_materials/v1

Полный адрес в сети https://mobile-api.terraprod.ru/admin/school/school_flow_materials/v1

Тело запроса
Поле Тип Описание Обязательное
materialUUID STRING UUID редактируемого материала
name STRING Новое название материала
tag STRING Новый тег материала
content JSON[] Обновлённый массив блоков контента
content STRING Содержимое блока
contentType STRING Тип содержимого
adminUUID STRING UUID администратора
JSON-запрос
{
  "content": [
    {
      "content": "Новый текст материала",
      "contentType": "text"
    }
  ],
  "materialUUID": "18be90db-cb17-4f34-a019-f44dbf837b96",
  "name": "Обновлённое название",
  "tag": "updated-tag",
  "adminUUID": "c7b1f6ae-7139-4562-9df3-aaa7c64bd8e4"
}
JSON-ответ
Код Описание Пример ответа
200 OK "STRING"
400 Bad request "STRING"
500 Internal server error "STRING"
DeleteMaterial

📦 Описание: Удаляет существующий материал потока школы.

Ручка: DELETE /school_flow_materials/v1

Полный адрес в сети: https://mobile-api.terraprod.ru/admin/school/school_flow_materials/v1

Тело запроса
Поле Тип Описание Обязательное
materialUUID STRING UUID удаляемого материала
JSON-запрос
{
  "materialUUID": "d00e34ba-03a6-4f3a-bd86-c660e3fc4c60"
}
JSON-ответ
Код Описание Пример ответа
200 OK "STRING"
400 Bad request "STRING"
500 Internal server error "STRING"
ApproveRegistration

📦 Описание: Принимает заявку на участие в потоке обучения школы.

Ручка: POST /school_flow_regs/v1/{regID}/approve

Полный адрес в сети: https://mobile-api.terraprod.ru/admin/school/school_flow_regs/v1/{regID}/approve

Параметры запроса
Поле Тип Описание Обязательное
regID INT ID заявки
JSON-ответ
Код Описание Пример ответа
200 OK "STRING"
400 Bad request "STRING"
500 Internal server error "STRING"
RejectRegistration

📦 Описание: Отклоняет заявку ученика на участие в потоке обучения школы.

Ручка: POST /school_flow_regs/v1/{regID}/reject

Полный адрес в сети: https://mobile-api.terraprod.ru/admin/school/school_flow_regs/v1/{regID}/reject

Параметры запроса
Поле Тип Описание Обязательное
regID INT ID заявки
JSON-ответ
Код Описание Пример ответа
200 OK "STRING"
400 Bad request "STRING"
500 Internal server error "STRING"
ExcludeRegistration

📦 Описание: Исключает ученика из потока обучения школы.

Ручка: POST /school_flow_regs/v1/{regID}/exclude

Полный адрес в сети: https://mobile-api.terraprod.ru/admin/school/school_flow_regs/v1/{regID}/exclude

Параметры запроса
Поле Тип Описание Обязательное
regID INT64 ID заявки
JSON-ответ
Код Описание Пример ответа
200 OK "STRING"
400 Bad request "STRING"
500 Internal server error "STRING"
GetSchoolFlowRegistrations

📦 Описание: Получает список учеников, зарегистрированных на поток обучения школы.

Ручка GET /school_flows/v1/{uuid}/students

Полный адрес в сети https://mobile-api.terraprod.ru/admin/school/school_flows/v1/{uuid}/students

Параметры запроса
Поле Тип Описание Обязательное
uuid STRING UUID потока школы
Пример JSON-ответа
[
  {
    "id": 0,
    "status": {
      "alias": "string",
      "name": "string"
    },
    "studentEmail": "string",
    "studentName": "string",
    "studentPhoneNumber": "string",
    "studentTG": "string",
    "studentUUID": "string",
    "studentUsername": "string"
  }
]
JSON-ответы
Код Описание Пример ответа
200 OK "STRING"
400 Bad request "STRING"
500 Internal server error "STRING"