Link Search Menu Expand Document

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, то комнаты удалять не нужно.

Настройкиа полей входа в комнату

После создания комнаты есть возможность произвести настройку полей вход в комнату.

join_setting_fields

Эти поля могут быть как обязательными для заполнения пользователем, так и необязательными. За настройку полей входа отвечает запрос 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.