Перейти к содержанию

Методы

Конференции

Описание методов для конференций

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

Для создания новой конференции используется запрос:

POST https://{{URL}}/api/{{API_token}}/meets/schedule
Входные параметры

Параметр

Обязательные параметры
отмечены "звездочкой"
Тип Описание Значение по умолчанию Примечание
description* string Название - -
peoples* number Количество участников комнаты - Количество участников должно быть не менее 2 и не превышать доступный лимит.
В случае если режим бронирования выключен, параметр передавать запрещено.

beginTimezone* string Часовой пояс - Формат IANA

Примеры:
• Europe/Moscow
• Asia/Yekaterinburg
• Europe/Samara
• Asia/Vladivostok
beginDate* string Дата начала конференции - Формат ГГГГ-ММ-ДД
beginHours* number Час начала конференции в указанном часовом поясе - Целые числа от 0 до 23
beginMinutes* number Минуты начала конференции в указанном часовом поясе - Целые числа от 0 до 59
duration* number Длительность конференции в минутах - Целые числа от 15 до 1425
pass number Пароль конференции - Если параметр не указан, доступ к конференции будет без пароля.
autoOwner boolean При значении true первый конференция может начаться без участия модератора false -
startAudioMuted boolean При значении true все участники входят в комнату с выключенным микрофоном false -
startVideoMuted boolean При значении true все участники входят в комнату с выключенной камерой false -

Пример успешного ответа

{
    "status": "ok",
    "_id": "68c7cd47ad7e85acc0e007f5"
}

Примеры неуспешных ответов

  1. В запросе используется неправильный API token
    {
        "status": "not_auth",
        "message": "The user is not authenticated"
    }
    
  2. В параметре "Количество участников" указано неверное значение: либо меньше 2, либо больше доступного лимита
    {
        "status": "peoples_incorrect",
        "peoplesAvailable": 297,
        "peoplesMin": 2,
        "message": "Invalid 'peoples' value: 0. Allowed range: 2–297"
    }
    
  3. Достигнут лимит одновременных конференций для вашей организации
    {
        "status": "meets_per_time_limit_exceeded",
        "limit": 1,
        "message": "The number of simultaneous conferences for the organization '222333444' has reached the limit (1)"
    }
    
  4. В параметре "Дата начала" указана прошедшая дата
    {
        "status": "date_incorrect",
        "message": "Date and time is before now"
    }
    
  5. В параметре "Часовой пояс" указано значение НЕ в формате IANA
    {
        "status": "date_incorrect",
        "message": "Invalid 'beginTimezone' value: Europe/Moscow"
    }
    
  6. В запросе указано значение, не соответствующее типу параметра
    {
        "status": "bad_request",
        "message": "Validation error. startAudioMuted - Invalid input: expected boolean, received number"
    }
    
  7. В запросе указана дата начала конференции больше, чем 365 дней от текущей
    {
    "status": date_incorrect, 
    "message": "Invalid 'beginDate' value: {значение}. Max allowed date: {текущая дата+ 365 дней}
    }
    

Редактирование конференции

Для редактирования конференции используется метод:

PUT https://{{URL}}/api/{{API_token}}/meets/schedule/{{_id}}

Входные параметры

Параметр Тип Описание Примечание
description string Название -
peoples
number Количество участников комнаты Количество участников должно быть не менее 2 и не превышать доступный лимит.

beginTimezone string Часовой пояс Формат IANA

Примеры:
• Europe/Moscow
• Asia/Yekaterinburg
• Europe/Samara
• Asia/Vladivostok
beginDate
string Дата начала конференции Формат ГГГГ-ММ-ДД
beginHours number Час начала конференции в указанном часовом поясе Целые числа от 0 до 23
beginMinutes number Минуты начала конференции в указанном часовом поясе Целые числа от 0 до 59
duration number Длительность конференции Числа от 15 до 1425, минуты
pass number Пароль конференции Если параметр не указан, доступ к комнате будет без пароля.
autoOwner boolean При значении true конференция может начаться без участия модератора -
startAudioMuted boolean При значении true все участники входят в комнату с выключенным микрофоном. -
startVideoMuted boolean При значении true все участники входят в комнату с выключенной камерой. -

Пример успешного ответа

{
    "status": "ok"
}

Примеры неуспешных ответов

  1. В запросе используется неправильный API token
    {
        "status": "not_auth",
        "message": "The user is not authenticated"
    }
    
  2. В запросе указан ID несуществующей конференции
    {
        "status": "not_found",
        "message": "Conference not found"
    }
    
  3. В параметре "Количество участников" указано неверное значение: либо меньше 2, либо больше доступного лимита
    {
        "status": "peoples_incorrect",
        "peoplesAvailable": 297,
        "peoplesMin": 2,
        "message": "Invalid 'peoples' value: 0. Allowed range: 2–297"
    }
    
  4. Достигнут лимит одновременных конференций для вашей организации
    {
        "status": "meets_per_time_limit_exceeded",
        "limit": 1,
        "message": "The number of simultaneous conferences for the organization '222333444' has reached the limit (1)"
    }
    
  5. В параметре "Дата начала" указана прошедшая дата
    {
        "status": "date_incorrect",
        "message": "Date and time is before now"
    }
    
  6. В параметре "Часовой пояс" указано значение НЕ в формате IANA
    {
        "status": "date_incorrect",
        "message": "Invalid 'beginTimezone' value: Europe/Moscow"
    }
    
  7. В запросе указано значение, не соответствующее типу параметра
    {
        "status": "bad_request",
        "message": "Validation error. startAudioMuted - Invalid input: expected boolean, received number"
    }
    
  8. В запросе указана дата начала конференции больше, чем 365 дней от текущей
    {
    "status": date_incorrect, 
    "message": "Invalid 'beginDate' value: {значение}. Max allowed date: {текущая дата+ 365 дней}
    }
    

