Прыжки

Создание новой сессии обработки видео

post

Этот эндпоинт позволяет администратору (или суб-администратору) загружать видеофайл для обработки и создавать новый ресурс "сессии" от имени другого пользователя. Сервер вернет session_id, который можно использовать для проверки статуса или получения деталей/результатов сессии.

Тело запроса (Multipart/Form-Data)

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

  • user_id (строка, обязательно): ID пользователя, от имени которого создается сессия.

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

  • session_name (строка, опционально): Человекочитаемое название сессии.

  • exercise (строка, обязательно): Название упражнения. Выберите одно из: 'Countermovement Jump' или 'Drop Jump'.

  • body_joint_angles (массив строк, опционально): Список названий суставов через запятую (например, 'elbow, knee, ankle'). По умолчанию ['all'], если не указано.

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

При успешном выполнении (HTTP 200) ответ содержит JSON-объект с:

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

  • title (строка): Название сессии (используется значение по умолчанию, если session_name не указан).

Рабочий процесс

  1. Отправьте POST-запрос с типом multipart/form-data, содержащий обязательные поля user_id и video, а также опциональные поля.

  2. Укажите действительный API-KEY токен в заголовке Authorization.

  3. Вызывающий должен иметь права администратора для создания сессии от имени другого пользователя.

  4. В случае успеха сервер вернет session_id и title.

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

Пример cURL (Firebase auth):

Пример cURL (API KEY):

Authorizations
AuthorizationstringRequired

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

Body
user_idstringRequired

Обязательно. ID пользователя, для которого создается сессия (текстовое поле формы).

videostringRequired

Обязательно. Исходный видеофайл для обработки (поле формы типа: файл).

session_namestringOptional

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

exercisestringRequired

Обязательно. Название упражнения. Выберите одно из: 'Countermovement Jump' или 'Drop Jump'.

body_joint_anglesarrayOptional

Опционально. Список названий суставов через запятую. Доступные значения: 'ankle', 'knee', 'elbow', 'hip', 'shoulder'. Пример: ankle,knee,hip

Responses
post
/jumping/sessions/

Получение данных сессии прыжков

get

Получение детальной информации о конкретной обработанной сессии прыжков с использованием уникального session_id.

Опционально можно установить ?demo=true для получения предопределенной демо-сессии для активности Jump.

Пример использования: Отправьте GET-запрос с параметром пути session_id для получения деталей сессии.

Параметры:

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

  • demo (логический, опционально): Установите true для возврата предопределенной демо-сессии для Jump.

Тип данных ответа:

  • 200 OK: JSON-объект со следующей структурой:

    • angles (объект): Содержит массивы различных измерений углов:

      • hip_intersection_angle (массив чисел): Массив углов пересечения бедер.

      • ank_angle (массив чисел): Массив углов голеностопа.

      • rkne_angle (массив чисел): Массив углов правого колена.

      • lkne_angle (массив чисел): Массив углов левого колена.

      • kne_angle (массив чисел): Массив углов коленей.

      • rank_angle (массив чисел): Массив углов правого голеностопа.

      • lank_angle (массив чисел): Массив углов левого голеностопа.

    • whole_report_metrics (объект): Содержит массивы различных метрик:

      • hipy (массив чисел): Массив значений высоты бедер.

      • grf (массив чисел): Массив сил реакции опоры.

      • vhipy (массив чисел): Массив скоростей бедер.

      • toey (массив чисел): Массив позиций пальцев ног по оси Y.

      • ahipy (массив чисел): Массив средних позиций бедер по оси Y.

      • vtoey (массив чисел): Массив вертикальных скоростей пальцев ног.

    • all_timestamps (массив чисел): Массив временных меток для каждого кадра.

    • analyzed_video_url (строка, URI): URL анализированного видео.

    • video_url (строка, URI): URL исходного видео.

    • created_at (объект): Содержит дату и время создания сессии:

      • date (строка, формат: YYYY-MM-DD): Дата создания.

      • time (строка, формат: HH:MM AM/PM): Время создания.

    • exercise (строка): Тип упражнения, анализируемого в сессии.

    • user_name (строка): Имя пользователя, связанного с сессией.

    • activity (строка): Тип активности, анализируемой в сессии.

    • title (строка): Название сессии.

    • end_frames (массив целых чисел): Массив номеров кадров, где заканчивается каждый сегмент.

    • metrics (объект): Содержит различные метрики производительности в виде массивов чисел.

Authorizations
AuthorizationstringRequired

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

