Skip to main content
Объект user описывает учётную запись пользователя в школе Exode. Возвращается в методах user/create, user/update, user/upsert, user/find, во вложенных полях других сущностей (счета, доступы, вебхуки) и, вместе с объектом profile, в userWithProfile.
Состав полей строго соответствует схеме публичного ответа: служебные/приватные поля (внутренние метаданные, токены) не возвращаются.

Поля user

Идентификаторы и логины

id
integer
required
ID пользователя в Exode.
uuid
string
required
UUID пользователя.
domain
string
required
Доменный логин вида id12345.
email
string | null
Email пользователя.
phone
string | null
Телефон в международном формате.
tgId
integer | null
Telegram ID.
vkId
integer | null
VK ID (при авторизации через VK).
appleId
string | null
Apple ID (при авторизации через Apple).
extId
string | null
Внешний идентификатор из вашей системы (CRM/LMS). Задаётся при user/create/update/upsert и используется для поиска в user/find — связывает пользователя Exode с записью в вашей базе.
schoolId
integer | null
ID школы пользователя.

Статусы

active
boolean
required
Пользователь не отключён администратором.
activated
boolean
required
Пользователь подтвердил вход (через код/оплату).
banned
boolean
required
Пользователь заблокирован и не может входить.
alive
boolean | null
«Живой» доступ: active === true и banned === false.

Локаль и активность

language
enum | null
Язык интерфейса: Ru, Uz, En, Qa.
timezone
integer | null
Смещение часового пояса относительно UTC в часах (например, 5).
lastOnlineAt
string | null
Последняя активность (ISO 8601).
currentTime
string | null
Текущее локальное время пользователя с учётом часового пояса.
isSleepingNow
boolean | null
Эвристика «ночного» времени для пользователя.

Платформа и геймификация

starsBalance
integer
required
Баланс «звёзд» в системе геймификации.

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

createdAt
string
required
Дата создания (ISO 8601).
updatedAt
string
required
Дата последнего обновления (ISO 8601).
archivedAt
string | null
Дата архивации (ISO 8601) или null.

Поля profile

В userWithProfile объект пользователя дополнен полем profile (может быть null).
id
integer
required
ID профиля.
userId
integer | null
ID пользователя.
official
boolean
required
Признак официального (верифицированного) профиля.
firstName
string | null
Имя.
lastName
string | null
Фамилия.
fullName
string | null
Полное имя.
fullNameShort
string | null
Сокращённое имя.
avatar
object
Аватар пользователя — ссылки на изображение в разных размерах.
bdate
string | null
Дата рождения (YYYY-MM-DD).
sex
enum
Пол: Ufo, Women, Men.
country
string | null
Страна.
city
string | null
Город.
role
enum
Роль: Student, Tutor, Parent.
status
string | null
Статус (произвольный текст).
title
string | null
Титул.
emojiTitle
string | null
Эмодзи-титул.
titleState
object
Состояние титулов (ручные/локационные/достижения).

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

{
  "id": 123,
  "uuid": "550e8400-e29b-41d4-a716-446655440000",
  "domain": "id123",
  "email": "[email protected]",
  "phone": "+9876543210",
  "tgId": 987654321,
  "vkId": null,
  "appleId": null,
  "extId": "crm_12345",
  "schoolId": 91,
  "active": true,
  "activated": true,
  "banned": false,
  "alive": true,
  "language": "Ru",
  "timezone": 5,
  "lastOnlineAt": "2025-01-15T11:40:00Z",
  "starsBalance": 0,
  "createdAt": "2025-01-15T10:30:00Z",
  "updatedAt": "2025-01-15T11:45:00Z",
  "archivedAt": null,
  "profile": {
    "id": 456,
    "userId": 123,
    "official": false,
    "firstName": "John",
    "lastName": "Doe",
    "fullName": "John Doe",
    "sex": "Men",
    "role": "Student",
    "bdate": "1990-01-01"
  }
}