Удаление конференции

Для удаления конференции используется метод:

DELETE https://{{URL}}/api/{{API_token}}/meets/schedule/{{_id}}

Пример успешного ответа

{
    "status": "ok"
}

Примеры неуспешных ответов

  1. В запросе используется неправильный API token
    {
        "status": "not_auth",
        "message": "The user is not authenticated"
    }
    
  2. В запросе указан ID активной конференции
    {
        "status": "forbidden",
        "message": "Conference '68d2455c1159dbe61076e159' is in progress — cannot be deleted"
    }
    
  3. В запросе указан ID несуществующей конференции
    {
        "status": "not_found",
        "message": "Conference not found"
    }
    

Получение количества доступных лицензий для создания конференций

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

POST https://{{URL}}/api/{{API_token}}/meets/schedule/pool

Входные параметры

Параметр

Обязательные параметры
отмечены "звездочкой"
Тип Описание Примечание
beginDate* string Дата начала -
beginTimezone* string Часовой пояс Формат IANA

Примеры:
Europe/Moscow
Asia/Yekaterinburg
Europe/Samara
Asia/Vladivostok
beginHours* number Час начала конференции в указанном часов поясе Целые числа от 0 до 23
beginMinutes* number Минуты начала конференции в указанном часовом поясе Целые числа от 0 до 59
duration* number Длительность конференции Целые числа от 15 до 1425, минуты

Пример успешного ответа

{
    "status": "ok",
    "available": 319,
    "size": 400,
    "used": 81
}

Расшифровка успешного ответа

  1. В параметре "available" указано количество доступных лицензий при условиях, указанных в теле запроса
  2. В параметре "size" указано общее количество лицензий выделенных для организации
  3. В параметре "used" указано количество лицензий, которое уже забронировано при условиях, указанных в теле запроса.

Примеры неуспешных ответов

  1. В запросе используется неправильный API token
    {
        "status": "not_auth",
        "message": "The user is not authenticated"
    }
    
  2. В параметре "Часовой пояс" указано значение НЕ в формате IANA
    {
        "status": "date_incorrect",
        "message": "Invalid 'beginTimezone' value: Europe/Moscow"
    }
    
  3. В запросе указано значение, не соответствующее типу параметра
    {
        "status": "bad_request",
        "message": "Validation error. startAudioMuted - Invalid input: expected boolean, received number"
    }
    

Получение количества доступных лицензий для редактирования конференций

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

POST https://{{URL}}/api/{{API_token}}/meets/schedule/pool/{{_id}}

Входные параметры

Параметр

Обязательные параметры
отмечены "звездочкой"
Тип Описание Примечание
beginDate* string Дата начала -
beginHours* number Час начала Целые числа от 0 до 23
beginMinutes* number Минуты начала Целые числа от 0 до 59
beginTimezone* string Часовой пояс Формат IANA

Примеры:
Europe/Moscow
Asia/Yekaterinburg
Europe/Samara
Asia/Vladivostok
duration* number Длительность конференции Целые числа от 15 до 1425, минуты

Пример успешного ответа

{
    "status": "ok",
    "available": 319,
    "size": 400,
    "used": 81
}

Расшифровка успешного ответа

  1. В параметре "available" указано количество доступных конференций при условиях, указанных в теле запроса
  2. В параметре "size" указано общее количество лицензий выделенных для организации
  3. В параметре "used" указано количество лицензий, которое уже забронировано при условиях, указанных в теле запроса.

Примеры неуспешных ответов

  1. В запросе используется неправильный API token
    {
        "status": "not_auth",
        "message": "The user is not authenticated"
    }
    
  2. В параметре "Часовой пояс" указано значение НЕ в формате IANA
    {
        "status": "date_incorrect",
        "message": "Invalid 'beginTimezone' value: Europe/Moscow"
    }
    
  3. В запросе указан ID несуществующей конференции
    {
        "status": "not_found",
        "message": "Conference not found"
    }
    
  4. В запросе указано значение, не соответствующее типу параметра
    {
        "status": "bad_request",
        "message": "Validation error. startAudioMuted - Invalid input: expected boolean, received number"
    }
    

Получение токена для входа в конференцию с ролью модератора

Чтобы получить токен для входа в конференцию с ролью модератора используется метод:

GET https://{{URL}}/api/{{API_token}}/meets/moderator_hash/{{_id}}

Пример успешного ответа

{
    "status": "ok",
    "moderatorHash": "702d64eb50d4c379fa08dd32c28d1f2b"
}

Примеры неуспешных ответов

  1. В запросе используется неправильный API token
    {
        "status": "not_auth",
        "message": "The user is not authenticated"
    }
    
  2. В запросе указан ID несуществующей конференции
    {
        "status": "not_found",
        "message": "Conference not found"
    }
    

Комнаты

Описание методов для комнат

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

Для создания новой комнаты используется запрос:

POST https://{URL}/api/{apiToken}/rooms

Входные параметры

Параметр

Обязательные параметры
отмечены "звездочкой"
Тип Описание Значение по умолчанию Примечание
description* string Название - Поле не должно быть пустым
roomId* string ID комнаты - Только числа в формате
XX-XX-XX, должно быть уникальное значение
peoples*
number Количество участников комнаты - Количество участников должно быть не менее 2 и не превышать доступный лимит.
В случае если режим бронирования выключен, параметр передавать запрещено.
pass number Пароль комнаты - Если параметр не указан, доступ к комнате будет без пароля.
startAudioMuted boolean При значении true все участники входят в комнату с выключенным микрофоном. false -
startVideoMuted boolean При значении true все участники входят в комнату с выключенной камерой. false -

Пример успешного ответа

{
"status": "ok"
}

