Публічний 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 символів, а для вашого власного імені в profileSet від 2 до 128 |
| від 6 до 128 символів | |
| Телефон | починається з + і коду країни, наприклад +44 20 7946 0958, без фіксованої довжини |
| Реквізити юр. особи | до 1000 байтів, тобто близько 1000 символів латиницею без діакритики, але лише близько 500 кирилицею |
| Компанія, відділ, місто і посада учасника | від 2 до 128 символів |
В іменах припустимий будь-який символ, крім зворотного апострофа і ^~!@#$%^&*()+=[{}]\|:;,<>/?. У вашому власному імені, у назвах груп і в іменах віртуальних учасників не можна ставити ще й крапку. У компаніях, відділах і містах припустимий будь-який символ.
Команди профілю
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 приймає ті самі поля, крім email, який через API не змінюється. Натомість він бере password, від 6 до 64 символів.
Команди модераторів
Модератори це люди, які ведуть ваші вебінари. Модератор, створений під час реєстрації, вважається головним, його ж називають адміністратором акаунта. У панелі керування він позначений зірочкою, і видалити його не можна. Йому відкриті всі вебінари і всі завантажені файли.
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
Видаляє одного модератора або одразу масив. Адреси передавайте простим списком. На відміну від панелі керування, API тут не захищає головного модератора, тож його адресу до списку не включайте.
$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 і GIF. |
Закодувати картинку руками допомагає команда 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. |
Приймаються також skype і position.
attendeesDelete
Видаляє одного учасника або масив, звернення йде за адресою пошти.
attendeesList
Повертає раніше створених учасників з фільтрами, сортуванням і розбивкою на сторінки.
| Параметр | Що робить |
|---|---|
fields | Які поля повернути. Необовʼязковий, без нього прийдуть тільки name і email. |
onPage | Скільки учасників віддавати на сторінці, від 5 до 1000. Пропустіть його, і весь список прийде одразу. |
page | Яку сторінку повернути, лік іде з 0. |
alias | Обмежує список одним вебінаром. |
search | Текст, який шукаємо в іменах і адресах учасників. |
order | Поки що список завжди приходить за зростанням, хоч би що ви тут передали. |
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, skype, company, department, city, born, creation_date, country і type. Якщо передати ще й alias, можна додати notified (скільки запрошень пішло) і link (посилання учасника на вхід).
attendeesAddToWebinar і attendeesRemoveFromWebinar
Привʼязують учасників до запланованого вебінару або знімають їх з нього. Обидві беруть alias і масив attendees з адресами пошти. Привʼязуються тільки учасники, які вже є у вашому списку й можуть отримувати листи, а решта адрес пропускається без помилки, тож нових учасників спершу створіть через attendeesCreate.
$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 рахується у хвилинах і не може бути більшим за 1440, це рівно доба.
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 | Розширений опис простим текстом, до 300 символів. HTML-теги видаляються. Необовʼязково. |
start | Дата і час початку у вигляді YYYY-MM-DD HH:MM:SS, читаються в часовому поясі профілю. |
duration | Тривалість у хвилинах, до 1440. |
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 або full. На екрані налаштувань заходу цей пункт зветься «Ширина камери» ("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, skype, city, company, department і born, причому name у списку обовʼязковий. Приберіть email, і учасник не дійде до розділу учасників у панелі керування, лишиться тільки в статистиці цього вебінару. |
beforeStartTime | За скільки хвилин до початку учасникам відкритий вхід, від 5 до 60. |
emailIdntLogin | YES вмикає персональні посилання на вхід. |
emailIdntRecord | YES вмикає персональні посилання на перегляд запису. |
sendRecord | YES надсилає посилання на запис, щойно захід закінчиться. |
sendRecordTo | Кому йде це посилання. all усім зареєстрованим, visit тим, хто прийшов, miss тим, хто не прийшов. |
Режим запису задають ключем з порожнім значенням, де ключ це імʼя самого режиму, наприклад recordWebCams => "".
| Режим | Що потрапляє в запис |
|---|---|
recordWebCams | Тільки камери й мікрофони. |
recordArea | Камери, мікрофони, чат і робоча зона з матеріалами. |
recordAreaNoChat | Камери, мікрофони і робоча зона з матеріалами, без чату. |
recordWhole | Кімната цілком. |
Ще три перемикачі вирішують, що потрапить у файл. recordUsers кладе в запис список учасників, recordModer друкує імʼя кожного модератора на його камері, а recordChat додає чат. Варто передати будь-який із трьох, навіть зі значенням NO, і режим сам перемикається на 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
Повертає все, що система знає про один вебінар. У відповіді є alias, name, description, start, duration, close, language, google_id, yandex_id, created, status, records (число зроблених записів) і блок settings з перемикачами кімнати, колірною темою, полями сторінки входу і групою.
webinarsGetLettersInfo і webinarsSetLetters
webinarsGetLettersInfo повертає листи-запрошення, налаштовані для вебінару, кожен з enabled, status і text.
webinarsSetLetters їх змінює. Команда бере alias, type, прапорець enabled зі значенням YES або NO і text, підпис у HTML до 2000 символів, який додається до листа. Надішліть порожній text, і підпис зникне.
| Тип | Коли йде |
|---|---|
REGISTRATIONCONFIRM | Коли людина реєструється на сторінці входу у вебінар. |
3DAY | За 3 дні (72 години) до вебінару. |
1DAY | За 1 день (24 години) до вебінару. |
1HOUR | За 1 годину до вебінару. |
STARTED | Запрошеним учасникам, які до початку заходу в кімнату не зайшли. |
FINISHED | Після закінчення вебінару. |
Лист 1HOUR вимкнути не можна.
webinarsLettersOff і webinarsLettersOn
Зупиняють або знову запускають усі листи-запрошення одного вебінару, звернення за alias.
webinarsOnlineList
Повертає тих, хто зараз у кімнаті, розділяючи їх на moderators і guests.
webinarsRecordsList і webinarsRecordDelete
webinarsRecordsList повертає записи вебінару, а без alias записи всього акаунта. У кожного є id, name, status (recording, поки вебінар ще записується, process, поки файл готується, і ready, коли його можна завантажити), added, size у байтах, duration у секундах, link для перегляду і download_link для завантаження.
webinarsRecordDelete прибирає один запис за id, отриманим з цього списку.
webinarsFilesList
Повертає файли з вашого сховища, а з alias тільки файли одного вебінару. Передайте й type, бо без нього список прийде порожнім. PRESENTATION поверне презентації та зображення, а MEDIA поверне відео- й аудіофайли (.mp4, .mov, .webm, .mkv і .mp3) разом з відео з YouTube і Vimeo. У кожного файлу є id, name, added, size, duration (секунди у медіа або число слайдів у презентації), link і download_link.
webinarsHistory
Повертає журнал вебінару. Значення chats у type віддає всі повідомлення текстового чату, а visits віддає історію відвідувань. У рядку чату лежать час, імʼя, текст повідомлення, мітка G або M для гостя чи модератора і пошта гостя. У записі про відвідування лежать імʼя, та сама мітка G або M, країна, пошта, IP-адреса, час першого входу й останнього виходу і uptime, частка вебінару у відсотках, яку людина провела в кімнаті. Для постійної кімнати передайте ще date у форматі YYYY-MM-DD.
Команди автоматизації
Ці команди і є механіка автовебінарів. Вони наповнюють кімнату віртуальними модераторами та учасниками, пишуть у чат від їхнього імені, ведуть слайди і відео. А коли ви закінчили, вони завершують захід. Усе йде за вашим розкладом, а не за розкладом ведучого. Блокування чату, слайди, відео і webinarsFinish працюють через віртуального модератора, тож спершу посадіть його в кімнату через webinarsAddModerToRoom. Без нього ці команди повернуть помилку.
webinarsAddModerToRoom і webinarsRemoveModerFromRoom
webinarsAddModerToRoom садить у кімнату віртуального модератора. Команда бере alias і email модератора, створеного через moderatorsCreate, а кімната показує імʼя цього модератора. 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--%',
],
] );webinarsAddBotToRoom, webinarsRemoveBotFromRoom і webinarsGetBotsList
webinarsAddBotToRoom садить у кімнату віртуального учасника. Команда бере alias, name і country, дволітерний код країни на кшталт US, DE, FR, PL або UA. У відповіді приходить id, який знадобиться далі.
webinarsRemoveBotFromRoom прибирає його з кімнати, звернення за alias і id, а webinarsGetBotsList повертає всіх віртуальних учасників, підключених до вебінару просто зараз.
webinarsBotMessage
Надсилає повідомлення в чат від імені віртуального модератора або віртуального учасника.
| Параметр | Що робить |
|---|---|
alias | Вебінар, у чат якого йде повідомлення. |
bot | Адреса, яку ви дали віртуальному модератору, або id, отриманий під час створення віртуального учасника. |
text | Саме повідомлення, до 500 символів. |
Керування чатом
webinarsLockChat забороняє живим учасникам писати в чат, а webinarsUnlockChat знову дозволяє. Модератори і ведучі пишуть завжди, тож заборона чату бʼє тільки по учасниках.
webinarsLinkLockInChat і webinarsLinkUnlockInChat роблять те саме з посиланнями, забороняючи або дозволяючи їх між живими учасниками. Усі чотири беруть тільки alias.
Слайди і відео
webinarsStartPresentation показує слайд живим учасникам. Команда бере alias, id презентації з webinarsFilesList і slide, номер сторінки для показу. webinarsStopPresentation прибирає презентацію з екрана, достатньо одного alias.
webinarsStartVideo програє відеофайл, ролик з YouTube або ролик з Vimeo, беручи alias та id файлу з webinarsFilesList. Команда програє і запис, за його id з webinarsRecordsList. webinarsStopVideo зупиняє відтворення і бере тільки alias.
webinarsFinish
Завершує вебінар і відключає всіх, хто в кімнаті. Команда бере alias і, як команди чату, слайдів і відео, потребує віртуального модератора в кімнаті.
Якщо тут щось не так
Помітили в цьому документі помилку чи неточність? Напишіть нам в онлайн-чат. Ми перевіримо і виправимо сторінку.
MyOwnConference може змінити або доповнити цей документ будь-коли. Працюючи за ним, ви з цим погоджуєтеся.
Часті питання
Що робити, якщо мій ключ API витік?
Негайно випустіть новий кнопкою оновлення у вигляді двох стрілок, вона стоїть поряд із полем «Ключ API» ("API key") у розділі «Профіль» ("Profile"). Старий ключ перестане працювати тієї ж миті, коли зʼявиться новий. Усі звернення до API пишуться в журнал і зберігаються 365 днів. Якщо за вашим ключем запросять дані, які акаунту не належать, акаунт блокується автоматично, і тоді ми не повертаємо гроші й не приймаємо претензій.
Кожен мій запит повертає помилку. Що я роблю не так?
Перевірте спочатку не команду, а спосіб надсилання. Запити йдуть через HTTPS на https://api.mywebinar.com методом POST, а JSON лежить усередині одного поля даних з іменем request. Будь-який інший спосіб щоразу повертає помилку. key і action обовʼязкові завжди, а коли команда не бере додаткових параметрів, для params усе одно йде порожній масив.
Чи можна запланувати вебінар довший за добу?
Ні, duration рахується у хвилинах і не може бути більшим за 1440, це рівно доба. Заодно перевірте часовий пояс у профілі, адже 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 для кожного привʼязаного вебінару.