Создание видеовстречи

Создает видеовстречу или трансляцию в Телемосте.

В теле запроса можно задать:

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

В ответе возвращаются:

  • идентификатор встречи и ссылка join_url для подключения участников;
  • для трансляции — ссылка live_stream.watch_url для просмотра.

Обычную публичную встречу может создать и пользователь с личным Яндекс ID. Возможности трансляции и доступа только для организации зависят от прав пользователя.

Request

POST

https://cloud-api.yandex.net/v1/telemost-api/conferences

Body

application/json
{
  "id": "example",
  "join_url": "example",
  "access_level": "PUBLIC",
  "waiting_room_level": "PUBLIC",
  "live_stream": {
    "watch_url": "example",
    "access_level": "PUBLIC",
    "title": "example",
    "description": "example"
  },
  "cohosts": [
    {
      "email": "example"
    }
  ],
  "is_auto_summarization_enabled": true
}

Name

Description

access_level

Type: string

Устаревшее поле, используйте waiting_room_level.

Настройка уровня доступа:

  • PUBLIC — комната ожидания выключена, все пользователи смогут сразу присоединиться к встрече;
  • ORGANIZATION — комната ожидания включена для внешних пользователей, к встрече сразу смогут присоединиться только пользователи с аккаунтами на домене организации;
  • UNKNOWN — параметр для обеспечения обратной совместимости: все остальные значения поля обрабатываются как UNKNOWN.

Enum: PUBLIC, ORGANIZATION, UNKNOWN

cohosts

Type: ApiCohost[]

Список соорганизаторов видеовстречи. Если параметр не указан или указан пустой список, встреча создается без соорганизаторов.

Example
[
  {
    "email": "example"
  }
]

id

Type: string

Идентификатор видеовстречи.

Example: example

is_auto_summarization_enabled

Type: boolean

Должно ли автоматически запускаться конспектирование при старте встречи.

join_url

Type: string

Ссылка для участников, по которой можно присоединения к видеовстрече.

Example: example

live_stream

Type: ApiLiveStream

Данные о трансляции. Если поле не передано, трансляция не создается.

Example
{
  "watch_url": "example",
  "access_level": "PUBLIC",
  "title": "example",
  "description": "example"
}

waiting_room_level

Type: string

Настройка уровня доступа комнаты ожидания — кто попадает на встречу, минуя ожидание:

  • PUBLIC — комната ожидания выключена, пользователи смогут сразу присоединиться к встрече;
  • ORGANIZATION — комната ожидания включена для внешних пользователей, к встрече сразу смогут присоединиться только пользователи с аккаунтами на домене организации;
  • ADMINS — комната ожидания включена для всех пользователей, кроме организаторов и соорганизаторов встречи.

Enum: PUBLIC, ORGANIZATION, ADMINS

ApiLiveStream

Name

Description

access_level

Type: string

Настройка уровня доступа:

  • PUBLIC — комната ожидания выключена, все пользователи смогут сразу присоединиться к встрече;
  • ORGANIZATION — комната ожидания включена для внешних пользователей, к встрече сразу смогут присоединиться только пользователи с аккаунтами на домене организации;
  • UNKNOWN — параметр для обеспечения обратной совместимости: все остальные значения поля обрабатываются как UNKNOWN.

Enum: PUBLIC, ORGANIZATION, UNKNOWN

description

Type: string

Описание трансляции, которое отображается на странице для зрителей.

Example: example

title

Type: string

Название трансляции, которое отображается на странице для зрителей.

Example: example

watch_url

Type: string

Ссылка для просмотра трансляции.

Example: example

Example
{
  "watch_url": "example",
  "access_level": "PUBLIC",
  "title": "example",
  "description": "example"
}

ApiCohost

Name

Description

email

Type: string

Адрес электронной почты соорганизатора.

Example: example

Example
{
  "email": "example"
}

Responses

201 Created

OK

Body