Примеры неуспешных ответов

  1. В запросе используется неправильный API token
       {
        "status": "not_auth",
        "message": "The user is not authenticated"
    }
    
  2. В параметре ID комнаты указано значение уже существующей комнаты
    {
        "status": "room_already_exists",
        "message": "The room already exists"
    }
    
  3. В параметре "Количество участников" указано неверное значение: либо меньше 2, либо больше доступного лимита
    {
        "status": "peoples_incorrect",
        "peoplesAvailable": 297,
        "peoplesMin": 2,
        "message": "Invalid 'peoples' value: 0. Allowed range: 2–297"
    }
    
  4. Достигнут лимит одновременных конференций для вашей организации
    {
        "status": "meets_per_time_limit_exceeded",
        "limit": 1,
        "message": "The number of simultaneous conferences for the organization '222333444' has reached the limit (1)"
    }
    
  5. В запросе указано значение, не соответствующее типу параметра
    {
        "status": "bad_request",
        "message": "Validation error. startAudioMuted - Invalid input: expected boolean, received number"
    }
    

Редактирование комнаты

Для редактирования комнаты используется метод:

PUT https://{{URL}}/api/{{API_token}}/rooms/{{roomId}}

Входные параметры

Параметр Тип Описание Примечание
description string Название -
peoples
number Количество участников комнаты Количество участников должно быть не менее 2 и не превышать доступный лимит.
В случае если режим бронирования выключен, параметр передавать запрещено.
pass number Пароль комнаты Если параметр не указан, доступ к комнате будет без пароля.
autoOwner boolean При значении true конференция может начаться без участия модератора -
startAudioMuted boolean При значении true все участники входят в комнату с выключенным микрофоном. -
startVideoMuted boolean При значении true все участники входят в комнату с выключенной камерой. -

Пример успешного ответа

{
    "status": "ok"
}

Примеры неуспешных ответов

  1. В запросе используется неправильный API token
    {
        "status": "not_auth",
        "message": "The user is not authenticated"
    }
    
  2. В запросе указан ID несуществующей комнаты
    {
        "status": "not_found",
        "message": "Room not found"
    }
    
  3. В параметре "Количество участников" указано неверное значение: либо меньше 2, либо больше доступного лимита
    {
        "status": "peoples_incorrect",
        "peoplesAvailable": 297,
        "peoplesMin": 2,
        "message": "Invalid 'peoples' value: 0. Allowed range: 2–297"
    }
    
  4. Достигнут лимит одновременных конференций для вашей организации
    {
        "status": "meets_per_time_limit_exceeded",
        "limit": 1,
        "message": "The number of simultaneous conferences for the organization '222333444' has reached the limit (1)"
    }
    
  5. В запросе указано значение, не соответствующее типу параметра
    {
        "status": "bad_request",
        "message": "Validation error. startAudioMuted - Invalid input: expected boolean, received number"
    }
    

Удаление комнаты

Для удаления комнаты используется метод:

DELETE https://{{URL}}/api/{{API_token}}/rooms/{{roomId}}

Пример успешного ответа

{
    "status": "ok"
}

Примеры неуспешных ответов

  1. В запросе используется неправильный API token
    {
        "status": "not_auth",
        "message": "The user is not authenticated"
    }
    
    1. В запросе указан ID комнаты с активной конференцией
      {
          "status": "forbidden",
          "message": "Conference '68d24c9c1159dbe61076e75e' is in progress — the room cannot be deleted"
      }
      
  2. В запросе указан ID несуществующей комнаты
    {
        "status": "not_found",
        "message": "Room not found"
    }
    

Получение количества доступных лицензий для создания комнаты

Чтобы получить пул лицензий для создания комнаты, используется метод:

POST https://{{URL}}/api/{{API_token}}/rooms/pool

Пример успешного ответа

{
    "status": "ok",
    "available": 319,
    "size": 400,
    "used": 81
}

Расшифровка успешного ответа

  1. В параметре "available" указано количество доступных лицензий
  2. В параметре "size" указано общее количество лицензий выделенных для организации
  3. В параметре "used" указано количество лицензий, которое уже забронировано

Примеры неуспешных ответов

  1. В запросе используется неправильный API token
    {
        "status": "not_auth",
        "message": "The user is not authenticated"
    }
    

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

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

POST https://{{URL}}/api/{{API_token}}/rooms/pool/{{roomId}}

Пример успешного ответа

{
    "status": "ok",
    "available": 319,
    "size": 400,
    "used": 81
}

Расшифровка успешного ответа

  1. В параметре "available" указано количество доступных лицензий
  2. В параметре "size" указано общее количество лицензий выделенных для организации
  3. В параметре "used" указано количество лицензий, которое уже забронировано

Примеры неуспешных ответов

  1. В запросе используется неправильный API token
    {
        "status": "not_auth",
        "message": "The user is not authenticated"
    }
    
  2. В запросе указан ID несуществующей комнаты
    {
        "status": "not_found",
        "message": "Room not found"
    }
    

Получение токена для входа в комнату с ролью модератора

Чтобы получить токен для входа в комнату с ролью модератора используется метод:

GET https://{{URL}}/api/{{API_token}}/rooms/{{roomId}}/moderator_hash/ 

Пример успешного ответа

{
    "status": "ok",
    "moderatorHash": "702d64eb50d4c379fa08dd32c28d1f2b"
}

Примеры неуспешных ответов

  1. В запросе используется неправильный API token
    {
        "status": "not_auth",
        "message": "The user is not authenticated"
    }
    
  2. В запросе указан ID несуществующей комнаты
    {
        "status": "not_found",
        "message": "Conference not found"
    }
    

Организации

Описание методов для организаций

Создание новой организации

Для создания организации используется метод:

POST https://{{URL}}/api/{{API_token}}/orgs

Входные параметры

Параметр

