Управление всеми сессиями
Общее управление сеансами
Получает все сессии аутентифицированного пользователя, отсортированные по created_at в порядке убывания.
Структура ответа
При успешном выполнении (HTTP 200) ответ представляет собой JSON-объект, содержащий:
"sessions": {
"<session_id>": {
"created_at": {
"date": "ДД/ММ/ГГГГ",
"time": "ЧЧ:ММ AM/PM"
},
"video_url": "...",
"segments": <число>,
"analyzed_video_url": "...",
"activity": "...",
"title": "...",
"user_id": "...",
"user_name": "...",
"report_comments": {...},
"metrics": {...}
// другие поля сессии
},
"...": {...}
}
} ```
### Обработка ошибок
- **400 Bad Request**: Некорректные параметры (например, отсутствующий или неверный токен).
- **401 Unauthorized**: Токен отсутствует или недействителен.
- **403 Forbidden**: У пользователя нет прав администратора.
- **404 Not Found**: Не удалось получить сессии (например, сессии не найдены).
- **500 Internal Server Error**: Непредвиденная ошибка на сервере.
### Безопасность
В заголовке `Authorization` должен быть указан действительный API-KEY токен.Укажите ваш Bearer-токен (Firebase auth) в формате: Bearer <токен>
Сессии пользователя успешно получены.
Bad Request - Некорректные параметры или отсутствующий токен.
Unauthorized - Токен отсутствует или недействителен.
Forbidden - У пользователя недостаточно прав.
Not Found - Не удалось получить сессии (например, не найдены).
Internal Server Error - Непредвиденная ошибка на сервере.
GET /session-management/sessions/ HTTP/1.1
Host: api.aikynetix.app
Authorization: YOUR_API_KEY
Accept: */*
{
"sessions": {
"ANY_ADDITIONAL_PROPERTY": {}
}
}Получает детальные данные сессий по списку их ID. Этот эндпоинт используется, когда клиент уже имеет конкретные ID сессий (например, из сохраненных отчетов) и хочет получить их полные данные.
Тело запроса
session_ids (обязательно): Список ID документов сессий для получения.
Безопасность
Требуется Bearer Token в заголовке Authorization.
Ошибки
400 Bad Request: Некорректные входные данные.
401 Unauthorized: Отсутствует или недействителен токен.
403 Forbidden: Пользователь не авторизован.
500 Internal Server Error: Непредвиденная ошибка.
Укажите ваш Bearer-токен (Firebase auth) в формате: Bearer <токен>
Список ID документов сессий для получения.
Сессии успешно получены.
Bad Request - session_ids отсутствуют или некорректны.
Unauthorized - Токен не предоставлен.
Forbidden - Пользователь не является администратором.
Internal Server Error - Ошибка на сервере.
POST /session-management/sessions/by-ids/ HTTP/1.1
Host: api.aikynetix.app
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 24
{
"session_ids": [
"text"
]
}{
"sessions": {
"ANY_ADDITIONAL_PROPERTY": {
"session_id": "text",
"activity": "text",
"created_at": "2026-01-01T00:00:00.000Z",
"uploaded_date": "2026-01-01T00:00:00.000Z",
"video_url": "https://example.com",
"thumbnail_url": "https://example.com",
"analyzed_video_url": "https://example.com",
"title": "text",
"user_id": "text",
"user_name": "text",
"uploaded_name": "text",
"uploaded_uid": "text",
"user_status": "text",
"video_status": "Processed",
"exercise": "text"
}
}
}Получает сессии пользователя, отфильтрованные по необязательным параметрам, таким как диапазон дат, тип активности, заголовок или ID пользователя. Также поддерживает пагинацию через start_after_id или end_before_id, если фильтры не применены.
Параметры запроса
start_after_id (строка, опционально): ID сессии, после которой начинать пагинацию. Используется только если фильтры не заданы.
end_before_id (строка, опционально): ID сессии, перед которой заканчивать пагинацию. Используется только если фильтры не заданы.
limit (целое число, опционально): Максимальное количество сессий для получения (по умолчанию=10).
activity (строка, опционально): Фильтр по типу активности (например, 'Running', 'Vertical Jump').
start_date (строка, опционально, формат: дд/мм/гггг): Фильтр сессий, созданных в эту дату или позже.
end_date (строка, опционально, формат: дд/мм/гггг): Фильтр сессий, созданных в эту дату или раньше.
title (строка, опционально): Фильтр по сессиям, заголовок которых содержит эту подстроку (без учета регистра).
user_id (строка, опционально): Фильтр по ID пользователя, сохраненному в сессии. | uploaded_by | строка | НОВОЕ UID пользователя, загрузившего исходное видео. | | video_status | строка
processed\|failed| НОВОЕ текущее состояние. |
Структура ответа (HTTP 200)
При успешном выполнении ответ представляет собой JSON-объект, содержащий:
query_count (целое число): Общее количество соответствующих сессий.
sessions (объект): Словарь документов сессий с ключами в виде их ID.
first_doc_id (строка или null): ID первого документа в возвращенном наборе.
last_doc_id (строка или null): ID последнего документа в возвращенном наборе. Каждый объект сессии может включать поля, такие как
video_url,activity,created_at,title, и т.д., а также вложенные данные (например,report_comments,metrics). Обратите внимание, чтоcreated_atвозвращается как вложенный объект с полямиdateиtime.
Обработка ошибок
400 Bad Request: Некорректные параметры (например, неверный формат даты) или отсутствующий токен пользователя.
401 Unauthorized: Токен отсутствует или недействителен.
403 Forbidden: У пользователя нет прав администратора.
404 Not Found: Нет соответствующих сессий.
500 Internal Server Error: Непредвиденная ошибка на сервере.
Безопасность
В заголовке Authorization должен быть указан действительный API-KEY токен.
Укажите ваш Bearer-токен (Firebase auth) в формате: Bearer <токен>
ID сессии, после которой начинать пагинацию (используется только если фильтры не заданы).
ID сессии, перед которой заканчивать пагинацию (используется только если фильтры не заданы).
Максимальное количество сессий для получения (по умолчанию=10).
Фильтр по типу активности (например, 'Running', 'Weightlifting', 'Vertical Jump' или 'Mobility Assessment').
Фильтр сессий, созданных в эту дату или позже (дд/мм/гггг).
Фильтр сессий, созданных в эту дату или раньше (дд/мм/гггг).
Фильтр по сессиям, заголовок которых содержит эту подстроку (без учета регистра).
Фильтр по ID пользователя, сохраненному в документе сессии.
ID пользователя (администратора / суб-администратора), загрузившего видео.
Состояние обработки видео сессии.
Отфильтрованные сессии успешно получены.
Общее количество соответствующих сессий.
ID первой сессии в результате или null, если нет.
ID последней сессии в результате или null, если нет.
Bad Request - Возможно, некорректные параметры (неверный формат даты и т.д.) или отсутствующий токен пользователя.
Unauthorized - Отсутствует или недействителен токен доступа.
Forbidden - У пользователя нет прав администратора.
Not Found - Нет соответствующих сессий или ресурс недоступен.
Internal Server Error - Непредвиденная ошибка на сервере.
GET /session-management/sessions/filter/ HTTP/1.1
Host: api.aikynetix.app
Authorization: YOUR_API_KEY
Accept: */*
{
"query_count": 1,
"sessions": {
"ANY_ADDITIONAL_PROPERTY": {}
},
"first_doc_id": "text",
"last_doc_id": "text"
}Обновляет детали сессии (например, заголовок и временную метку created_at) для конкретной сессии. Требует прав администратора и действующего платежного плана.
Параметр пути
session_id (строка, обязательно): Уникальный идентификатор сессии.
Тело запроса (JSON)
title (строка, опционально): Обновленный заголовок для сессии.
created_at (строка, опционально, формат:
ГГГГ-ММ-ДД ЧЧ:ММ:СС): Обновленная временная метка сессии.
Структура ответа
При успешном выполнении ответ содержит:
success (строка): Подтверждение обновления сессии.
Ошибки
400 Bad Request: Некорректные параметры запроса или отсутствующие обязательные данные.
401 Unauthorized: Отсутствует или недействителен токен доступа.
403 Forbidden: Недостаточно прав или недействительный платежный план.
404 Not Found: Сессия не найдена.
500 Internal Server Error: Непредвиденная ошибка.
Укажите ваш Bearer-токен (Firebase auth) в формате: Bearer <токен>
Новый заголовок для сессии.
Обновленная временная метка сессии в формате ГГГГ-ММ-ДД ЧЧ:ММ:СС.
Сессия успешно обновлена.
Сообщение подтверждения.
Bad Request - Некорректные параметры или отсутствующие данные.
Unauthorized - Отсутствует или недействителен токен доступа.
Forbidden - У пользователя недостаточно прав для получения общих метрик.
Not Found - Указанный ID сессии не существует.
Internal Server Error - Непредвиденная ошибка на сервере.
PUT /session-management/sessions/{session_id} HTTP/1.1
Host: api.aikynetix.app
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 91
{
"title": "Обновленная сессия бега",
"created_at": "2025-02-06 14:30:00"
}{
"success": "text"
}Удаляет указанную сессию и все связанные ресурсы, включая данные сессии, видеофайлы, подколлекции и отчеты.
Параметр пути
session_id (строка, обязательно): Уникальный идентификатор сессии.
Структура ответа
При успешном выполнении ответ содержит:
success (строка): Подтверждение удаления сессии.
Ошибки
400 Bad Request: Некорректные параметры запроса.
401 Unauthorized: Токен недействителен или отсутствует.
403 Forbidden: У пользователя нет прав администратора.
404 Not Found: Сессия не найдена.
500 Internal Server Error: Непредвиденная ошибка.
Укажите ваш Bearer-токен (Firebase auth) в формате: Bearer <токен>
Сессия успешно удалена.
Сообщение подтверждения.
Bad Request - Некорректные параметры или отсутствующие данные.
Unauthorized - Токен недействителен или истек.
Forbidden - У пользователя недостаточно прав.
Not Found - Указанный ID сессии не существует.
Internal Server Error - Непредвиденная ошибка на сервере.
DELETE /session-management/sessions/{session_id} HTTP/1.1
Host: api.aikynetix.app
Authorization: YOUR_API_KEY
Accept: */*
{
"success": "text"
}Получает URL анализированного видео для конкретной сессии или пытается создать его, если он не существует.
Параметр пути
session_id (строка, обязательно): Уникальный идентификатор сессии.
Параметры запроса
Эти необязательные флаги определяют тип анализа, если видео не существует:
is_jump (логический, опционально): Указывает, является ли эта сессия для анализа прыжка.
is_weight (логический, опционально): Указывает, является ли эта сессия для анализа тяжелой атлетики.
download (логический, опционально): Если
true, возвращает подписанный URL, который заставляет браузер скачать видео вместо его отображения.
Ответ (HTTP 200)
Возвращает JSON-объект с ключом analyzed_video_url при успехе:
"analyzed_video_url": "https://storage.googleapis.com/.../analyzed_video.mp4"
} ```
### Обработка ошибок
- **400 Bad Request**: Некорректные параметры (например, отсутствующий или неверный UID администратора).
- **401 Unauthorized**: Токен отсутствует или недействителен.
- **403 Forbidden**: У пользователя нет необходимых прав или плана.
- **404 Not Found**: Данные сессии или ресурсы не найдены.
- **500 Internal Server Error**: Непредвиденная ошибка на сервере.
### Безопасность
В заголовке `Authorization` должен быть указан действительный API-KEY токен.Укажите ваш Bearer-токен (Firebase auth) в формате: Bearer <токен>
Указывает, является ли эта сессия для анализа прыжка.
Указывает, является ли эта сессия для анализа тяжелой атлетики.
Если true, возвращает подписанный URL, который заставляет скачать видео.
URL анализированного видео успешно получен.
URL анализированного видео.
Bad Request - Возможно, некорректные параметры.
Unauthorized - Токен недействителен или отсутствует.
Forbidden - У пользователя нет прав или плана.
Not Found - Данные сессии или ресурс не найдены.
Internal Server Error - Ошибка на сервере.
GET /session-management/sessions/{session_id}/analyzed-video/ HTTP/1.1
Host: api.aikynetix.app
Authorization: YOUR_API_KEY
Accept: */*
{
"analyzed_video_url": "https://example.com"
}Загружает или генерирует анализированное видео для конкретной сессии, возвращая его URL.
Параметр пути
session_id (строка, обязательно): Уникальный идентификатор сессии.
Тело запроса (JSON)
"is_jump": true,
"is_weight": false
} ```
- **is_jump** *(логический, опционально)*: Если true, обрабатывать как сессию прыжка.
- **is_weight** *(логический, опционально)*: Если true, обрабатывать как сессию тяжелой атлетики.
### Структура ответа (HTTP 200)
При успехе возвращает JSON-объект с `analyzed_video_url`:
```json {
"analyzed_video_url": "https://storage.googleapis.com/.../analyzed_video.mp4"
} ```
### Обработка ошибок
- **400 Bad Request**: Некорректные параметры или сессия уже анализирована.
- **401 Unauthorized**: Токен отсутствует или недействителен.
- **403 Forbidden**: У пользователя нет действительного плана.
- **404 Not Found**: Данные сессии не найдены.
- **500 Internal Server Error**: Непредвиденная ошибка на сервере.
### Безопасность
В заголовке `Authorization` должен быть указан действительный API-KEY токен.Укажите ваш Bearer-токен (Firebase auth) в формате: Bearer <токен>
Является ли эта сессия связанной с прыжками.
Является ли эта сессия связанной с тяжелой атлетикой.
URL анализированного видео успешно сгенерирован или обновлен.
URL нового или обновленного анализированного видео.
Bad Request - Возможно, некорректные данные сессии или видео уже анализировано.
Unauthorized - Токен отсутствует или недействителен.
Forbidden - У пользователя нет действительного платежного плана.
Not Found - Сессия не найдена или создание не удалось.
Internal Server Error - Ошибка на сервере.
POST /session-management/sessions/{session_id}/analyzed-video/ HTTP/1.1
Host: api.aikynetix.app
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 34
{
"is_jump": true,
"is_weight": false
}{
"analyzed_video_url": "https://example.com"
}Last updated
Was this helpful?