Path parameters
session_idanyRequired
Query parameters
demobooleanOptional

Установите true для получения демо-сессии вместо реальной.

Responses
get
/jumping/sessions/{session_id}/

Экспорт данных сессии прыжков

get

Получение детальной информации о конкретной сессии прыжков с использованием уникального session_id.

Опционально можно установить ?demo=true для получения предопределенной демо-сессии для активности Jump.

Пример использования: Отправьте GET-запрос с параметром пути session_id для получения деталей сессии.

Параметры:

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

  • demo (логический, опционально): Установите true для получения предопределенной демо-сессии для Jump. Примечание: Этот эндпоинт включает в ответ координаты ключевых точек.

Тип данных ответа:

  • 200 OK: JSON-объект со следующей структурой:

    • keypoints (объект): Содержит массивы координат ключевых точек.

      • lknev (массив чисел): Массив координат левого колена.

      • ltoev (массив чисел): Массив координат левого пальца ноги.

      • relbv (массив чисел): Массив координат правого локтя.

      • rtoey (массив чисел): Массив координат правого пальца ноги.

      • headv (массив чисел): Массив координат головы.

      • rearv (массив чисел): Массив координат правого уха.

      • rshox (массив чисел): Массив координат правого плеча.

      • etc (массив чисел): Массив всех остальных ключевых точек.

    • angles (объект): Содержит массивы различных измерений углов.

      • hip_intersection_angle (массив чисел): Углы пересечения бедер.

      • ank_angle (массив чисел): Углы голеностопа.

      • rkne_angle (массив чисел): Углы правого колена.

      • lkne_angle (массив чисел): Углы левого колена.

      • kne_angle (массив чисел): Углы коленей.

      • rank_angle (массив чисел): Углы правого голеностопа.

      • lank_angle (массив чисел): Углы левого голеностопа.

    • all_timestamps (массив чисел): Временные метки для каждого кадра.

    • analyzed_video_url (строка, URI): URL анализированного видео.

    • video_url (строка, URI): URL исходного видео.

    • created_at (объект): Содержит дату и время создания сессии.

      • date (строка, формат: YYYY-MM-DD): Дата создания.

      • time (строка, формат: HH:MM AM/PM): Время создания.

    • user_name (строка): Имя пользователя, связанного с сессией.

    • activity (строка): Тип анализируемой активности.

    • title (строка): Название сессии.

    • end_frames (массив целых чисел): Номера кадров, где заканчивается каждый сегмент.

    • metrics (объект): Содержит различные метрики производительности в виде массивов чисел.

Authorizations
AuthorizationstringRequired

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

Path parameters
session_idanyRequired
Query parameters
demobooleanOptional

Установите true для получения демо-сессии вместо реальной.

Responses
get
/jumping/sessions/{session_id}/export/

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

post

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

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

Пример использования: Отправьте POST запрос на /jumping/{session_id}/jump-analysis/, где {session_id} - уникальный идентификатор сессии.

Параметры:

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

  • demo (булево, опционально): Установите true для получения предопределенного демо-отчета вместо реальной сессии.

Структура ответа: При успешном запросе эндпоинт возвращает JSON-объект, содержащий следующие разделы:

  1. Упражнение: Название выполненного упражнения во время сессии.

  2. Графические данные: Визуальные представления различных метрик, собранных во время сессии.

  3. Информация о кадрах: Детали о видео кадрах, связанных с сессией.

  4. Данные фаз: Информация о различных фазах вертикального прыжка.

  5. Информация о пользователе: Персональные данные пользователя.

  6. Дата сессии: Дата проведения сессии.

  7. Комментарии: Обратная связь и комментарии на основе производительности во время сессии.

Подробное описание полей ответа:

  • exercise: Название выполненного упражнения.

  • graph_data: Содержит вложенные объекты для каждой метрики (например, hip_height, hip_speed) с точками данных во времени.

  • min_frame & max_frame: Указывают диапазон анализируемых кадров в видео сессии.

  • phase_data: Предоставляет детальную информацию о каждой фазе прыжка, включая видео кадры, фазы графика и связанные изображения.

  • user_information: Включает имя, возраст, вес, рост и пол пользователя.

  • session_date: Дата сессии в формате ДД/ММ/ГГГГ.

  • comments: Содержит обратную связь, связанную с конкретными метриками, такими как мощность и сила реакции опоры (grf).

Примечание: Убедитесь, что предоставленный session_id действителен и соответствует существующей сессии в системе.