Обязательные параметры
отмечены "звездочкой"
Тип Описание Значение по умолчанию Примечание
name* string Название - Название организации должно быть уникальным
exp number Дата и время, до которой организация будет оставаться активной 3155760000000 Формат Unix timestamp, миллисекунды
participants number Количество лицензий, выделенных на организацию 0 Целые числа
meetsPerTime number Максимально возможное количество одновременных конференций 1000 Целые числа

Пример успешного ответа

{
    "status": "ok",
    "_id": "68cd43f1a5c2aab8961d7788"
}

Примеры неуспешных ответов

  1. В запросе используется неправильный API token
    {
        "status": "not_auth",
        "message": "The user is not authenticated"
    }
    
  2. В запросе указано количество участников больше лимита доступных лицензий
    {
        "status": "participants_incorrect",
        "available": 21,
        "message": "Invalid 'participants' value: 10000. Allowed range: 0–21"
    }
    
  3. В запросе используется API token без прав работы с организациями
    {
        "status": "forbidden",
        "message": "Organization (active=false) and/or user (active=true) is not active"
    }
    
  4. В запросе указано значение, не соответствующее типу параметра
    {
        "status": "bad_request",
        "message": "Validation error. name - Invalid input: expected string, received undefined"
    }
    

Получение списка созданных организаций

Для получения списка созданных организаций используется метод:

GET https://{{URL}}/api/{{API_token}}/orgs

Пример успешного ответа

{
    "status": "ok",
    "orgs": [
        {
            "_id": "68bea15aed9b1fa01d72dac8",
            "name": "org_name223"
        },
        {
            "_id": "68b6f94b302adce69ec6890d",
            "name": "org_name4834"
        }
    ]
}

Расшифровка успешного ответа

  1. В ответе возвращается список, в котором указаны ID и названия организаций

Примеры неуспешных ответов

  1. В запросе используется неправильный API token
    {
        "status": "not_auth",
        "message": "The user is not authenticated"
    }
    
  2. В запросе используется API token без прав работы с организациями
    {
        "status": "forbidden",
        "message": "Organization (active=false) and/or user (active=true) is not active"
    }
    

Получение информации об организации

Для получения информации об организации используется метод:

GET https://{{URL}}/api/{{API_token}}/orgs/{{_id}}

Пример успешного ответа

{
    "status": "ok",
    "org": {
        "_id": "68cd49cda5c2aab8961d7829",
        "exp": 3155760000000,
        "meetsPerTime": 1000,
        "name": "API2",
        "participants": 0
    }
}

Расшифровка успешного ответа

  1. В параметре "_id" указан ID организации
  2. В параметре "exp" указано Дата и время, до которой организация будет оставаться активной в формате Unix timestamp, миллисекунды
  3. В параметре "participants" указано количество выделенных лицензий на организацию
  4. В параметре "name" указано название организации
  5. В параметре "meetsPerTime" указано максимально возможное количество одновременных конференций в организации

Примеры неуспешных ответов

  1. В запросе используется неправильный API token
    {
        "status": "not_auth",
        "message": "The user is not authenticated"
    }
    
  2. В запросе указан ID несуществующей организации
    {
        "status": "not_found",
        "message": "Organization not found"
    }
    
  3. В запросе используется API token без прав работы с организациями
    {
        "status": "forbidden",
        "message": "Organization (active=false) and/or user (active=true) is not active"
    }
    

Получение доступных лицензий для определенной организации

Для получения доступных лицензий для определенной организации используется метод:

GET https://{{URL}}/api//{API_token}/orgs/{orgId}/pool

Пример успешного ответа

{
  "available": 20,
  "size": 100,
  "used": 80,
  "status": "ok"
}

Расшифровка успешного ответа

  1. В параметре "available" указано количество доступных лицензий
  2. В параметре "size" указано количество выделенных лицензий на организацию
  3. В параметре "used" указано количество использованных лицензий в организации

Примеры неуспешных ответов

  1. В запросе используется неправильный API token
    {
        "status": "not_auth",
        "message": "The user is not authenticated"
    }
    
  2. В запросе указан ID несуществующей организации
    {
        "status": "not_found",
        "message": "Organization not found"
    }
    
  3. В запросе используется API token без прав работы с организациями
    {
        "status": "forbidden",
        "message": "Organization (active=false) and/or user (active=true) is not active"
    }
    

Редактирование организации

Для редактирования организации используется метод:

PUT https://{{URL}}/api/{{API_token}}/orgs/{{orgId}}

Входные параметры

Параметр Тип Описание Примечание
name string Название -
exp number Дата и время, до которой организация будет оставаться активной Формат Unix timestamp, миллисекунды
participants number Количество лицензий, выделенных на организацию Целые числа
meetsPerTime number Максимально возможное количество одновременных конференций Целые числа

Пример успешного ответа

{
    "status": "ok",
}

Редактирование организации с названием default

  1. Нельзя редактировать следующие поля для организации с названием default
    a. name
    b. exp

Примеры неуспешных ответов

  1. В запросе используется неправильный API token
    {
        "status": "not_auth",
        "message": "The user is not authenticated"
    }
    
  2. В запросе указано количество участников больше лимита доступных лицензий
    {
        "status": "participants_incorrect",
        "available": 21,
        "message": "Invalid 'participants' value: 10000. Allowed range: 0–21"
    }
    
  3. В запросе используется API token без прав работы с организациями
    {
        "status": "forbidden",
        "message": "Organization (active=false) and/or user (active=true) is not active"
    }
    
  4. В запросе указан ID несуществующей организации
    {
        "status": "not_found",
        "message": "Organization not found"
    }
    
  5. В запросе указано количество участников организации меньше, чем участников в запланированных конференциях

    {
        "status": "participants_less_than_scheduled",
        "used": 10,
        "message": "2 is less than total number of participants (10) in already scheduled conferences"
    }
    

  6. В запросе указано значение, не соответствующее типу параметра

    {
        "status": "bad_request",
        "message": "Validation error. name - Invalid input: expected string, received undefined"
    }
    