application/json
{
  "id": "example",
  "join_url": "example",
  "access_level": "PUBLIC",
  "waiting_room_level": "PUBLIC",
  "live_stream": {
    "watch_url": "example",
    "access_level": "PUBLIC",
    "title": "example",
    "description": "example"
  },
  "is_auto_summarization_enabled": true,
  "should_create_public_chat_if_not_exists": true
}

Name

Description

access_level

Type: string

Устаревшее поле, используйте waiting_room_level.

Настройка уровня доступа:

  • PUBLIC — комната ожидания выключена, все пользователи смогут сразу присоединиться к встрече;
  • ORGANIZATION — комната ожидания включена для внешних пользователей, к встрече сразу смогут присоединиться только пользователи с аккаунтами на домене организации;
  • UNKNOWN — параметр для обеспечения обратной совместимости: все остальные значения поля обрабатываются как UNKNOWN.

Enum: PUBLIC, ORGANIZATION, UNKNOWN

id

Type: string

Идентификатор видеовстречи.

Example: example

is_auto_summarization_enabled

Type: boolean

Автоматический запуск конспектирования при старте встречи. Включается при входе первого участника. Останавливается автоматически при выходе всех участников из встречи.

join_url

Type: string

Ссылка для участников, по которой можно присоединения к видеовстрече.

Example: example

live_stream

Type: ApiLiveStream

Данные о трансляции. Если видеовстреча создана без трансляции, параметр отсутствует.

Example
{
  "watch_url": "example",
  "access_level": "PUBLIC",
  "title": "example",
  "description": "example"
}

should_create_public_chat_if_not_exists

Type: boolean

Должен ли создаваться открытый чат для конференции, если он еще не создан.

waiting_room_level

Type: string

Настройка уровня доступа комнаты ожидания — кто попадает на встречу, минуя ожидание:

  • PUBLIC — комната ожидания выключена, пользователи смогут сразу присоединиться к встрече;
  • ORGANIZATION — комната ожидания включена для внешних пользователей, к встрече сразу смогут присоединиться только пользователи с аккаунтами на домене организации;
  • ADMINS — комната ожидания включена для всех пользователей, кроме организаторов и соорганизаторов встречи.

Enum: PUBLIC, ORGANIZATION, ADMINS

400 Bad Request

Тип и идентификатор сущности внешней встречи должны быть переданы вместе

Body

application/json
{
  "error": "example",
  "description": "example",
  "message": "example",
  "details": {}
}

Name

Description

description

Type: string

Техническое описание ошибки

Example: example

error

Type: string

Уникальный код ошибки

Example: example

message

Type: string

Человекочитаемое описание ошибки

Example: example

details

Type: object

Дополнительные детали ошибки

Example
{}

401 Unauthorized

Не авторизован.

Body

application/json
{
  "error": "example",
  "description": "example",
  "message": "example",
  "details": {}
}

Name

Description

description

Type: string

Техническое описание ошибки

Example: example

error

Type: string

Уникальный код ошибки

Example: example

message

Type: string

Человекочитаемое описание ошибки

Example: example

details

Type: object

Дополнительные детали ошибки

Example
{}

402 Payment Required

Трансляции недоступны на вашем тарифе.

Body

application/json
{
  "error": "example",
  "description": "example",
  "message": "example",
  "details": {}
}

Name

Description

description

Type: string

Техническое описание ошибки

Example: example

error

Type: string

Уникальный код ошибки

Example: example

message

Type: string

Человекочитаемое описание ошибки

Example: example

details

Type: object

Дополнительные детали ошибки

Example
{}

403 Forbidden

Не удалось авторизовать переговорную.

Body

application/json
{
  "error": "example",
  "description": "example",
  "message": "example",
  "details": {}
}

Name

Description

description

Type: string

Техническое описание ошибки

Example: example

error

Type: string

Уникальный код ошибки

Example: example

message

Type: string

Человекочитаемое описание ошибки

Example: example

details

Type: object

Дополнительные детали ошибки

Example
{}

404 Not Found

Пресет матрицы пермиссий не найден.

Body

