Публічний API MyOwnConference
API MyOwnConference дозволяє керувати акаунтом із власного коду. Через нього планують вебінари, ведуть модераторів і учасників, забирають історію відвідувань і чату, а автовебінар проводять цілком від початку до кінця. Панель керування для цього відкривати не потрібно.
Ключ доступу
Кожен запит проходить перевірку за унікальним ключем, який система видає особисто вам. Увійдіть у панель керування, відкрийте розділ «Профіль» ("Profile") і знайдіть поле «Ключ API» ("API Key").
Підозрюєте, що ключ потрапив у чужі руки? Випустіть новий. Кнопка оновлення у вигляді двох стрілок стоїть поряд із полем «Ключ API» ("API Key"). Натисніть її, і старий ключ перестане працювати тієї ж миті, коли зʼявиться новий. Нікому не віддавайте ключ, крім програмістів і тих, кому ви й так довірили доступ до панелі керування.
Усі звернення до API пишуться в журнал і зберігаються 365 днів. Якщо за вашим ключем запросять дані, які акаунту не належать, акаунт блокується автоматично. Гроші в такому разі ми не повертаємо і претензій не приймаємо, тож ставтеся до ключа як до пароля.
Формат запиту
Запити йдуть через HTTPS на окремий домен, https://api.mywebinar.com. Формат у них JSON, а надсилати їх потрібно методом POST усередині одного поля даних з іменем request. Будь-який інший спосіб щоразу повертає помилку.
Усе, що записано в цьому документі як %--text--%, це заповнювач. Підставте замість нього своє значення, перш ніж надсилати запит.
Запит несе або іменовані параметри.
"request":
{
"key": "%--api-key-from-your-profile--%",
"action": "%--required-api-command--%",
"params":
{
"%--parameter--%": "%--value--%",
"%--parameter--%": "%--value--%"
}
}Або простий список значень.
"request":
{
"key": "%--api-key-from-your-profile--%",
"action": "%--required-api-command--%",
"params":
[
"%--value--%",
"%--value--%"
]
}key і action обовʼязкові завжди. Команда не бере додаткових параметрів? Тоді надішліть для params порожній масив.
Формат відповіді
Відповідь завжди приходить у JSON і поряд із результатом повторює вихідний запит. Форм у неї три.
Успіх із даними.
{
"request": { "action": "%--required-api-command--%", "params": { } },
"response": { "%--parameter--%": "%--value--%" }
}Успіх без даних.
{
"request": { "action": "%--required-api-command--%", "params": { } },
"response": { "success": "%--message--%" }
}Помилка і пояснення, що пішло не так.
{
"request": { "action": "%--required-api-command--%", "params": { } },
"response": { "error": "%--message--%" }
}Повідомлення про успіх і про помилку приходять англійською, хоч би якою мовою користувався акаунт.
Приклад на PHP
$data['request'] = json_encode( [
'key' => '%--api-key-from-your-profile--%',
'action' => '%--required-api-command--%',
'params' => [
'%--parameters--%',
],
] );
$ch = curl_init();
curl_setopt_array( $ch, [
CURLOPT_URL => 'https://api.mywebinar.com',
CURLOPT_POST => 1,
CURLOPT_TIMEOUT => 30,
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_POSTFIELDS => $data,
] );
$result = json_decode( curl_exec( $ch ), true );
curl_close( $ch );
var_dump( $result );Приклад на Node.js
const https = require( 'https' );
const query = require( 'querystring' );
const data = query.stringify( {
request: JSON.stringify( {
key: '%--api-key-from-your-profile--%',
action: '%--required-api-command--%',
params: [
'%--parameters--%',
],
} ),
} );
const options = {
hostname: 'api.mywebinar.com',
port: 443,
path: '/',
method: 'POST',
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
'Content-Length': Buffer.byteLength( data ),
},
};
const request = https.request( options, response => {
response.on( 'data', result => {
process.stdout.write( result.toString() );
} );
} );
request.on( 'error', error => console.error( error ) );
request.write( data );
request.end();Далі всі приклади на PHP.
Обмеження текстових полів
У більшості команд обмеження однакові, тому вони зібрані тут, а не повторюються в кожної.
| Поле | Обмеження |
|---|---|
| Імʼя і прізвище | від 2 до 64 символів |
| від 6 до 128 символів | |
| Телефон | до 16 символів |
| Реквізити юр. особи | до 1000 символів |
В іменах, компаніях, відділах і містах припустимий будь-який символ, крім ^~!@#$%^&*()+=[{}]\|:;,<>/?.
Команди профілю
profileGet
Повертає профіль цілком або лише запитані поля.
$data[ 'request' ] = json_encode( [
'key' => '%--api-key-from-your-profile--%',
'action' => 'profileGet',
'params' => [
'name',
'timezone',
],
] );Щоб отримати все, надішліть порожній масив params.
| Поле | Що в ньому |
|---|---|
name | Ваші імʼя і прізвище. Від цього імені йде кожне запрошення на вебінар. |
email | Адреса, на яку зареєстровано акаунт. |
timezone | Часовий пояс, записаний як зміщення від GMT у хвилинах. Значення буває відʼємним, тож GMT+00:00 це 0, GMT+02:00 це 120, а GMT-12:00 це -720. Час кожного створеного заходу рахується за цим налаштуванням. |
timemove | Чи враховує система літній час. YES посуває час заходів автоматично, NO лишає його як є. |
language | Типова мова інтерфейсу для вебінарів, які ви заплануєте пізніше. EN, DE, ES, FR, PL, RU або UK. |
gateway | Платіжна система акаунта, або PAYSERA, або PAYPAL. |
subscribe | YES, коли ви підписані на новини сервісу, NO, коли не підписані. |
company | Реквізити юр. особи. Непорожнє значення позначає акаунт як юридичну особу, і тоді стають доступні рахунки на оплату через банк. |
profileSet
Оновлює профіль цілком або частинами. Передайте кілька параметрів одним масивом, і вони зміняться разом.
$data[ 'request' ] = json_encode( [
'key' => '%--api-key-from-your-profile--%',
'action' => 'profileSet',
'params' => [
'name' => '%--first-and-last-names--%',
'timezone' => '%--timezone-in-minutes--%',
'subscribe' => '%--yes-or-no--%',
],
] );profileSet приймає ті самі поля, що й profileGet.
Команди модераторів
Модератори це люди, які ведуть ваші вебінари. Модератор, створений під час реєстрації, вважається головним, його ж називають адміністратором акаунта. У панелі керування він позначений зірочкою, і видалити його не можна. Йому відкриті всі вебінари і всі завантажені файли.
moderatorsCreate
Створює модератора за іменем і адресою пошти.
$data[ 'request' ] = json_encode( [
'key' => '%--api-key-from-your-profile--%',
'action' => 'moderatorsCreate',
'params' => [
'name' => '%--first-and-last-names--%',
'email' => '%--email-address-at-domain-com--%',
],
] );moderatorsDelete
Видаляє одного модератора або одразу масив. Адреси передавайте простим списком.
$data[ 'request' ] = json_encode( [
'key' => '%--api-key-from-your-profile--%',
'action' => 'moderatorsDelete',
'params' => [
'%--email-address-at-domain-com--%',
'%--email-address-at-domain-com--%',
],
] );moderatorsSet
Змінює імʼя або адресу модератора, а ще завантажує картинку, яка показується замість камери.
| Параметр | Що робить |
|---|---|
email | Модератор, якого правимо. Вкажіть його теперішню адресу. |
newEmail | Нова адреса пошти. |
newName | Нові імʼя і прізвище. |
avatar | Картинка замість зображення з камери. Поки вона показана, камера вимкнена. Кодується в Base64, приймаються JPG, JPEG і PNG. |
Закодувати картинку руками допомагає команда cat /path/to/file/test.png | base64.
moderatorsList
Повертає ваших модераторів. Усі параметри нижче необовʼязкові й поєднуються в одному запиті.
| Параметр | Що робить |
|---|---|
fields | Поля, які треба повернути. Порожній масив поверне все. |
alias | Звужує список до одного вебінару. |
search | Текст, який шукаємо в іменах і адресах модераторів. |
У відповіді бувають name, email, registered (дата додавання модератора з точністю до секунди), main (YES у головного модератора) і avatar (YES, коли камеру замінює картинка).
moderatorsAddToWebinar
Привʼязує одного або кількох модераторів до вебінару. Привʼязаний модератор стає ведучим цього заходу і починає отримувати запрошення та нагадування.
$data[ 'request' ] = json_encode( [
'key' => '%--api-key-from-your-profile--%',
'action' => 'moderatorsAddToWebinar',
'params' => [
'alias' => '%--webinar-alias-xxxx-xxxx-xxxx-xxxx--%',
'email' => [
'%--email-address-at-domain-com--%',
],
],
] );sendInvite необовʼязковий. Поставте YES, щоб запрошення пішло одразу, або NO, щоб воно пішло за звичайним розкладом.
moderatorsRemoveFromWebinar
Відвʼязує модераторів від вебінару і знімає з них права доступу. Посилання-запрошення їм більше не приходять, іншого шляху на захід теж не лишається. Параметри ті самі, alias і email, що й у команди вище.
moderatorsRooms
За адресою пошти повертає всі вебінари, до яких привʼязаний модератор. У кожному записі лежать alias, name, description, start, timezone, duration і moderatorLink.
Посилання модератора розраховане на одну людину. Модератори, які роздають своє посилання, приходять з однією з трьох скарг. Їх викидає з кімнати, вони не можуть увійти, або всередині вже хтось сидить під їхнім імʼям. Причина у всіх трьох одна. Другий вхід за тим самим посиланням завжди обриває першу сесію, тому відкривати кімнату чужим посиланням не варто нікому.
Команди учасників
attendeesCreate
Створює учасника за адресою пошти та імʼям.
$data[ 'request' ] = json_encode( [
'key' => '%--api-key-from-your-profile--%',
'action' => 'attendeesCreate',
'params' => [
'email' => '%--attendee-email-at-domain-dot-com--%',
'name' => '%--attendee-first-and-last-name--%',
],
] );В адресах учасників припустимі англійські літери й цифри.
attendeesSet
Оновлює вже створеного учасника. Упізнайте його за email і надішліть ті поля, які хочете змінити.
| Параметр | Що робить |
|---|---|
newemail | Замінює адресу, під якою зберігається учасник. |
name | Імʼя і прізвище. |
phone | Номер телефону. |
company | Компанія. |
department | Відділ. |
city | Місто. |
born | Дата народження у форматі YYYY-MM-DD. |
У вашому акаунті можуть бути й інші поля, крім перелічених.
attendeesDelete
Видаляє одного учасника або масив, звернення йде за адресою пошти.
attendeesList
Повертає раніше створених учасників з фільтрами, сортуванням і розбивкою на сторінки.
| Параметр | Що робить |
|---|---|
fields | Які поля повернути. Необовʼязковий, без нього прийдуть тільки name і email. |
onPage | Скільки учасників віддавати на сторінці. Типово 100. Пропустіть його, і список прийде без розбивки. |
page | Яку сторінку повернути. |
alias | Обмежує список одним вебінаром. |
search | Текст, який шукаємо в іменах і адресах учасників. |
order | ASC за зростанням, DESC за спаданням. Типово ASC. |
orderField | Сортування за name, email або creation_date. Типово name. |
type | ACTIVE, PENDING або BANNED. |
imported | Як учасник потрапив у систему. YES у доданих власником акаунта, NO у тих, хто зареєструвався сам. |
webinars | Масив аліасів вебінарів, за якими перевіряємо участь. |
webinarsOrder | IN поверне тих, хто на ці вебінари заходив, OUT поверне тих, хто не заходив. |
withEmail | YES поверне тільки учасників з адресою пошти, NO тільки тих, у кого адреси немає. Пропустіть його, і прийдуть усі. |
group | Ідентифікатор групи, до якої належать учасники. |
У fields можна просити name, email, phone, company, department, city, born, creation_date, country і type. Є ще notified (скільки запрошень пішло) і link (посилання учасника на вхід, доступне тільки разом з alias).
attendeesAddToWebinar і attendeesRemoveFromWebinar
Привʼязують учасників до запланованого вебінару або знімають їх з нього. Обидві беруть alias і масив attendees з адресами пошти.
$data[ 'request' ] = json_encode( [
'key' => '%--api-key-from-your-profile--%',
'action' => 'attendeesAddToWebinar',
'params' => [
'alias' => '%--webinar-alias-xxxx-xxxx-xxxx-xxxx--%',
'attendees' => [
'%--attendee-email-at-domain-dot-com--%',
],
],
] );attendeesRooms
За адресою учасника повертає всі вебінари, на які його запросили. У кожному записі лежать alias, name, description, start, timezone, duration і attendeeLink.
Групи учасників
| Команда | Що робить |
|---|---|
attendeesCreateGroup | Створює групу за name і повертає її group_id. |
attendeesGroupsRename | Перейменовує групу, знайдену за id, значенням newname. |
attendeesDeleteGroup | Видаляє групу за id. |
attendeesGroupsList | Повертає всі групи парами id і name. |
attendeesAssignToGroup | Додає масив адрес attendees у group_id. |
attendeesUnAssignFromGroup | Прибирає масив адрес attendees з group_id. |
attendeesCommonGroups | Бере одну чи кілька адрес учасників простим списком і повертає групи, до яких вони належать. |
attendeesUnbanned
Знімає блокування з учасника, якого заблокували у вебінарній кімнаті. У email передайте одну адресу або масив адрес.
Команди вебінарів
Майже все, що нижче, звертається за alias, унікальним ідентифікатором вебінару. Його повертає webinarsCreate, і він же стоїть кодом у посиланні на вебінар.
webinarsCreate
Планує вебінар і повертає потрібні вам посилання.
$data[ 'request' ] = json_encode( [
'key' => '%--api-key-from-your-profile--%',
'action' => 'webinarsCreate',
'params' => [
'name' => '%--webinar-name-or-topic--%',
'start' => '%--year-month-day-hours-minutes-seconds--%',
'duration' => '%--webinar-duration-in-minutes--%',
],
] );У відповіді приходить alias, а разом з ним webinarLink для публічної сторінки і mainModeratorLink для головного модератора.
start записується у форматі YYYY-MM-DD HH:MM:SS і читається в часовому поясі з вашого профілю. duration рахується у хвилинах і не може бути більшим за 1439, це рівно на хвилину менше за добу.
webinarsSet
Змінює будь-яке налаштування раніше запланованого вебінару.
$data[ 'request' ] = json_encode( [
'key' => '%--api-key-from-your-profile--%',
'action' => 'webinarsSet',
'params' => [
'alias' => '%--webinar-alias-xxxx-xxxx-xxxx-xxxx--%',
'name' => '%--webinar-name-or-topic--%',
'language' => '%--webinar-room-language--%',
'settings' => [
'cameraSize' => '%--mini-middle-big--%',
'userList' => '%--yes-or-no--%',
'loginfields' => [
'name',
'email',
],
'recordWhole' => '',
'recordUsers' => '%--yes-or-no--%',
'recordQuality' => '%--quality-level--%',
],
],
] );Параметри верхнього рівня такі.
| Параметр | Що робить |
|---|---|
alias | Вебінар, який правимо. |
name | Назва або тема. |
description | Розширений опис у HTML. Необовʼязково. |
start | Дата і час початку у вигляді YYYY-MM-DD HH:MM:SS, читаються в часовому поясі профілю. |
duration | Тривалість у хвилинах, до 1439. |
close | YES у закритого вебінару, NO у відкритого. |
language | Дволітерний код мови кімнати. Цією мовою інтерфейс відкривається і у ведучих, і в учасників. Приймаються be, bg, de, en, es, et, fr, it, lt, lv, pl, pt, ru, sl, tr і uk. |
logo | Логотип кімнати картинкою в Base64. |
logotype_url | Сторінка, яка відкривається після натискання на логотип. |
banner | Банер кімнати картинкою в Base64. |
banner_url | Сторінка, яка відкривається після натискання на банер. |
settings | Усе, що нижче, передається вкладеним масивом. |
А це налаштування кімнати.
| Налаштування | Що робить |
|---|---|
webcamPosition | LEFT ставить камеру модератора ліворуч від чату, RIGHT праворуч. |
themebg | Колір фону кімнати в HEX, наприклад #f2f2f2. |
themetext | Колір значків і тексту в HEX, наприклад #d3d3d3. |
cameraSize | mini, middle або big. На екрані налаштувань заходу цей пункт зветься «Ширина камери» ("Webcam width"), а у зустрічі і в заходу з трансляцією з OBS «Ширина чату» ("Chat width"). |
userList | YES показує учасникам список тих, хто в кімнаті, NO його ховає. |
flags | YES показує в цьому списку прапори країн. Поки userList стоїть у NO, налаштування нічого не робить. |
buttonQuestion | YES показує в учасника пункт "Ask the question" у меню «Зворотний звʼязок» ("Feedback"). На екрані налаштувань заходу цей пункт зветься "Enable private chat with moderators". |
buttonVoice | YES показує в учасника пункт «Попросити слово» ("Ask to speak") у меню «Зворотний звʼязок» ("Feedback"), а NO його прибирає. На екрані налаштувань заходу це «Дозволити запит на виступ» ("Allow request to speak"). |
chat | YES дає учасникам поле чату, NO його забирає, і писати вони вже не можуть. |
showBeforeTimer | YES показує зворотний відлік до початку вебінару. |
showLoginStart | YES показує час початку на сторінці входу. |
showLoginName | YES показує назву вебінару на сторінці входу. |
showLoginModerators | YES перелічує ведучих на сторінці входу. |
showSocialButtons | YES показує на сторінці входу кнопки входу через соцмережі. |
showLoginCounter | YES показує, скільки місць ще вільно. |
group | Збирає всіх, хто зареєструвався, у групу з цим ідентифікатором. Знайти його допомагає attendeesGroupsList. |
loginfields | Які поля питає сторінка входу і в якому порядку. Доступні name, email, phone, city, company, department і born. Приберіть email, і учасник не дійде до розділу учасників у панелі керування, лишиться тільки в статистиці цього вебінару. |
beforeStartTime | За скільки хвилин до початку учасникам відкритий вхід, від 5 до 60. |
emailIdntLogin | YES вмикає персональні посилання на вхід. |
emailIdntRecord | YES вмикає персональні посилання на перегляд запису. |
sendRecord | YES надсилає посилання на запис, щойно захід закінчиться. |
sendRecordTo | Кому йде це посилання. all усім зареєстрованим, visit тим, хто прийшов, miss тим, хто не прийшов. |
Режим запису задають ключем з порожнім значенням, де ключ це імʼя самого режиму, наприклад recordWebCams => "".
| Режим | Що потрапляє в запис |
|---|---|
recordWebCams | Тільки камери. |
recordArea | Камери, мікрофони і робоча зона з матеріалами. |
recordAreaNoChat | Камери, мікрофони, чат і робоча зона з матеріалами. |
recordWhole | Кімната цілком. |
Ще три перемикачі вирішують, що потрапить у файл. recordUsers кладе в запис список учасників, recordModer друкує імʼя кожного модератора на його камері, а recordChat додає чат. Варто виставити recordUsers або recordModer, і режим сам перемикається на recordWhole.
recordQuality задає роздільну здатність. 0 пише в 480p (800x460), 1 у 720p (1280x720), 2 у 1080p (1920x1080), 3 у 2K (2048x1080), а 4 у 2160p. Який рівень реально доступний акаунту, вирішує тариф, а не API. Безкоштовний Starter пише до 1080p, стільки ж дають платні тарифи менше ніж на 500 учасників, а тарифи від 500 учасників доходять до 2160p. Що входить у кожен тариф, перелічує сторінка тарифів.
webinarsDelete
Повністю видаляє запланований вебінар, звернення за alias.
webinarsClone
Копіює вебінар на нову date у форматі YYYY-MM-DD і повертає нові alias, webinarLink і mainModeratorLink.
webinarsList
Повертає ваші вебінари.
| Параметр | Що робить |
|---|---|
fields | Які поля повернути. Необовʼязковий, без нього прийдуть усі. |
status | ACTIVE у поточних і майбутніх вебінарів, FINISHED у завершених. |
date | Повертає всі вебінари одного дня, формат YYYY-MM-DD. |
У записі бувають name, description, created (час створення в GMT+0), alias, start і language.
webinarsGetInfo
Повертає все, що система знає про один вебінар, включно з блоком settings, полем status і records, числом зроблених записів. Обсяг і вигляд даних від акаунта до акаунта різняться, тож не зашивайте список полів у код.
webinarsGetLettersInfo і webinarsSetLetters
webinarsGetLettersInfo повертає листи-запрошення, налаштовані для вебінару, кожен з enabled, status і text.
webinarsSetLetters їх змінює. Команда бере alias, type, прапорець enabled зі значенням YES або NO і text, підпис у HTML, який додається до листа. Надішліть порожній text, і підпис зникне.
| Тип | Коли йде |
|---|---|
REGISTRATIONCONFIRM | Коли людина реєструється на сторінці входу у вебінар. |
3DAY | За 3 дні (72 години) до вебінару. |
1DAY | За 1 день (24 години) до вебінару. |
1HOUR | За 1 годину до вебінару. |
STARTED | Запрошеним учасникам, які до початку заходу в кімнату не зайшли. |
FINISHED | Після закінчення вебінару. |
Лист 1HOUR вимкнути не можна.
webinarsLettersOff і webinarsLettersOn
Зупиняють або знову запускають усі листи-запрошення одного вебінару, звернення за alias.
webinarsOnlineList
Повертає тих, хто зараз у кімнаті, розділяючи їх на moderators і guests.
webinarsRecordsList і webinarsRecordDelete
webinarsRecordsList повертає записи вебінару. У кожного є id, name, status (обробка або готовність до завантаження), added, size у байтах, duration у секундах, link для перегляду і download_link для завантаження.
webinarsRecordDelete прибирає один запис за id, отриманим з цього списку.
webinarsFilesList
Повертає матеріали, завантажені у вебінар. type необовʼязковий. PRESENTATION поверне презентації та зображення, а MEDIA поверне файли mp3 і mp4 разом з відео з YouTube і Vimeo. У кожного файлу є id, name, added, size, duration (секунди у медіа або число слайдів у презентації), link і download_link.
webinarsHistory
Повертає журнал вебінару. Значення chats у type віддає всі повідомлення текстового чату, а visits віддає історію відвідувань. У рядку лежать позначка часу, імʼя учасника, текст повідомлення, мітка g або m для гостя чи модератора і адреса учасника.
Команди автоматизації
Ці команди і є механіка автовебінарів. Вони наповнюють кімнату віртуальними модераторами та учасниками, пишуть у чат від їхнього імені, ведуть слайди і відео. А коли ви закінчили, вони завершують захід. Усе йде за вашим розкладом, а не за розкладом ведучого.
webinarsAddModerToRoom і webinarsRemoveModerFromRoom
webinarsAddModerToRoom садить у кімнату віртуального модератора. Команда бере alias, унікальний email і name. webinarsRemoveModerFromRoom виводить цього модератора назад, звернення за alias і email.
$data[ 'request' ] = json_encode( [
'key' => '%--api-key-from-your-profile--%',
'action' => 'webinarsAddModerToRoom',
'params' => [
'alias' => '%--webinar-alias-xxxx-xxxx-xxxx-xxxx--%',
'email' => '%--moderator-email-at-domain-dot-com--%',
'name' => '%--moderator-first-and-last-name--%',
],
] );webinarsAddBotToRoom, webinarsRemoveBotFromRoom і webinarsGetBotsList
webinarsAddBotToRoom садить у кімнату віртуального учасника. Команда бере alias, name і country, дволітерний код країни на кшталт US, DE, FR, PL або UA. У відповіді приходить id, який знадобиться далі.
webinarsRemoveBotFromRoom прибирає його з кімнати за цим id, а webinarsGetBotsList повертає всіх віртуальних учасників, підключених до вебінару просто зараз.
webinarsBotMessage
Надсилає повідомлення в чат від імені віртуального модератора або віртуального учасника.
| Параметр | Що робить |
|---|---|
alias | Вебінар, у чат якого йде повідомлення. |
bot | Адреса, яку ви дали віртуальному модератору, або id, отриманий під час створення віртуального учасника. |
text | Саме повідомлення. |
Керування чатом
webinarsLockChat забороняє живим учасникам писати в чат, а webinarsUnlockChat знову дозволяє. Модератори і ведучі пишуть завжди, тож заборона чату бʼє тільки по учасниках.
webinarsLinkLockInChat і webinarsLinkUnlockInChat роблять те саме з посиланнями, забороняючи або дозволяючи їх між живими учасниками. Усі чотири беруть тільки alias.
Слайди і відео
webinarsStartPresentation показує слайд живим учасникам. Команда бере alias, id презентації з webinarsFilesList і slide, номер сторінки для показу. webinarStopPresentation прибирає презентацію з екрана, достатньо одного alias.
webinarsStartVideo програє відеофайл, ролик з YouTube або ролик з Vimeo, беручи alias та id файлу з webinarsFilesList. webinarsStopVideo ставить відтворення на паузу і бере тільки alias.
webinarsFinish
Завершує вебінар і відключає всіх, хто в кімнаті. Команда бере alias і працює тільки з вебінаром, який уже почався.
Якщо тут щось не так
Помітили в цьому документі помилку чи неточність? Напишіть нам в онлайн-чат. Ми перевіримо і виправимо сторінку.
MyOwnConference може змінити або доповнити цей документ будь-коли. Працюючи за ним, ви з цим погоджуєтеся.
Часті питання
Що робити, якщо мій ключ API витік?
Негайно випустіть новий кнопкою оновлення у вигляді двох стрілок, вона стоїть поряд із полем «Ключ API» ("API Key") у розділі «Профіль» ("Profile"). Старий ключ перестане працювати тієї ж миті, коли зʼявиться новий. Усі звернення до API пишуться в журнал і зберігаються 365 днів. Якщо за вашим ключем запросять дані, які акаунту не належать, акаунт блокується автоматично, і тоді ми не повертаємо гроші й не приймаємо претензій.
Кожен мій запит повертає помилку. Що я роблю не так?
Перевірте спочатку не команду, а спосіб надсилання. Запити йдуть через HTTPS на https://api.mywebinar.com методом POST, а JSON лежить усередині одного поля даних з іменем request. Будь-який інший спосіб щоразу повертає помилку. key і action обовʼязкові завжди, а коли команда не бере додаткових параметрів, для params усе одно йде порожній масив.
Чи можна запланувати вебінар довший за добу?
Ні, duration рахується у хвилинах і не може бути більшим за 1439, це рівно на хвилину менше за добу. Заодно перевірте часовий пояс у профілі, адже start записується у форматі YYYY-MM-DD HH:MM:SS і читається саме за цим налаштуванням. profileGet віддає його як timezone, зміщенням від GMT у хвилинах, тож GMT+02:00 приходить як 120.
Чи можна просити запис у 2160p на будь-якому тарифі?
Ні, який рівень реально доступний акаунту, вирішує тариф, а не API. Безкоштовний Starter пише до 1080p, стільки ж дають платні тарифи менше ніж на 500 учасників, а тарифи від 500 учасників доходять до 2160p. Сам recordQuality приймає 0 для 480p, 1 для 720p, 2 для 1080p, 3 для 2K і 4 для 2160p. Що входить у кожен тариф, перелічує сторінка тарифів.
Моїх ведучих постійно викидає з кімнати. Чому так?
Посилання модератора розраховане на одну людину, тому другий вхід за тим самим посиланням завжди обриває першу сесію. Одна ця причина стоїть за всіма трьома звичними скаргами. Ведучого викидає з кімнати, не пускає всередину, або всередині вже сидить хтось під його імʼям. Дайте кожному ведучому те посилання, що виписане особисто йому, його повертає moderatorsRooms полем moderatorLink для кожного привʼязаного вебінару.