Удаление организации

Для удаления организации используется метод:

DELETE https://{{URL}}/api/{{API_token}}/orgs/{{_id}}

Пример успешного ответа

{
    "status": "ok"
}

Удаление организации с названием default

  1. Удаление организации с названием default невозможно

Примеры неуспешных ответов

  1. В запросе используется неправильный API token
    {
        "status": "not_auth",
        "message": "The user is not authenticated"
    }
    
  2. В запросе указан ID несуществующей организации
    {
        "status": "not_found",
        "message": "Organization not found"
    }
    
  3. Нельзя удалить организацию, в которой идет активная конференция
    {
        "status": "has_active_conferences",
        "message": "Organization has an active conferences (1)"
    }
    
  4. В запросе используется API token без прав работы с организациями
    {
        "status": "forbidden",
        "message": "Organization (active=false) and/or user (active=true) is not active"
    }
    
    Получение списка пользователей организации

Для получения списка пользователей в организации используется метод:

GET https://{{URL}}/api/{{API_token}}/orgs/{{_id}}/users

Пример успешного ответа

{
    "status": "ok",
    "users": [
        {
            "_id": "68cd4f43a5c2aab8961d788a",
            "name": "Андрей Андреев",
            "username": "aad"
        }
    ]
}

Расшифровка успешного ответа

  1. В ответ приходит список с ID, ФИО и логинами пользователей

Примеры неуспешных ответов

  1. В запросе используется неправильный API token
    {
        "status": "not_auth",
        "message": "The user is not authenticated"
    }
    
  2. В запросе указан ID несуществующей организации
    {
        "status": "not_found",
        "message": "Organization not found"
    }
    
  3. В запросе используется API token без прав работы с организациями
    {
        "status": "forbidden",
        "message": "Organization (active=false) and/or user (active=true) is not active"
    }
    

Пользователи

Описание методов для пользователей

Добавление нового пользователя

Для добавления нового пользователя используется метод:

POST https://{{URL}}/api/{{API_token}}/users/{{_id}}

Входные параметры

Параметр

Обязательные параметры
отмечены "звездочкой"
Тип Описание Значение по умолчанию Примечание
name* string ФИО пользователя - -
username* string Логин пользователя - Минимум три символа. Латиница или цифры, без пробелов, не может начинаться с цифры.
role* string Роль пользователя - "admin" - Администратор,
"secretary" - пользователь,
"user" - ограниченный пользователь
password* string Пароль пользователя - Минимум 8 символов, латиница или цифры
allowArchive boolean При значении true у пользователя будет доступ к материалам конференции true Не применяется для пользователя с ролью admin
restrictedMeets boolean При значении true у пользователя не будет доступа к списку конференций, созданных другими пользователями его организации. false Не применяется для пользователя с ролью admin
email string Электронная почта пользователя - -
phone string Телефон пользователя - -

Пример успешного ответа

{
    "status": "ok",
    "_id": "68d0f798a5c2aab8961d893c"
}

Примеры неуспешных ответов

  1. В запросе используется неправильный API token
    {
        "status": "not_auth",
        "message": "The user is not authenticated"
    }
    
  2. В запросе используется API token без прав работы с указанной организацией
    {
        "status": "forbidden",
        "message": "Organization (active=false) and/or user (active=true) is not active"
    }
    
  3. В запросе указано значение, не соответствующее типу параметра
    {
        "status": "bad_request",
        "message": "Validation error. name - Invalid input: expected string, received undefined"
    }
    

Редактирование пользователя

Для редактирования пользователя используется метод:

PUT https://{{URL}}/api/{{API_token}}/users/{{_id}}

Входные параметры

Параметр

Тип Описание Примечание
name string ФИО пользователя -
username string Логин пользователя Минимум три символа. Латиница или цифры, без пробелов, не может начинаться с цифры.
role string Роль пользователя "admin" - Администратор,
"secretary" - пользователь,
"user" - ограниченный пользователь
password string Пароль пользователя Минимум 8 символов, латиница или цифры
active boolean При значении false у пользователя не будет доступа к системе планирования -
allowArchive boolean При значении true у пользователя будет доступ к материалам конференции Не применяется для пользователя с ролью admin
restrictedMeets boolean При значении true у пользователя не будет доступа к списку конференций, созданных другими пользователями его организации. Не применяется для пользователя с ролью admin
email string Электронная почта пользователя -
phone string Телефон пользователя -

Пример успешного ответа

{
    "status": "ok"
}

Редактирование пользователя с логином admin

  1. Нельзя отредактировать следующие поля пользователя с логином admin
    a. username
    b. role
    c. active
  2. Поля allowArchive и restrictedMeets не применяются

Примеры неуспешных ответов

  1. В запросе используется неправильный API token
    {
        "status": "not_auth",
        "message": "The user is not authenticated"
    }
    
  2. В запросе используется API token без прав работы с указанным пользователем
    {
        "status": "forbidden",
        "message": "Organization (active=false) and/or user (active=true) is not active"
    }
    
  3. Указан ID несуществующего пользователя
    {
        "status": "not_found",
        "message": "User not found"
    }
    
  4. В запросе указано значение, не соответствующее типу параметра
    {
        "status": "bad_request",
        "message": "Validation error. name - Invalid input: expected string, received undefined"
    }
    

Удаление пользователя

Для удаления пользователя используется метод:

DELETE https://{{URL}}/api/{{API_token}}/users/{{_id}}
Пример успешного ответа

{
    "status": "ok"
}

Удаление пользователя с логином admin

  1. Удаление пользователя с логином admin невозможно