Authorizations
AuthorizationstringRequired

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

Path parameters
session_idanyRequired
Query parameters
demobooleanOptional

Установите true для получения демо-отчета.

Responses
post
/jumping/sessions/{session_id}/jump-analysis/

Создать ветки рекомендаций

post

Создание веток рекомендаций

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

Пример использования: Отправьте POST запрос на /jumping/sessions/{session_id}/recommendation/, где {session_id} - уникальный идентификатор сессии.

Параметры:

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

Структура ответа: При успешном запросе эндпоинт возвращает JSON-объект, содержащий идентификаторы веток, сопоставленные с соответствующими метриками.

Пример ответа для Countermovement Jump:

{
    "hip_height": "thread_ybIdbAtHLSnHM4BnH551X4fT",
    "hip_speed": "thread_MLGE8nAmLYyW3adwIViKiVpL",
    "grf": "thread_rBIUL25oD3VLtBaPRDLunFsu",
    "power": "thread_UGCg6dZzsRI1YCpSgCf0dgT4",
    "kne_angle": "thread_rEiSblZuq3bzPHRBNXd2etJ6",
    "ank_angle": "thread_QLrCfbBuBBKpmPFFnBkJfcln",
    "hip_angle": "thread_CMWV9HCt85XlpVSORSk4MmCG"
}

Пример ответа для Drop Jump:

{
    "hip_trajectory": "thread_ABC123",
    "hip_velocity": "thread_DEF456",
    "toe_trajectory": "thread_GHI789"
    "grf": "thread_JKL012",
    "power": "thread_MNO345",
    "kne_angle": "thread_PQR678",
    "ank_angle": "thread_STU901",
    "hip_angle": "thread_VWX234"
}

Примечание:

  • Убедитесь, что предоставленный session_id действителен и соответствует существующей сессии в системе.

  • Пользователь должен иметь активный платежный план для доступа к этой функции.

Authorizations
AuthorizationstringRequired

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

Path parameters
session_idanyRequired
Responses
post
/jumping/sessions/{session_id}/recommendation/

Получить сводку сессии

get

Получение сводки сессии

Этот эндпоинт предоставляет сводку конкретной сессии, включая ключевые метрики производительности, данные пользователя и детали создания сессии.

Пример использования: Отправьте GET запрос на /jumping/{session_id}/summary/, где {session_id} - уникальный идентификатор сессии.

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

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

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

  • exercise: Тип упражнения, для которого создана сводка.

  • metrics: Содержит различные измерения из сессии.

  • summary: Описательный обзор производительности.

  • user_info: Основная информация о пользователе.

  • session_date: Дата записи сессии.

Примечание: Убедитесь, что session_id существует. Если используется demo=true, система возвращает предустановленную демо-сводку сессии.

Authorizations
AuthorizationstringRequired

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

Path parameters
session_idanyRequired
Query parameters
demobooleanOptional

Установите true для получения демо-сводки сессии вместо реальной.

Responses
get
/jumping/sessions/{session_id}/summary/

Сгенерировать ветки сводки для сессии

post

Генерация веток сводки

Этот эндпоинт генерирует ветки сводки для заданной сессии на основе предопределенных блоков сводки и метрик.

Пример использования: Отправьте POST запрос на /jumping/sessions/{session_id}/summary/, где {session_id} - уникальный идентификатор сессии.

Параметры:

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

Структура ответа: При успешном запросе эндпоинт возвращает JSON-объект, сопоставляющий каждое название блока с соответствующим ID ветки.

Пример ответа для Countermovement Jump:

{
    "jump_flight": "thread_thread_id",
    "jump_forces": "thread_thread_id",
    "control_and_stability": "thread_thread_id",
    "efficiency": "thread_thread_id",
    "final_summary": "thread_thread_id",
}

Пример ответа для Drop Jump:

{
    "contact_and_jump_structure": "thread_thread_id",
    "performance_and_efficiency": "thread_thread_id",
    "force_metrics": "thread_thread_id",
    "final_summary": "thread_thread_id",
}

Примечания:

  • Убедитесь, что предоставленный session_id действителен и соответствует существующей сессии в системе.

  • Пользователь должен иметь необходимые права для генерации веток сводки.

Authorizations
AuthorizationstringRequired

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

Path parameters
session_idanyRequired
Query parameters
measurement_systemstring · enumOptional

Система измерений: 'metric' или 'imperial'

Possible values:
Responses
post
/jumping/sessions/{session_id}/summary/

Last updated

Was this helpful?