Управление пользователями

Общее управление пользователями

Получить постраничный список пользователей

get

Получить постраничный список пользователей

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

Пример использования: Отправьте GET запрос на client-management/clients/ с соответствующим API-KEY токеном в заголовке Authorization.

Структура ответа:

  • users (массив): Список объектов пользователей, где каждый объект включает следующие поля:

    • created_at (строка, дата-время): Временная метка создания пользователя.

    • weight (число): Вес пользователя.

    • age (строка): Возраст пользователя.

    • ycom (число): Значение YCOM пользователя.

    • height (число): Рост пользователя.

    • phone (строка): Номер телефона пользователя.

    • leg_length (число): Длина ноги пользователя.

    • display_name (строка): Отображаемое имя пользователя.

    • shoeSize (строка): Размер обуви пользователя.

    • email (строка): Адрес электронной почты пользователя.

    • gender (строка): Пол пользователя.

    • brand (строка): Бренд, связанный с пользователем.

    • shoeModel (строка): Модель обуви пользователя.

    • user_uid (строка): Уникальный идентификатор пользователя.

Примечания:

  • Для доступа к этому эндпоинту требуется действительный API-KEY токен.

  • Если пользователи не найдены или произошла ошибка, возвращается соответствующее сообщение об ошибке.

Authorizations
AuthorizationstringRequired

Укажите ваш Bearer-токен (Firebase auth) в формате: Bearer <токен>

Responses
200

Список пользователей успешно получен.

application/json
get
/client-management/clients/

Создать нового пользователя

post

Создать нового пользователя

Этот эндпоинт позволяет аутентифицированному администратору создать нового пользователя под своим аккаунтом. Администратор должен указать email и отображаемое имя пользователя, а также может включить другие поля.

Пример использования: Отправьте POST запрос на /clients/ с JSON-данными, содержащими обязательные поля. В заголовке Authorization должен быть указан действительный API-KEY токен.

Параметры запроса

  • display_name (строка)

  • email (строка, валидный email)

  • age (целое число)

  • gender (male | female)

  • shoeSize (число с плавающей точкой)

  • weight (число с плавающей точкой)

  • height (число с плавающей точкой)

Структура ответа: При успешном выполнении (HTTP 201), эндпоинт возвращает JSON-объект с полем userData, содержащим следующие ключи и типы данных:

  • user_uid (строка): Уникальный идентификатор нового пользователя.

  • display_name (строка)

  • email (строка, валидный email)

  • age (целое число)

  • gender (male | female)

  • shoeSize (число с плавающей точкой)

  • weight (число с плавающей точкой)

  • height (число с плавающей точкой)

  • profile_photo (файл, JPEG/PNG) - необязательное изображение; доступно только с multipart/form-data.

В случае ошибки (например, отсутствуют параметры, неавторизованный доступ или внутренняя ошибка), возвращается JSON-объект с полем error (строка).

Authorizations
AuthorizationstringRequired

Укажите ваш Bearer-токен (Firebase auth) в формате: Bearer <токен>

Body
display_namestringRequired
emailstringRequired
ageintegerRequired
genderstringRequired
shoeSizenumberRequired
weightnumberRequired
heightnumberRequired
preferable_activitiesstringOptional

Необязательный JSON-кодированный список предпочитаемых типов активности. Допустимые значения: 'Running', 'Vertical Jump', 'Weightlifting', 'Mobility Assessment'.

Пример: ["Running", "Weightlifting"]

profile_photostringOptional

Необязательное изображение JPEG/PNG.

Responses
post
/client-management/clients/

Обновить информацию о пользователе

put

Обновить информацию о пользователе

Этот эндпоинт позволяет аутентифицированному администратору обновить выбранные поля существующего пользователя, используя параметры строки запроса.

Обязательный параметр запроса

  • user_uid (строка) - UID пользователя, которого нужно обновить.

Необязательные параметры запроса - укажите один или несколько из следующих:

  • display_name (строка) - новое отображаемое имя

  • email (строка, валидный email) - новый адрес электронной почты

  • age (целое число)

  • gender (строка, одно из male, female)

  • shoeSize (число с плавающей точкой)

  • weight (число с плавающей точкой)

  • height (число с плавающей точкой)

Ответ (HTTP 200)

{ "message": "Информация о пользователе успешно обновлена." }