Примеры неуспешных ответов

  1. В запросе используется неправильный API token
    {
        "status": "not_auth",
        "message": "The user is not authenticated"
    }
    
  2. В запросе используется API token без прав работы с указанным пользователем
    {
        "status": "forbidden",
        "message": "Organization (active=false) and/or user (active=true) is not active"
    }
    
  3. Указан ID несуществующего пользователя
    {
        "status": "not_found",
        "message": "User not found"
    }
    
  4. В запросе указано значение, не соответствующее типу параметра
    {
        "status": "bad_request",
        "message": "Validation error. name - Invalid input: expected string, received undefined"
    }
    

Получение информации о пользователе

Для получения информации о пользователе используется метод:

GET https://{{URL}}/api/{{API_token}}/users/{{_id}}

Пример успешного ответа

{
    "status": "ok",
    "user": {
        "_id": "68d0feefa5c2aab8961d8bce",
        "active": true,
        "allowArchive": true,
        "email": "string",
        "name": "G",
        "org": {
            "_id": "68d0f41fa5c2aab8961d8922",
            "name": "API2"
        },
        "phone": "string",
        "restrictedMeets": false,
        "role": "admin",
        "username": "J12"
    }
}

Расшифровка успешного ответа

  1. В параметре "active" указано, есть ли у пользователя доступ в систему планирования
  2. В параметре "allowArchive" указано, есть ли у пользователя доступ к материалам конференции
  3. В параметре "email" указана электронная почта пользователя
  4. В параметре "name" указано ФИО сотрудника
  5. В параметре "org" указана информация об организации сотрудника
    1. В параметре "_id" указан ID организации пользователя
    2. В параметре "name" указано название организации пользователя
  6. В параметре "phone" указан телефон пользователя
  7. В параметре "restrictedMeets" указано, ограничен ли у пользователя доступ к чужим конференциям
  8. В параметре "role" указана роль пользователя в организации
  9. В параметре "username" указан логин пользователя

Примеры неуспешных ответов

  1. В запросе используется неправильный API token
    {
        "status": "not_auth",
        "message": "The user is not authenticated"
    }
    
  2. В запросе используется API token без прав работы с указанным пользователем
    {
        "status": "forbidden",
        "message": "Organization (active=false) and/or user (active=true) is not active"
    }
    
  3. Указан ID несуществующего пользователя
    {
        "status": "not_found",
        "message": "User not found"
    }
    
  4. В запросе указано значение, не соответствующее типу параметра
    {
        "status": "bad_request",
        "message": "Validation error. name - Invalid input: expected string, received undefined"
    }
    

Генерация и получение API token для пользователя

Для генерации и получения API token для пользователя используется метод:

GET https://{{URL}}/api/{{API_token}}/users/{{userId}}/token/

Пример успешного ответа

{
    "status": "ok",
    "apiToken": "NzViYTBkYWItNmI0NS00MDlhLWI5Y2MtODMwYWMyZWQ3YTUz"
}

Примеры неуспешных ответов

  1. В запросе используется неправильный API token
    {
        "status": "not_auth",
        "message": "The user is not authenticated"
    }
    
  2. В запросе используется API token без прав работы с указанным пользователем
    {
        "status": "forbidden",
        "message": "Organization (active=false) and/or user (active=true) is not active"
    }
    
  3. Указан ID несуществующего пользователя
    {
        "status": "not_found",
        "message": "User not found"
    }
    
  4. В запросе указано значение, не соответствующее типу параметра
    {
        "status": "bad_request",
        "message": "Validation error. name - Invalid input: expected string, received undefined"
    }
    

Удаление API token пользователя

Для удаления API token используется метод:

DELETE https://{{URL}}/api/{{API_token}}/users/{{userId}}/token/

Пример успешного ответа

{
    "status": "ok"
}

Примеры неуспешных ответов

  1. В запросе используется неправильный API token
    {
        "status": "not_auth",
        "message": "The user is not authenticated"
    }
    
  2. В запросе используется API token без прав работы с указанным пользователем
    {
        "status": "forbidden",
        "message": "Organization (active=false) and/or user (active=true) is not active"
    }
    
  3. Указан ID несуществующего пользователя
    {
        "status": "not_found",
        "message": "User not found"
    }
    
  4. В запросе указано значение, не соответствующее типу параметра
    {
        "status": "bad_request",
        "message": "Validation error. name - Invalid input: expected string, received undefined"
    }
    

Лицензии

Описание методов для лицензий

Получение списка лицензий

Для получения списка лицензий используется метод:

GET https://{{URL}}/api/{{API_token}}/licenses

Пример успешного ответа

{
    "status": "ok",
    "licenses": [
        {
            "_id": "695279514c7616a37cac0f19",
            "participants": 50,
            "startTime": 1735678800000,
            "endTime": 1798750800000,
            "id": "samplee.mintconf.ru_p50_20250101_20270101"
        }
    ]
}

Расшифровка успешного ответа

  1. В ответ приходит список лицензий, загруженных на сервер. Для каждой лицензии указывается количество пользователей, дата старта и дата окончания.

Примеры неуспешных ответов

  1. В запросе используется неправильный API token
    {
        "status": "not_auth",
        "message": "The user is not authenticated"
    }
    
  2. В запросе используется API token без прав работы с лицензиями
    {
        "status": "forbidden",
        "message": "Organization (active=false) and/or user (active=true) is not active"
    }
    

Получение списка доступных лицензий для всех организаций

Для получения списка доступных лицензий для всех организаций используется метод:

GET https://{{URL}}/api/{API_token}/licenses/allocation

Пример успешного ответа

{
  "available": 450,
  "orgs": [
    {
      "_id": "1c2704955CdDA1fF742F2db2",
      "name": "{",
      "participants": 0
    }
  ],
  "size": 500,
  "used": 50,
  "status": "ok"
}

