---
layout: default
title: "Выгрузка видеозаписи и аналитики"
nav_order: 1900
parent: Интеграция
---
# Выгрузка видеозаписи и аналитики проведенного вебинара\конференции
API позволяет выгружать запись проведенного вебинара или конференции и аналитический отчет по вебинару\конференции в формате JSON или XLSX.
## Выгрузка видео с записью вебинара\конференции
Метод `RedirectToDownloadRoomRecord` позволяет получить ссылку на загрузку видео с проведенным вебинаром или конференцией. Ссылка будет действительна в течении 24 часов.
В строке запроса `RedirectToDownloadRoomRecord` обязательно передаются идентификаторы пространства, комнаты и записи - параметры `spaceId`, `roomId` и `recordId`. Идентификаторы пространства и комнаты для заданной вебинарной комнаты должны быть известны (см. раздел [Создание space и room](https://vlprojects.github.io/docs/Integration/space_room_create/)). А получить идентификатор записи можно двумя способами: с помощью вебхуков или с помощью специального метода (см. описание обоих способов ниже).
Полная спецификация метода приведена [в Swagger](https://moodhood-api.livedigital.space/doc/#/RoomRecords/RedirectToDownloadRoomRecord).
Пример выполнения запроса `RedirectToDownloadRoomRecord`
**GET https://moodhood-api.livedigital.space/v1/spaces/{spaceId}/rooms/{roomId}/records/download/{recordId}**
В результате выполнения запроса возвращается текстовая строка, содержащая URL записи, вида https://some.url/record.mp4.
### Как получить идентификатор записи вебинара\конференции
Как было сказано выше, идентификатор записи можно получить, если настроен механизм отправки обратных запросов (вебхуков) с уведомлением о наступлении в системе определенного события (см. [Отслеживание событий в пространстве](https://vlprojects.github.io/docs/Integration/webhooks/). Так для событий `record_finished` или `record started` в теле обратного запроса возвращается идентификатор законченной или начатой видеозаписи (`recordId`).
Пример обратного запроса для отслеживания события `record_finished`:
```json
{
"signature": "ae6edba49d063002f2957d94e47f5ff5de3dda0a5c1ce98848d15c777b9df7ce",
"body": {
"eventName": "record_finished",
"roomId": "649c18e086b915cae33041a2",
"spaceId": "64217150224cd9e040e114d1",
"recordId": "64b6544f7b3b4f29d70afec2"
}
}
```
В теле обратного запроса передается значение `recordId`, которое и нужно использовать в качестве идентификатора записи в строке запроса `RedirectToDownloadRoomRecord`.
Если вебхуки для отслеживания событий не настроены, то можно использовать метод `GetRecords` для получения списка идентификаторов всех записей. После чего выбрать нужный идентификатор и использовать его в методе `RedirectToDownloadRoomRecord`.
В строке запроса для метода `GetRecords` передаются обязательные параметры `spaceId` и `roomId` - идентификаторы пространства и комнаты, записи для которых нужно получить, а также дополнительные параметры для фильтрации записей, например, `dateFrom` и `dateTo` - ограничения по датам начала и конца периода, за который нужны записи. Полная спецификация метода приведена [в Swagger](https://moodhood-api.livedigital.space/doc/#/RoomRecords/get_spaces__spaceId__rooms__roomId__records).
Пример выполнения запроса `GetRecords`
**GET https://moodhood-api.livedigital.space/v1/spaces/{spaceId}/rooms/{roomId}/records**
В результате выполнения запроса возвращается JSON, содержащий список `items`, где каждый элемент списка это объект типа `RoomRecord`, а поле `id` этого объекта это идентификатор записи.
```json
{
"items": [
{
"id": "60d55c0eb9ef88ab17b0aabb",
"name": "string",
"fileSize": 0,
"roomId": "60d55c0eb9ef88ab17b0aabb",
"spaceId": "60d55c0eb9ef88ab17b0aabb",
"callId": "60d55c0eb9ef88ab17b0aabb",
"state": "new",
"createdAt": "2023-08-08T07:05:59.369Z",
"startedAt": "2023-08-08T07:05:59.369Z",
"finishedAt": "2023-08-08T07:05:59.369Z"
}
],
"total": 0
}
```
Для каждой записи также возвращаются различные параметры, например, `callId` - идентификатор события, `startedAt`, `finishedAt` - время начала и конца записи; по которым можно идентифицировать нужную запись.
Значение `id` для нужной записи необходимо передать в качестве параметра `recordId` в вызове метода `RedirectToDownloadRoomRecord` для получения ссылки на запись.
**Примечание!** Помимо получения списка записей и загрузки записи с видео API позволяет проводить другие операции с видео, например, стартовать и останавливать запись для комнаты, удалять видеозаписи и др. Полный набор методов для работы с видео можно посмотреть [в Swagger](https://moodhood-api.livedigital.space/doc/#/RoomRecords).
## Выгрузка аналитики по проведенному вебинару или конференции
Для выгрузки аналитики по вебинару\конференции используется метод `getRoomAnalyticsReport`, который возвращает данные аналитики в формате JSON или XLSX. В параметрах метода указывается идентификатор вызова `callId`, который можно получить с помощью метода `analyticsCalls`. В отличие от записи видео идентификатор `callId` для аналитики нельзя получить с помощью вебхука для события `call_finished`. Но обратный вызов для этого события означает формирование аналитики после мероприятия (т.е. нет смысла запрашивать аналитику, пока не получено уведомление о событии `call_finished`).
В строке запроса `getRoomAnalyticsReport` как часть URL обязательно передается идентификатор пространства `spaceId`, а также в качестве обязательных параметров запроса передается идентификатор комнаты и идентификатор вызова - параметры `roomId` и `callId`. Также указывается параметр `format`, который определяет формат выгрузки отчета и может принимать значение `xlsx` или `json`.
Идентификаторы пространства и комнаты для заданной вебинарной комнаты должны быть известны (см. раздел [Создание space и room](https://vlprojects.github.io/docs/Integration/space_room_create/)). А получить идентификатор вызова `callId` можно с помощью метода `analyticsCalls` (см. описание ниже).
Полная спецификация метода `getRoomAnalyticsReport` приведена [в Swagger](https://moodhood-api.livedigital.space/doc/#/SpaceAnalytics/getRoomAnalyticsReport).
Пример выполнения запроса `getRoomAnalyticsReport`:
**GET https://moodhood-api.livedigital.space/v1/spaces/60d55c0eb9ef88ab17b0aabb/analytics/report?roomId=60d55c0eb9ef88ab17b0aabb&callId=60d55c0eb9ef88ab17b0aabb&format=xlsx**
В результате выполнения запроса возвращается аналитика по событию в формате JSON или XLSX.
Для получения `callId` нужно использовать метод `analyticsCalls`. В строке запроса как часть URL обязательно передается идентификатор пространства `spaceId`, а также в качестве обязательных параметров запроса передается идентификатор комнаты и дата, за которую надо получить аналитику - параметры `roomId` и `date`. Дополнительно можно указать, например, фильтр по минимальному количеству участников события.
Полная спецификация метода приведена [в Swagger](https://moodhood-api.livedigital.space/doc/#/SpaceAnalytics/analyticsCalls).
Пример выполнения запроса `analyticsCalls`:
**GET https://moodhood-api.livedigital.space/v1/spaces/60d55c0eb9ef88ab17b0aabb/analytics/calls?roomId=60d55c0eb9ef88ab17b0aabb&date=2023-08-01T12%3A25%3A40.253Z**
В результате выполнения запроса возвращается JSON со списком завершенных вызовов за указанную дату.
```json
{
"items": [
{
"id": "60d55c0eb9ef88ab17b0aabb",
"active": true,
"roomId": "60d55c0eb9ef88ab17b0aabb",
"participantsCount": 0,
"isBreakoutRoom": true,
"planAlias": "string",
"roomType": "lesson",
"totalParticipantsCount": 0,
"uniqueParticipantsCount": 0,
"startedAt": "2023-08-12T12:26:51.553Z",
"finishedAt": "2023-08-12T12:26:51.553Z"
}
]
}
```
Значение `id` - это и есть идентификатор вызова, который необходимо передать в качестве параметра `callId` в методе `getRoomAnalyticsReport` для получения аналитики.