Публічний API MyOwnConference

Автоматизація

API MyOwnConference дозволяє керувати акаунтом із власного коду. Через нього планують вебінари, ведуть модераторів і учасників, забирають історію відвідувань і чату, а автовебінар проводять цілком від початку до кінця. Панель керування для цього відкривати не потрібно.

Ключ доступу

Кожен запит проходить перевірку за унікальним ключем, який система видає особисто вам. Увійдіть у панель керування, відкрийте розділ «Профіль» ("Profile") і знайдіть поле «Ключ API» ("API Key").

Підозрюєте, що ключ потрапив у чужі руки? Випустіть новий. Кнопка оновлення у вигляді двох стрілок стоїть поряд із полем «Ключ API» ("API Key"). Натисніть її, і старий ключ перестане працювати тієї ж миті, коли зʼявиться новий. Нікому не віддавайте ключ, крім програмістів і тих, кому ви й так довірили доступ до панелі керування.

Усі звернення до API пишуться в журнал і зберігаються 365 днів. Якщо за вашим ключем запросять дані, які акаунту не належать, акаунт блокується автоматично. Гроші в такому разі ми не повертаємо і претензій не приймаємо, тож ставтеся до ключа як до пароля.

Формат запиту

Запити йдуть через HTTPS на окремий домен, https://api.mywebinar.com. Формат у них JSON, а надсилати їх потрібно методом POST усередині одного поля даних з іменем request. Будь-який інший спосіб щоразу повертає помилку.

Усе, що записано в цьому документі як %--text--%, це заповнювач. Підставте замість нього своє значення, перш ніж надсилати запит.

Запит несе або іменовані параметри.

json
"request":
{
  "key": "%--api-key-from-your-profile--%",
  "action": "%--required-api-command--%",
  "params":
  {
    "%--parameter--%": "%--value--%",
    "%--parameter--%": "%--value--%"
  }
}

Або простий список значень.

json
"request":
{
  "key": "%--api-key-from-your-profile--%",
  "action": "%--required-api-command--%",
  "params":
  [
    "%--value--%",
    "%--value--%"
  ]
}

key і action обовʼязкові завжди. Команда не бере додаткових параметрів? Тоді надішліть для params порожній масив.

Формат відповіді

Відповідь завжди приходить у JSON і поряд із результатом повторює вихідний запит. Форм у неї три.

Успіх із даними.

json
{
  "request": { "action": "%--required-api-command--%", "params": { } },
  "response": { "%--parameter--%": "%--value--%" }
}

Успіх без даних.

json
{
  "request": { "action": "%--required-api-command--%", "params": { } },
  "response": { "success": "%--message--%" }
}

Помилка і пояснення, що пішло не так.

json
{
  "request": { "action": "%--required-api-command--%", "params": { } },
  "response": { "error": "%--message--%" }
}

Повідомлення про успіх і про помилку приходять англійською, хоч би якою мовою користувався акаунт.

Приклад на PHP

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

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 символів
Emailвід 6 до 128 символів
Телефондо 16 символів
Реквізити юр. особидо 1000 символів

В іменах, компаніях, відділах і містах припустимий будь-який символ, крім ^~!@#$%^&*()+=[{}]\|:;,<>/?.

Команди профілю

profileGet

Повертає профіль цілком або лише запитані поля.

php
$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.
subscribeYES, коли ви підписані на новини сервісу, NO, коли не підписані.
companyРеквізити юр. особи. Непорожнє значення позначає акаунт як юридичну особу, і тоді стають доступні рахунки на оплату через банк.

profileSet

Оновлює профіль цілком або частинами. Передайте кілька параметрів одним масивом, і вони зміняться разом.

php
$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

Створює модератора за іменем і адресою пошти.

php
$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

Видаляє одного модератора або одразу масив. Адреси передавайте простим списком.

php
$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

Привʼязує одного або кількох модераторів до вебінару. Привʼязаний модератор стає ведучим цього заходу і починає отримувати запрошення та нагадування.

php
$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

Створює учасника за адресою пошти та імʼям.

