Skip to main content
Объект group описывает учебную или продуктовую группу в школе Exode. Группа связывает пользователей, продукты и расписание, а также определяет правила доступа к контенту.

Поля группы

Основные поля

id
integer
required
Уникальный идентификатор группы.
uuid
string
required
UUID группы, используется для внешних интеграций.
user
User
required
Владелец или создатель группы (объект пользователя).
product
object | null
Продукт, к которому привязана группа (если есть).
launch
object | null
Запуск продукта (поток/набор), если группа создана под конкретный запуск.
channel
object | null
Связанный канал чата (в системе exode).
groupChat
object | null
Связанный групповой чат (в системе exode).
name
string
required
Название группы.

Ограничения и настройки

communication
object
required
Настройки коммуникаций в группе (Telegram‑канал, групповой чат, режимы подключения и т.п.).
accessLimitation
object
required
Ограничения по доступу: тип старта (GroupAccessStartPointType), общая дата старта, длительность и т.п.
scheduleLimitation
object
required
Ограничения по расписанию: окно доступа по дням/часам, ограничения по датам и т.п.
contentLimitation
object
required
Ограничения по контенту: правила доступа к урокам/модулям, зависимости от выполнения заданий и др.

Вычисляемые поля

isTgConnected
boolean
required
Есть ли активная связь группы с Telegram (каналом или групповым чатом).
tgConnectionMode
string
required
Режим подключения Telegram: Disconnected, Connected, Required (обязательный Telegram ID).

Системные поля аудита

createdAt
string
required
Дата и время создания группы (ISO 8601).
updatedAt
string
required
Дата и время последнего обновления.

Пример объекта group

{
  "id": 101,
  "createdAt": "2025-01-10T09:00:00Z",
  "updatedAt": "2025-01-15T12:30:00Z",
  "uuid": "8b8b2b0e-6a27-4c3c-b5a5-9f4f0e3f1c01",
  "user": {
    "id": 15,
    "uuid": "YRnh3REH1Wbd",
    "active": true,
    "activated": true,
    "banned": false,
    "email": "[email protected]",
    "phone": "+987654321",
    "language": "Ru",
    "timezone": 5,
    "lastOnlineAt": "2025-01-15T12:00:00Z",
    "starsBalance": 0
  },
  "product": {
    "id": 42,
    "name": "Курс по математике"
  },
  "launch": {
    "id": 7,
    "name": "Зимний набор 2025"
  },
  "channel": null,
  "groupChat": null,
  "space": "Education",
  "name": "Группа 7А — Математика",
  "order": 10,
  "maxMembers": 30,
  "communication": {
    "tgChannelId": null,
    "tgGroupChatId": null,
    "tgIdRequiredOnEnrollment": false
  },
  "accessLimitation": {
    "active": true,
    "startPointType": "CommonDate",
    "durationInMinutes": 43200,
    "commonDateStartAt": "2025-02-01T00:00:00Z"
  },
  "scheduleLimitation": {
    "active": false
  },
  "contentLimitation": {
    "active": false
  },
  "isTgConnected": false,
  "tgConnectionMode": "Disconnected"
}

Связанные объекты

  • У группы есть массив участников members, каждый элемент — объект GroupMember.
  • Во многих REST-ответах Exode вместо полной структуры группы может возвращаться только подмножество полей (ID, название, UUID). Полная структура описана на этой странице для понимания интеграции.