Cоздание групп и комнат
Для каждого проекта создается отдельная группа для управления всеми мероприятиями. В каждой такой группе создаются комнаты для каждого отдельного мероприятия. Для создания каждого такого объекта: группы (space
) и комнаты (room
) используются свои методы API.
Важно! Для всех операций с API должен использоваться персональный токен доступа пользователя, который был получен выше.
Создание группы
Для создания новой группы необходимо выполнить запрос createSpace
. В результате выполнения будет создана новая группа и вернется ее идентификатор. В запросе необходимо передать параметр name
- имя создаваемой группы. Следует указать значение usPublic: true
- для корректного создания группы. Дополнительно можно указать описание - параметр description
ссылку на изображение с логотипом - параметр logo.
Пример выполнения запроса createSpace:
POST
https://moodhood-api.livedigital.space/v1/spaces
{
"isPublic": true,
"name": "Имя моей группы",
"descriptio
n": "Для meetings",
"logo": "string"
}
Пример кода для cURL:
curl -X 'POST' \
'https://moodhood-api.livedigital.space/v1/spaces/' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"isPublic": true,
"name": "Some space name",
"description": "Space where my team will have all future calls",
"logo": "string"
}'
В результате успешного выполнения запроса будет создана новая группа и вернется ее идентификатор для дальнейшего использования. Например, для добавления комнат в группу.
Результат:
####
{
"id": "60d55c0eb9ef88ab17b0aabb"
}
Создание комнаты
Для создания в комнат в группе используется метод createRoom
. В строке запроса как часть URL-адреса передается ID группы, в которую будет добавлена комната - {spaceId}
- это значение, возвращаемое методом createSpace
при создании группы (см. описание выше). В теле запроса обязательно указывается имя создаваемой комнаты - параметр name
. Дополнительно можно задать тип комнаты, имя, настройки автозаписи и др. параметры (см. Настройка комнаты). Полная спецификация метода приведена в Swagger.
В результате выполнения метода в группе с заданным идентификатором создается новая комната определенного типа.
Пример выполнения запроса createRoom
:
POST
https://moodhood-api.livedigital.space/v1/spaces/60d55c0eb9ef88ab17b0aabb/rooms
{
"name": "string",
"isPublic": true,
"isChatAllowed": true,
"isRecordAllowed": true,
"isAutoRecordingAllowed": false,
"isMicrophonePublishingAllowed": true,
"isScreenMediaPublishingAllowed": true,
"isCameraPublishingAllowed": true,
"isAvatarsAllowed": true,
"isSelfRenamingAllowed": true,
"isHandRaisingAllowed": true,
"isScreensharingAllowed": true,
"isRemoteDrawingAllowed": true,
"type": "lesson",
"waitingRoomAudience": "nobody",
"redirectUrl": "https://developer.mozilla.org/docs/Web/HTTP/Overview"
}
Пример кода для cURL:
curl --location --request POST 'https://moodhood-api.livedigital.space/v1/spaces/62b0e24a81ad6df4bb583c58/rooms' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI2MmFiNWE4NGIwY2U2ZWUzMWIwOTk3YjMiLCJhdWQiOiJ1c2VyIiwidHlwZSI6ImFjY2Vzc1Rva2VuIiwiY0lkIjoiNjJhMDlmYzcwMmY4NmNlMzdhOTM4NmYxIiwianRpIjoiZXZ5ZlJWRWsyRGozVFFsYzF5UnBLIiwic2duIjoiYjgxMTBmOGZiNiIsImlhdCI6MTY1NTc1ODAwMiwiZXhwIjoxNjU2MzYyODAyfQ.hzXW-dHJD0TUtLY22yefmZogvSanEbb70zRo4Kku98A' \
--header 'Content-Type: application/json' \
--data-raw '{
"id": "60d55c0eb9ef88ab17b0aabb",
"appId": "60d55c0eb9ef88ab17b0aabb",
"channelId": "60d55c0eb9ef88ab17b0aabb",
"alias": "3h5Bd7h5bg1aX",
"name": "string",
"isPublic": true,
"spaceId": "60d55c0eb9ef88ab17b0aabb",
"templateId": "60d55c0eb9ef88ab17b0aabb",
"parentRoomId": "60d55c0eb9ef88ab17b0aabb",
"isChatAllowed": true,
"isFavorite": true,
"isRecordAllowed": true,
"isScreensharingAllowed": true,
"isAutoRecordingAllowed": false,
"isMicrophonePublishingAllowed": true,
"isScreenMediaPublishingAllowed": true,
"isCameraPublishingAllowed": true,
"isAvatarsAllowed": true,
"isSelfRenamingAllowed": true,
"isHandRaisingAllowed": true,
"isRemoteDrawingAllowed": true,
"type": "lesson",
"waitingRoomAudience": "nobody",
"breakoutRooms": {
"status": "enabled",
"session": {
"status": "ready",
"startedAt": null
}
},
"joinSettings": {
"fields": [
{
"slug": "email",
"type": "email",
"title": "Mobile Phone",
"enabled": true,
"required": true,
"description": "Used as a helper in an input elements"
}
],
"customFields": [
{
"id": "f81d4fae-7dec-11d0-a765-00a0c91eabcd",
"type": "string",
"title": "Favorite Color",
"enabled": true,
"required": true,
"description": "Used as a helper in an input elements",
"order": 0
}
]
},
"lastCallAt": "2025-01-20T11:11:23.289Z",
"createdAt": "2025-01-20T11:11:23.289Z",
"roleInRoom": "role_room_owner",
"redirectUrl": "https://developer.mozilla.org/docs/Web/HTTP/Overview"
}
В результате выполнения запроса создается новая комната в заданной группе и возвращается JSON с параметрами комнаты:
id
- полный идентификатор комнаты,alias
- короткая ссылка на комнату для удобства использования в запросах,channelId
- служебная информация.
Результат:
{
"alias": "EGBYWoMZJe",
"id": "62b0e25e3dc082dc7502d273",
"channelId": "62b0e25e7f20b37190ff5e0a"
}
Примечание! Если аналитика и запись полностью забираются в LMS, то комнаты прошедших мероприятий рекомендуем удалить. Если записи и аналитика продолжают храниться в облачном хранилище livedigital, то комнаты удалять не нужно.
Настройкиа полей входа в комнату
После создания комнаты есть возможность произвести настройку полей вход в комнату.
Эти поля могут быть как обязательными для заполнения пользователем, так и необязательными. За настройку полей входа отвечает запрос PUT
updateJoinSettingsFields
. Полная спецификация метода приведена в Swagger.
Пример выполнения запроса updateJoinSettingsFields
:
PUT
https://moodhood-api.livedigital.space/v1/spaces/60d55c0eb9ef88ab17b0aabb/rooms/60d55c0eb9ef88ab17b0aabb/join-settings/fields
.
{
"fields": [
{
"enabled": false,
"required": false,
"slug": "email",
"title": "admin.classrooms.email",
"type": "email"
},
{
"enabled": true,
"required": true,
"slug": "phone",
"title": "admin.classrooms.phone",
"type": "phone"
}
]
}
Описание параметров:
slug
- уникальный идентификатор поля, которое заполняет участник при входе. Может бытьemail
илиphone
.type
- тип поля, должен соответствовать признакуslug
, т.е. если slug = phone, то type = phone.title
- название поля входа, для slug = email необходимо указать значениеadmin.classrooms.email
, для slug = phone укажитеadmin.classrooms.phone
enable
- признак, который активирует поля входа email/phone. Может быть true или false.required
- делает поля обязательным для заполнения участником. Может быть true или false.