php
$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Текст, який шукаємо в іменах і адресах учасників.
orderASC за зростанням, DESC за спаданням. Типово ASC.
orderFieldСортування за name, email або creation_date. Типово name.
typeACTIVE, PENDING або BANNED.
importedЯк учасник потрапив у систему. YES у доданих власником акаунта, NO у тих, хто зареєструвався сам.
webinarsМасив аліасів вебінарів, за якими перевіряємо участь.
webinarsOrderIN поверне тих, хто на ці вебінари заходив, OUT поверне тих, хто не заходив.
withEmailYES поверне тільки учасників з адресою пошти, NO тільки тих, у кого адреси немає. Пропустіть його, і прийдуть усі.
groupІдентифікатор групи, до якої належать учасники.

У fields можна просити name, email, phone, company, department, city, born, creation_date, country і type. Є ще notified (скільки запрошень пішло) і link (посилання учасника на вхід, доступне тільки разом з alias).

attendeesAddToWebinar і attendeesRemoveFromWebinar

Привʼязують учасників до запланованого вебінару або знімають їх з нього. Обидві беруть alias і масив attendees з адресами пошти.

php
$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

Планує вебінар і повертає потрібні вам посилання.

php
$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

Змінює будь-яке налаштування раніше запланованого вебінару.

php
$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.
closeYES у закритого вебінару, 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Усе, що нижче, передається вкладеним масивом.

А це налаштування кімнати.

НалаштуванняЩо робить
webcamPositionLEFT ставить камеру модератора ліворуч від чату, RIGHT праворуч.
themebgКолір фону кімнати в HEX, наприклад #f2f2f2.
themetextКолір значків і тексту в HEX, наприклад #d3d3d3.
cameraSizemini, middle або big. На екрані налаштувань заходу цей пункт зветься «Ширина камери» ("Webcam width"), а у зустрічі і в заходу з трансляцією з OBS «Ширина чату» ("Chat width").
userListYES показує учасникам список тих, хто в кімнаті, NO його ховає.
flagsYES показує в цьому списку прапори країн. Поки userList стоїть у NO, налаштування нічого не робить.
buttonQuestionYES показує в учасника пункт "Ask the question" у меню «Зворотний звʼязок» ("Feedback"). На екрані налаштувань заходу цей пункт зветься "Enable private chat with moderators".
buttonVoiceYES показує в учасника пункт «Попросити слово» ("Ask to speak") у меню «Зворотний звʼязок» ("Feedback"), а NO його прибирає. На екрані налаштувань заходу це «Дозволити запит на виступ» ("Allow request to speak").
chatYES дає учасникам поле чату, NO його забирає, і писати вони вже не можуть.
showBeforeTimerYES показує зворотний відлік до початку вебінару.
showLoginStartYES показує час початку на сторінці входу.
showLoginNameYES показує назву вебінару на сторінці входу.
showLoginModeratorsYES перелічує ведучих на сторінці входу.
showSocialButtonsYES показує на сторінці входу кнопки входу через соцмережі.
showLoginCounterYES показує, скільки місць ще вільно.
groupЗбирає всіх, хто зареєструвався, у групу з цим ідентифікатором. Знайти його допомагає attendeesGroupsList.
loginfieldsЯкі поля питає сторінка входу і в якому порядку. Доступні name, email, phone, city, company, department і born. Приберіть email, і учасник не дійде до розділу учасників у панелі керування, лишиться тільки в статистиці цього вебінару.
beforeStartTimeЗа скільки хвилин до початку учасникам відкритий вхід, від 5 до 60.
emailIdntLoginYES вмикає персональні посилання на вхід.
emailIdntRecordYES вмикає персональні посилання на перегляд запису.
sendRecordYES надсилає посилання на запис, щойно захід закінчиться.
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Які поля повернути. Необовʼязковий, без нього прийдуть усі.
statusACTIVE у поточних і майбутніх вебінарів, 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.

php
$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 для кожного привʼязаного вебінару.

Почніть сьогодні

Готові провести вебінар, який окупиться?

Ми допомагаємо проводити вебінари з 2013 року. Почати можна абсолютно безкоштовно

Безкоштовний план назавжди • Без банківської картки • Запуск за 2 хв