Если проверка не пройдена или пользователь не найден, ответ содержит поле error с деталями.

Authorizations
AuthorizationstringRequired

Укажите ваш Bearer-токен (Firebase auth) в формате: Bearer <токен>

Body
user_uidstringRequired
display_namestringOptional
emailstringOptional
ageintegerOptional
genderstringOptional
shoeSizenumberOptional
weightnumberOptional
heightnumberOptional
preferable_activitiesstringOptional

Необязательный JSON-кодированный список предпочитаемых типов активности. Допустимые значения: 'Running', 'Vertical Jump', 'Weightlifting', 'Mobility Assessment'.

Пример: ["Running", "Weightlifting"]

profile_photostringOptional

Необязательное изображение JPEG/PNG.

Responses
200

Информация о пользователе успешно обновлена.

application/json
messagestringOptional

Сообщение, подтверждающее успешное обновление.

put
/client-management/clients/

Удалить пользователя

delete

Удалить пользователя

Этот эндпоинт позволяет аутентифицированному администратору удалить пользователя из своего аккаунта. Администратор должен указать уникальный идентификатор пользователя, которого нужно удалить, в теле запроса.

Тело запроса:

  • user_uid (строка, обязательно): Уникальный идентификатор пользователя, которого нужно удалить.

Структура ответа: При успешном выполнении (HTTP 200), эндпоинт возвращает JSON-объект с полем message типа string, подтверждающим удаление. В случае ошибки (например, если UID пользователя отсутствует, пользователь не найден или произошла внутренняя ошибка), возвращается JSON-объект с полем error (строка).

Authorizations
AuthorizationstringRequired

Укажите ваш Bearer-токен (Firebase auth) в формате: Bearer <токен>

Query parameters
user_uidstringRequired

UID пользователя для удаления

Responses
200

Пользователь успешно удален.

application/json
messagestringOptional

Сообщение, подтверждающее, что пользователь был удален.

delete
/client-management/clients/

Фильтрация и постраничное получение пользователей

get

Фильтрация и постраничное получение пользователей

Этот эндпоинт позволяет аутентифицированному администратору фильтровать и получать постранично пользователей под своим аккаунтом. Вы можете дополнительно указать параметры запроса для управления пагинацией:

  • start_after_id (строка, необязательно): UID, после которого начинается получение пользователей (для прямой пагинации).

  • limit (целое число, необязательно): Максимальное количество пользователей для получения. По умолчанию 5, если не указано.

Вы также можете фильтровать пользователей по различным критериям, таким как:

  • admin_uid (строка, необязательно): UID администратора для фильтрации пользователей.

  • start_date (строка, необязательно): Нижняя граница (включительно) для последней сессии пользователя в формате YYYY-MM-DD.

  • end_date (строка, необязательно): Верхняя граница (включительно) для последней сессии пользователя в формате YYYY-MM-DD.

  • gender (строка, необязательно): Фильтр по полу (male или female).

  • preferable_activities (массив, необязательно): Фильтр по предпочитаемым активностям пользователя. Структура ответа (HTTP 200): Ответ возвращает JSON-объект со следующими полями:

  • query_count (целое число): Общее количество пользователей под администратором.

  • users (массив): Массив объектов пользователей. Каждый объект пользователя содержит:

    • created_at (строка, дата-время): Временная метка создания пользователя.

    • weight (число): Вес пользователя.

    • age (строка): Возраст пользователя.

    • ycom (число): Значение YCOM пользователя.

    • height (число): Рост пользователя.

    • phone (строка): Номер телефона пользователя.

    • leg_length (число): Длина ноги пользователя.

    • display_name (строка): Отображаемое имя пользователя.

    • shoeSize (строка): Размер обуви пользователя.

    • email (строка): Адрес электронной почты пользователя.

    • gender (строка): Пол пользователя.

    • brand (строка): Бренд, связанный с пользователем.

    • shoeModel (строка): Модель обуви пользователя.

    • user_uid (строка): Уникальный идентификатор пользователя.

  • first_uid (строка): UID первого пользователя на текущей странице.

  • last_uid (строка): UID последнего пользователя на текущей странице.

Примечания:

  • Требуется действительный API-KEY токен.

  • Если пользователи не найдены, возвращается сообщение об ошибке с кодом состояния 404.