Расшифровка успешного ответа

  1. В ответ приходит список доступных лицензий для всех организаций с именем и id организаций

Примеры неуспешных ответов

  1. В запросе используется неправильный API token
    {
        "status": "not_auth",
        "message": "The user is not authenticated"
    }
    
  2. В запросе используется API token без прав работы с лицензиями
    {
        "status": "forbidden",
        "message": "Organization (active=false) and/or user (active=true) is not active"
    }
    

Получение ссылки на скачивание файла с product ID

Для получения ссылки на скачивание файла с product ID используется метод:

GET https://{{URL}}/api/{{API_token}}/licenses/productId

Пример успешного ответа

{
    "status": "ok",
    "link": "/files/sys/sample.mintconf.ru.productId?md5=E3jx6GpJaSPyLYUQQ8xGMQ&expires=1758531302"
}

Примеры неуспешных ответов

  1. В запросе используется неправильный API token
    {
        "status": "not_auth",
        "message": "The user is not authenticated"
    }
    
  2. В запросе используется API token без прав работы с лицензиями
    {
        "status": "forbidden",
        "message": "Organization (active=false) and/or user (active=true) is not active"
    }
    

Статус сервера

Описание метода получения статуса сервера

Получение статуса сервера

Для получения статуса сервера используется метод:

GET https://{{URL}}/api/{{API_token}}/status

Пример успешного ответа

{
    "status": "ok"
}

Примеры неуспешных ответов

  1. Сервер недоступен
    {
      "status": "error",
      "message": "string"
    }
    
  2. В запросе используется неправильный API token
    {
        "status": "not_auth",
        "message": "The user is not authenticated"
    }
    
  3. В запросе используется API token без прав работы с сервером
    {
        "status": "forbidden",
        "message": "Organization (active=false) and/or user (active=true) is not active"
    }
    

Записи

Удаление записей конференции

Для удаления записей конференции используется метод:

DELETE https://{{URL}}/api/{API_token}/files/recordings/{orgId}

Пример успешного ответа

{
    "status": "ok"
}

Примеры неуспешных ответов

  1. Сервер недоступен
    {
      "status": "error",
      "message": "string"
    }
    
  2. В запросе используется неправильный API token
    {
        "status": "not_auth",
        "message": "The user is not authenticated"
    }
    

Работа с транскрибацией

Общая информация

Прикладывать транскрибацию и саммари возможно только для конференций с записями на сервере. Для приложения файла в URL запроса используется fileId - ID записи конференции. Правами прикладывать к конференции транскрибацию и саммари обладают только Администратор сервера и Администратор организации, если конференция привязана к его организации.

Получение fileId

Для получения fileId используется метод:

GET https://{{URL}}/api/{{API_token}}/meets/{{_id}}/files/recordings/

Пример успешного ответа

{
    "status": "ok",
    "files": [
        {
            "_id": "69c27070aab77566585b4aa7",
            "created": 1774350448229,
            "name": "Meet_Recording_2026-03-24-14-03-41.mp4",
            "size": 2823002
        }
    ]
}

Примеры неуспешных ответов

  1. Сервер недоступен
    {
      "status": "error",
      "message": "string"
    }
    
  2. В запросе используется неправильный API token
    {
        "status": "not_auth",
        "message": "The user is not authenticated"
    }
    

Приложить транскрибацию

Для того, чтобы приложить транскрибацию, используется метод:

POST https://{{URL}}/api/{{API_token}}//files/recordings/{{recordId}}/upload/transcript

Входные параметры

Во входных параметрах передается только прикладываемый файл. Тип - text/plain.

Пример успешного ответа

{
    "status": "ok"
}

Примеры неуспешных ответов

  1. Сервер недоступен
    {
      "status": "error",
      "message": "string"
    }
    
  2. В запросе используется неправильный API token
    {
        "status": "not_auth",
        "message": "The user is not authenticated"
    }
    
  3. Неверный тип передаваемого файла
    {
        "status": "mime_type_not_allowed",
        "message": "The specified MIME type 'video/webm' is not allowed. Allowed types: [\"text/plain\"]"
    }
    
  4. Файл не приложен
    {
        "status": "file_not_attached",
        "message": "File not attached"
    }
    

Приложить саммари

Для того, чтобы приложить саммари, используется метод:

POST https://{{URL}}/api/{{API_token}}//files/recordings/{{recordId}}/upload/summary
Входные параметры

Во входных параметрах передается только прикладываемый файл. Тип - text/plain.

Пример успешного ответа

{
    "status": "ok"
}

Примеры неуспешных ответов

  1. Сервер недоступен
    {
      "status": "error",
      "message": "string"
    }
    
  2. В запросе используется неправильный API token
    {
        "status": "not_auth",
        "message": "The user is not authenticated"
    }
    
  3. Неверный тип передаваемого файла
    {
        "status": "mime_type_not_allowed",
        "message": "The specified MIME type 'video/webm' is not allowed. Allowed types: [\"text/plain\"]"
    }
    
  4. Файл не приложен
    {
        "status": "file_not_attached",
        "message": "File not attached"
    }
    

Получение приложенных к конференции транскрибаций и саммари Для получения приложенных к конференции транскрибаций и самари используется метод:

GET https://{{URL}}/api/{{API_token}}/meets/{{_id}}/files/transcripts

Пример успешного ответа

{
    "status": "ok",
    "files": [
        {
            "_id": "69c67698619b8ff41a8db76f",
            "created": 1774614168611,
            "name": "Meet_Summary_2026-03-24-14-03-41.txt",
            "size": 114
        },
        {
            "_id": "69c674bc619b8ff41a8db726",
            "created": 1774613692626,
            "name": "Meet_Transcript_2026-03-24-14-03-41.txt",
            "size": 114
        },        
    ]
}