application/json
{
  "error": "example",
  "description": "example",
  "message": "example",
  "details": {}
}

Name

Description

description

Type: string

Техническое описание ошибки

Example: example

error

Type: string

Уникальный код ошибки

Example: example

message

Type: string

Человекочитаемое описание ошибки

Example: example

details

Type: object

Дополнительные детали ошибки

Example
{}

406 Not Acceptable

Ресурс не может быть представлен в запрошенном формате.

Body

application/json
{
  "error": "example",
  "description": "example",
  "message": "example",
  "details": {}
}

Name

Description

description

Type: string

Техническое описание ошибки

Example: example

error

Type: string

Уникальный код ошибки

Example: example

message

Type: string

Человекочитаемое описание ошибки

Example: example

details

Type: object

Дополнительные детали ошибки

Example
{}

409 Conflict

Трансляция в неподходящем для операции состоянии.

Body

application/json
{
  "error": "example",
  "description": "example",
  "message": "example",
  "details": {}
}

Name

Description

description

Type: string

Техническое описание ошибки

Example: example

error

Type: string

Уникальный код ошибки

Example: example

message

Type: string

Человекочитаемое описание ошибки

Example: example

details

Type: object

Дополнительные детали ошибки

Example
{}

410 Gone

Сессия пользователя не активна.

Body

application/json
{
  "error": "example",
  "description": "example",
  "message": "example",
  "details": {}
}

Name

Description

description

Type: string

Техническое описание ошибки

Example: example

error

Type: string

Уникальный код ошибки

Example: example

message

Type: string

Человекочитаемое описание ошибки

Example: example

details

Type: object

Дополнительные детали ошибки

Example
{}

415 Unsupported Media Type

Неподдерживаемый формат данных в теле запроса.

Body

application/json
{
  "error": "example",
  "description": "example",
  "message": "example",
  "details": {}
}

Name

Description

description

Type: string

Техническое описание ошибки

Example: example

error

Type: string

Уникальный код ошибки

Example: example

message

Type: string

Человекочитаемое описание ошибки

Example: example

details

Type: object

Дополнительные детали ошибки

Example
{}

429 Too Many Requests

Слишком много запросов.

Body

application/json
{
  "error": "example",
  "description": "example",
  "message": "example",
  "details": {}
}

Name

Description

description

Type: string

Техническое описание ошибки

Example: example

error

Type: string

Уникальный код ошибки

Example: example

message

Type: string

Человекочитаемое описание ошибки

Example: example

details

Type: object

Дополнительные детали ошибки

Example
{}

503 Service Unavailable

Сейчас сервис перегружен, но мы уже работаем над этой проблемой.

Body

application/json
{
  "error": "example",
  "description": "example",
  "message": "example",
  "details": {}
}

Name

Description

description

Type: string

Техническое описание ошибки

Example: example

error

Type: string

Уникальный код ошибки

Example: example

message

Type: string

Человекочитаемое описание ошибки

Example: example

details

Type: object

Дополнительные детали ошибки

Example
{}

Примеры запросов

Чтобы создать общедоступную видеовстречу без трансляции, передайте уровень доступа PUBLIC:

{
  "waiting_room_level": "PUBLIC"
}

Чтобы создать видеовстречу с общедоступной трансляцией, передайте параметры waiting_room_level и live_stream:

{
  "waiting_room_level": "ADMINS",
  "live_stream": {
    "access_level": "PUBLIC",
    "title": "Презентация продукта",
    "description": "Трансляция презентации продукта"
  }
}

Чтобы назначить соорганизаторов при создании видеовстречи, передайте их адреса электронной почты в поле cohosts:

{
  "waiting_room_level": "PUBLIC",
  "cohosts": [
    {
      "email": "user1@yandex.ru"
    },
    {
      "email": "user2@org-domain.ru"
    }
  ]
}

Чтобы конспектирование началось при входе первого участника, передайте true в поле is_auto_summarization_enabled:

{
  "waiting_room_level": "ADMINS",
  "is_auto_summarization_enabled": true
}
Предыдущая