Authorizations
AuthorizationstringRequired

Укажите ваш Bearer-токен (Firebase auth) в формате: Bearer <токен>

Query parameters
admin_uidstringOptional

UID администратора (который создал пользователя) для фильтрации пользователей.

start_datestringOptional

Нижняя граница (включительно) для last_session в формате YYYY-MM-DD.

end_datestringOptional

Верхняя граница (включительно) для last_session в формате YYYY-MM-DD.

genderstring · enumOptional

Фильтр по полу (male или female).

Possible values:
preferable_activitiesstringOptional

JSON-массив предпочитаемых активностей.

start_after_idstringOptional
limitintegerOptional
Responses
200

Успешно получен отфильтрованный список пользователей.

application/json
query_countintegerRequired

Общее количество пользователей под администратором.

first_uidstringRequired

UID первого пользователя на текущей странице.

last_uidstringRequired

UID последнего пользователя на текущей странице.

get
/client-management/clients/filter/

Установить / заменить заметку для клиента

post

Сохраняет одну заметку на клиента. Если note опущен или пуст, предыдущая заметка очищается (сохраняется как null).

Структура документа:

"notes": {
  "text": "Растяжение подколенного сухожилия - уменьшить скоростные нагрузки на 2 недели",  // или null
  "updated_at": "2025-07-14T09:32:11.123Z"
}
Authorizations
AuthorizationstringRequired

Укажите ваш Bearer-токен (Firebase auth) в формате: Bearer <токен>

Path parameters
user_uidanyRequired
Body
notestringRequired

Произвольный текст заметки (≤ 100 kB). Если опущен или пуст, заметка очищается.

Responses
200

Заметка сохранена / заменена успешно.

application/json
messagestringRequired
post
/client-management/clients/save-notes/{user_uid}

Получить детали для конкретного пользователя

get

Получить детали пользователя

Этот эндпоинт позволяет аутентифицированному администратору получить детальную информацию о конкретном пользователе под его аккаунтом. Пользователь идентифицируется уникальным user_uid, указанным в URL.

Параметр пути:

  • user_uid (строка, обязательно): Уникальный идентификатор пользователя.

Структура ответа (HTTP 200): Возвращает JSON-объект со следующими полями и типами данных:

  • created_at (строка, дата-время): Временная метка создания пользователя.

  • weight (число): Вес пользователя.

  • age (строка): Возраст пользователя.

  • ycom (число): Значение YCOM пользователя.

  • height (число): Рост пользователя.

  • phone (строка): Номер телефона пользователя.

  • leg_length (число): Длина ноги пользователя.

  • display_name (строка): Отображаемое имя пользователя.

  • shoeSize (строка): Размер обуви пользователя.

  • email (строка): Адрес электронной почты пользователя.

  • gender (строка): Пол пользователя.

  • brand (строка): Бренд, связанный с пользователем.

  • shoeModel (строка): Модель обуви пользователя.

  • user_uid (строка): Уникальный идентификатор пользователя.

Пример успешного ответа:

Примечания:

  • Требуется действительный API-KEY токен с правами администратора.

  • Если указанный пользователь не существует или не принадлежит администратору, возвращается ошибка 404.

Authorizations
AuthorizationstringRequired

Укажите ваш Bearer-токен (Firebase auth) в формате: Bearer <токен>

Path parameters
user_uidanyRequired
Responses
200

Детали пользователя успешно получены.

application/json
created_atstring · date-timeRequired

Временная метка создания пользователя.

weightnumberRequired

Вес пользователя.

agestringRequired

Возраст пользователя.

ycomnumberRequired

Значение YCOM пользователя.

heightnumberRequired

Рост пользователя.

phonestringRequired

Номер телефона пользователя.

leg_lengthnumberRequired

Длина ноги пользователя.

display_namestringRequired

Отображаемое имя пользователя.

shoeSizestringRequired

Размер обуви пользователя.

emailstring · emailRequired

Адрес электронной почты пользователя.

genderstringRequired

Пол пользователя.

brandstringRequired

Бренд, связанный с пользователем.

shoeModelstringRequired

Модель обуви пользователя.

profile_photostring · uriOptional

Публичный URL фотографии профиля.

user_uidstringRequired

Уникальный идентификатор пользователя.

get
/client-management/clients/{user_uid}

Last updated

Was this helpful?