Примеры неуспешных ответов

  1. Сервер недоступен
    {
      "status": "error",
      "message": "string"
    }
    
  2. В запросе используется неправильный API token
    {
        "status": "not_auth",
        "message": "The user is not authenticated"
    }
    

Примеры

Создание конференции

Общая информация

Для доступа к запланированной конференции формируются две отдельные ссылки:
Ссылка модератора — предоставляет права на управление конференцией.
Ссылка участника — позволяет присоединиться к конференции в качестве участника.

Значение параметра autoOwner, заданное при создании конференции, определяет, может ли она начаться без модератора.
false: Конференция начнётся только после входа модератора.
true: Конференция может начаться без участия модератора.

Шаг 1: Проверка количества доступных лицензий

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

Метод: Получение количества доступных лицензий
POST https://{{URL}}/api/{{API_token}}/meets/schedule/pool

В ответе API мы получаем количество доступных лицензий. В приведенном примере нам доступно 18 лицензий. Этого количества хватает.

Ответ API
{
    "status": "ok",
    "available": 18,
    "size": 100,
    "used": 82
}

Шаг 2: Создание конференции

Используем API-метод для планирования конференции.

Метод: Создание новой конференции
POST https://{{URL}}/api/{{API_token}}/meets/schedule
В ответе API мы получаем идентификатор созданной конференции.

Ответ API
    {
    "status": "ok",
    "_id": "68d2457a1159dbe61076e1dc"
    }

Шаг 3: Формирование ссылок для доступа

  1. Ссылка для участника:

https://{{URL}}/meet/{{_id}}
Пример: https://mycompany.mintconf.com/meet/68d2457a1159dbe61076e1dc

  1. Ссылка для модератора:
  2. Сначала получаем токен модератора.
    Метод: Получение токена модератора
    GET https://{{URL}}/api/{{API_token}}/meets/{{_id}}/moderator_hash/
    
  3. Из ответа берем параметр moderator_hash.
  4. Формируем ссылку ссылку:
    https://{{URL}}/meet/{{moderator_hash}}_{{_id}}
    
    Пример: https://mycompany.mintconf.com/meet/4a4cb1cdce0d0f9d1e82cd400d8ff79b_68d2457a1159dbe61076e1dc

Результат: Мы создали конференцию на 15 участников и получили две ссылки для доступа к ней: ссылку для участника и ссылку для модератора.

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

Шаг 1: Проверка количества доступных лицензий

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

Метод: Получение количества доступных лицензий
POST https://{{URL}}/api/{{API_token}}/meets/schedule/pool

В ответе API мы получаем количество доступных лицензий. В приведенном примере нам доступно 18 лицензий. Этого количества хватает.

Ответ API
{
    "status": "ok",
    "available": 18,
    "size": 100,
    "used": 82
}

Шаг 2: Создание конференции

Устанавливаем параметр autoOwner в значение true.

Метод: Создание новой конференции
POST https://{{URL}}/api/{{API_token}}/meets/schedule
Тело запроса
{
"title": "Конференция без модератора",
"autoOwner": true,
// ... другие параметры
}

В ответе API мы получаем идентификатор созданной конференции.

Ответ API
    {
    "status": "ok",
    "_id": "68d2457a1159dbe61076e1dc"
    }

Шаг 3: Формирование ссылки для участника

https://{{URL}}/meet/{{_id}}
Пример: https://mycompany.mintconf.com/meet/68d2457a1159dbe61076e1dc

Результат: Мы создали конференцию на 15 участников и получили ссылку для доступа к ней.

Редактирование конференции

Шаг 1: Проверка количества доступных лицензий

Проверим, что на новое время конференции доступно не менее 16 лицензий для подключения участников.

Метод: Получение количества доступных лицензий
POST https://{{URL}}/api/{{API_token}}/meets/schedule/pool/{{_id}}

В ответе API мы получаем количество доступных лицензий. В приведенном примере нам доступно 18 лицензий. Этого количества хватает.

Ответ API
{
    "status": "ok",
    "available": 18,
    "size": 100,
    "used": 82
}

Шаг 2: Редактирование конференции

Устанавливаем параметр peoples в значение 16, так же меняем параметры beginDate, beginHour и beginMinutes на новые значения.

Метод: Редактирование конференции
PUT https://{{URL}}/api/{{API_token}}/meets/schedule/{{_id}}
Тело запроса
{
"title": "Изменяемая конференция",
"peoples": 16,
"beginDate": 2030-12-31,
"beginHour": 23,
"beginMinutes": 30
}

Результат: Мы отредактировали конференцию, увеличив количество участников до 16 и изменив дату и время проведения конференции.

Создание комнаты

Общая информация

Всё, кроме идентификатора, для комнат идентично работе с конференциями.

Шаг 1: Проверка количества доступных лицензий

Убеждаемся, что у нас есть достаточное количество доступных лицензий для создания комнаты на 15 участников.

Метод: Получение количества доступных лицензий
POST https://{{URL}}/api/{{API_token}}/rooms/pool

В ответе API мы получаем количество доступных лицензий. В приведенном примере нам доступно 18 лицензий. Этого количества хватает.

Ответ API
{
    "status": "ok",
    "available": 18,
    "size": 100,
    "used": 82
}

Шаг 2: Создание комнаты

Метод: Создание новой комнаты
POST https://{{URL}}/api/{{API_token}}/rooms

В теле запроса мы указываем ID комнаты.

Тело запроса
    {
    "roomId": "11-11-11",
    // ... другие параметры
    }

Шаг 3: Формирование ссылки для участника

https://{{URL}}/meet/{{roomId}}
Пример: https://mycompany.mintconf.com/meet/11-11-11

Результат: Мы создали комнату на 15 участников и получили ссылку для доступа к ней.