Publieke API van MyOwnConference
Met de API van MyOwnConference bestuur je je account vanuit je eigen code. Je plant webinars, beheert moderators en deelnemers, haalt de aanwezigheid en de chatgeschiedenis op en draait een geautomatiseerd evenement van begin tot eind. Daarvoor hoeft het dashboard niet open te staan.
Je toegangssleutel
Elk verzoek gaat langs een unieke sleutel die het systeem voor je aanmaakt. Log in op het dashboard, open het onderdeel «Profiel» ("Profile") en zoek het veld «API-sleutel» ("API key").
Vermoed je dat je sleutel in verkeerde handen is? Maak een nieuwe aan. De verversknop met de twee pijlen staat naast het veld «API-sleutel» ("API key"). Klik erop, en de oude sleutel stopt op het moment dat de nieuwe verschijnt. Geef je sleutel aan niemand, behalve aan programmeurs en aan mensen die je al toegang tot je dashboard gaf.
Alle API-verzoeken komen in een logboek en blijven 365 dagen bewaard. Wordt je sleutel gebruikt voor gegevens die niet van je account zijn, dan blokkeert het systeem het account automatisch. Geld krijg je in dat geval niet terug en klachten nemen we niet aan, dus behandel de sleutel als een wachtwoord.
De opbouw van een verzoek
Verzoeken gaan over HTTPS naar een apart domein, https://api.mywebinar.com. Ze zijn in JSON, en je stuurt ze met de POST-methode binnen één dataveld met de naam request. Elke andere aanpak levert steeds een fout op.
Alles wat in dit document als %--text--% staat, is een plaatshouder. Vul er je eigen waarde voor in voordat je het verzoek verstuurt.
Een verzoek draagt of benoemde parameters.
"request":
{
"key": "%--api-key-from-your-profile--%",
"action": "%--required-api-command--%",
"params":
{
"%--parameter--%": "%--value--%",
"%--parameter--%": "%--value--%"
}
}Of een gewone lijst met waarden.
"request":
{
"key": "%--api-key-from-your-profile--%",
"action": "%--required-api-command--%",
"params":
[
"%--value--%",
"%--value--%"
]
}key en action zijn altijd verplicht. Neemt een commando geen extra parameters? Stuur dan een lege array voor params.
De opbouw van een antwoord
Een antwoord komt altijd in JSON terug en herhaalt naast het resultaat je oorspronkelijke verzoek. Er zijn drie vormen.
Een succes met gegevens.
{
"request": { "action": "%--required-api-command--%", "params": { } },
"response": { "%--parameter--%": "%--value--%" }
}Een succes zonder gegevens.
{
"request": { "action": "%--required-api-command--%", "params": { } },
"response": { "success": "%--message--%" }
}Een fout, met uitleg over wat er misging.
{
"request": { "action": "%--required-api-command--%", "params": { } },
"response": { "error": "%--message--%" }
}Meldingen over succes en fouten komen altijd in het Engels terug, ook als je account een andere taal gebruikt.
Voorbeeld in 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 );Voorbeeld in 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();Alle verdere voorbeelden staan in PHP.
Limieten van tekstvelden
De meeste commando's delen dezelfde limieten, dus die staan hier bij elkaar in plaats van bij elk commando opnieuw.
| Veld | Limiet |
|---|---|
| Volledige naam | 2 tot 64 tekens, of 2 tot 128 voor je eigen naam in profileSet |
| 6 tot 128 tekens | |
| Telefoon | begint met + en het landnummer, zoals +44 20 7946 0958, zonder vaste lengte |
| Bedrijfsgegevens | tot 1000 bytes, dus ongeveer 1000 tekens gewone Latijnse tekst en slechts zo'n 500 in het Cyrillisch |
| Bedrijf, afdeling, stad en functie van een deelnemer | 2 tot 128 tekens |
In namen mag elk teken staan, behalve de backtick en ^~!@#$%^&*()+=[{}]\|:;,<>/?. Je eigen naam, groepsnamen en de namen van virtuele deelnemers mogen ook geen punt bevatten. In bedrijven, afdelingen en steden mag elk teken staan.
Profielcommando's
profileGet
Geeft het hele profiel terug, of alleen de velden waar je om vraagt.
$data[ 'request' ] = json_encode( [
'key' => '%--api-key-from-your-profile--%',
'action' => 'profileGet',
'params' => [
'name',
'timezone',
],
] );Stuur een lege array params om alles te krijgen.
| Veld | Wat erin staat |
|---|---|
name | Je voor- en achternaam. Elke webinaruitnodiging gaat onder deze naam de deur uit. |
email | Het adres waarop het account staat. |
timezone | Je tijdzone, geschreven als de afwijking van GMT in minuten. De waarde kan negatief zijn, dus GMT+00:00 is 0, GMT+02:00 is 120 en GMT-12:00 is -720. Elk evenement dat je maakt loopt op deze instelling. |
timemove | Of het systeem de zomertijd volgt. YES verschuift je evenementtijden automatisch, NO laat ze staan. |
language | De interfacetaal van je account, als code in kleine letters, zoals en, de, es, fr, pl, ru of uk. Webinars die je later plant, openen in die taal. |
gateway | Het betaalsysteem op het account, PAYSERA of PAYPAL. |
subscribe | YES als je het servicenieuws ontvangt, NO als je dat niet doet. |
company | Bedrijfsgegevens. Met een niet-lege waarde betaal je als rechtspersoon, en op de facturen staan deze gegevens dan als betaler in plaats van je naam en e-mailadres. |
profileSet
Werkt het profiel bij, helemaal of gedeeltelijk. Geef meerdere parameters in één array mee en ze veranderen samen.
$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 accepteert dezelfde velden behalve email, dat je via de API niet kunt wijzigen. Daarnaast neemt het password, van 6 tot 64 tekens.
Moderatorcommando's
Moderators zijn de mensen die je webinars presenteren. De moderator die bij je registratie ontstond is de hoofdmoderator, ook wel de accountbeheerder. In het dashboard draagt hij een ster en verwijderen kun je hem niet. Hij bereikt elk webinar en elk geüpload bestand.
moderatorsCreate
Maakt een moderator aan uit een naam en een e-mailadres.
$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
Verwijdert één moderator of een hele array ervan. Geef de e-mailadressen als een gewone lijst mee. Anders dan het dashboard beschermt de API de hoofdmoderator hier niet, dus laat dat adres buiten de lijst.
$data[ 'request' ] = json_encode( [
'key' => '%--api-key-from-your-profile--%',
'action' => 'moderatorsDelete',
'params' => [
'%--email-address-at-domain-com--%',
'%--email-address-at-domain-com--%',
],
] );moderatorsSet
Wijzigt de naam of het adres van een moderator, en uploadt ook een afbeelding die in plaats van zijn webcam verschijnt.
| Parameter | Wat die doet |
|---|---|
email | De moderator die je bewerkt, herkend aan zijn huidige adres. |
newEmail | Het nieuwe e-mailadres. |
newName | De nieuwe volledige naam. |
avatar | Een afbeelding in plaats van het camerabeeld. Zolang zij te zien is, staat de camera uit. Codeer haar in Base64, en JPG, JPEG, PNG en GIF gaan erin. |
Wil je een afbeelding met de hand coderen, gebruik dan cat /path/to/file/test.png | base64.
moderatorsList
Geeft je moderators terug. De parameters hieronder zijn allemaal optioneel en je combineert ze in één verzoek.
| Parameter | Wat die doet |
|---|---|
fields | De velden die je terug wilt. Een lege array geeft alles. |
alias | Beperkt de lijst tot één webinar. |
search | Tekst die het systeem zoekt in namen en adressen van moderators. |
Het antwoord kan name, email en registered dragen, de datum waarop de moderator erbij kwam, tot op de seconde. Verder main (YES bij de hoofdmoderator) en avatar (YES als een afbeelding de camera vervangt).
moderatorsAddToWebinar
Koppelt een of meer moderators aan een webinar. Een gekoppelde moderator wordt presentator van dat evenement en krijgt vanaf dan uitnodigingen en herinneringen.
$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 is optioneel. Zet hem op YES om de uitnodiging meteen te sturen, of op NO om hem op het gewone schema mee te laten gaan.
moderatorsRemoveFromWebinar
Koppelt moderators los van een webinar en neemt hun toegangsrechten af. Uitnodigingslinks krijgen ze niet meer, en andere wegen naar het evenement blijven er niet over. De parameters zijn dezelfde alias en email als bij het commando hierboven.
moderatorsRooms
Geeft op basis van een e-mailadres elk lopend of komend webinar terug waaraan die moderator gekoppeld is. Elke regel draagt alias, name, description, start, timezone, duration en moderatorLink.
Een moderatorlink werkt voor één persoon. Moderators die hun link doorgeven komen met een van drie klachten terug. Ze vliegen de ruimte uit, ze komen er niet in, of er zit al iemand onder hun naam. Alle drie hebben dezelfde oorzaak. Een tweede binnenkomst op dezelfde link verbreekt altijd de eerste sessie, dus niemand hoort een ruimte te openen met een link die niet voor hem is uitgegeven.
Deelnemercommando's
attendeesCreate
Maakt een deelnemer aan uit een e-mailadres en een naam.
$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--%',
],
] );In e-mailadressen van deelnemers mogen Engelse letters en cijfers staan.
attendeesSet
Werkt een bestaande deelnemer bij. Herken hem aan email en stuur daarna de velden die je wilt wijzigen.
| Parameter | Wat die doet |
|---|---|
newemail | Vervangt het adres waaronder de deelnemer is opgeslagen. |
name | Volledige naam. |
phone | Telefoonnummer. |
company | Bedrijf. |
department | Afdeling. |
city | Stad. |
born | Geboortedatum in het formaat YYYY-MM-DD. |
Ook skype en position worden geaccepteerd.
attendeesDelete
Verwijdert één deelnemer of een array ervan, aangesproken op e-mailadres.
attendeesList
Geeft eerder aangemaakte deelnemers terug, met filters, sortering en paginering.
| Parameter | Wat die doet |
|---|---|
fields | Welke velden je terug wilt. Optioneel, en zonder deze parameter krijg je alleen name en email. |
onPage | Hoeveel deelnemers er per pagina terugkomen, van 5 tot 1000. Laat hem weg en de hele lijst komt in één keer. |
page | Welke pagina terugkomt, geteld vanaf 0. |
alias | Beperkt de lijst tot één webinar. |
search | Tekst die het systeem zoekt in namen en adressen van deelnemers. |
order | De lijst komt voorlopig altijd oplopend terug, wat je hier ook meestuurt. |
orderField | Sorteren op name, email of creation_date. Standaard name. |
type | ACTIVE geeft deelnemers die e-mails kunnen ontvangen, PENDING wie zich afmeldde of wiens adres onbestelbaar bleek, en BANNED wie uit webinarruimtes is verbannen. |
imported | Hoe de deelnemer in het systeem kwam. YES bij toegevoegd door de accounteigenaar, NO bij zelf geregistreerd. |
webinars | Een array webinaraliassen waartegen het systeem de deelname toetst. |
webinarsOrder | IN geeft de deelnemers terug die die webinars bezochten. OUT, de standaard, geeft wie eraan was toegevoegd maar nooit binnenkwam. |
withEmail | YES geeft alleen deelnemers met een e-mailadres, NO alleen die zonder. Laat hem weg en je krijgt iedereen. |
group | Het id van een groep waartoe de deelnemers behoren. |
In fields vraag je om name, email, phone, skype, company, department, city, born, creation_date, country en type. Stuur je ook alias mee, dan kun je notified (hoeveel uitnodigingen eruit gingen) en link (de toegangslink van de deelnemer) toevoegen.
attendeesAddToWebinar en attendeesRemoveFromWebinar
Koppelen deelnemers aan een gepland webinar, of halen ze eraf. Beide nemen alias plus een array attendees met e-mailadressen. Alleen deelnemers die al in je lijst staan en e-mails kunnen ontvangen worden gekoppeld, andere adressen worden zonder foutmelding overgeslagen. Maak nieuwe deelnemers dus eerst aan met 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
Geeft op basis van een adres elk webinar terug waarvoor die deelnemer is uitgenodigd. Elke regel draagt alias, name, description, start, timezone, duration en attendeeLink.
Deelnemersgroepen
| Commando | Wat dat doet |
|---|---|
attendeesCreateGroup | Maakt een groep uit een name en geeft de group_id terug. |
attendeesGroupsRename | Hernoemt een groep, aangesproken op id, met newname. |
attendeesDeleteGroup | Verwijdert een groep op id. |
attendeesGroupsList | Geeft elke groep terug als paar van id en name, verpakt in nog een array. |
attendeesAssignToGroup | Voegt een array attendees met adressen toe aan group_id. |
attendeesUnAssignFromGroup | Haalt een array attendees met adressen weg uit group_id. |
attendeesCommonGroups | Neemt een of meer deelnemersadressen als gewone lijst en geeft de groepen terug waarin ze allemaal zitten. |
attendeesUnbanned
Heft de blokkade op van een deelnemer die uit een webinarruimte is verbannen. Geef in email één adres mee.
Webinarcommando's
Bijna alles hieronder werkt via alias, het unieke webinar-id. webinarsCreate geeft het terug, en het is ook de code die je in de webinarlink ziet.
webinarsCreate
Plant een webinar en geeft de links terug die je nodig hebt.
$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--%',
],
] );Het antwoord geeft alias terug, plus webinarLink voor de publieke pagina en mainModeratorLink voor de hoofdmoderator.
start gebruikt het formaat YYYY-MM-DD HH:MM:SS, en die tijd leest het systeem in de tijdzone uit je profiel. duration telt in minuten en mag niet boven 1440 uitkomen, precies een etmaal.
webinarsSet
Wijzigt elke instelling van een webinar dat je eerder plande.
$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--%',
],
],
] );Dit zijn de parameters op het bovenste niveau.
| Parameter | Wat die doet |
|---|---|
alias | Het webinar dat je bewerkt. |
name | Titel of onderwerp. |
description | Uitgebreide beschrijving als platte tekst, tot 300 tekens. HTML-tags worden verwijderd. Optioneel. |
start | Startdatum en -tijd als YYYY-MM-DD HH:MM:SS, gelezen in de tijdzone van je profiel. |
duration | Lengte in minuten, tot 1440. |
close | YES bij een besloten webinar, NO bij een openbaar webinar. |
language | Taal van de ruimte in twee letters. In deze taal opent de interface voor presentatoren en deelnemers. Toegestaan zijn onder meer be, bg, de, en, es, et, fr, it, lt, lv, pl, pt, ru, sl, tr en uk. |
logo | Logo van de ruimte als Base64-afbeelding. |
logotype_url | Pagina die opengaat als iemand op het logo klikt. |
banner | Banner van de ruimte als Base64-afbeelding. |
banner_url | Pagina die opengaat als iemand op de banner klikt. |
settings | Alles hieronder, meegegeven als geneste array. |
En dit zijn de instellingen van de ruimte.
| Instelling | Wat die doet |
|---|---|
webcamPosition | LEFT zet de moderatorcamera links van de chat, RIGHT zet hem rechts. |
themebg | Achtergrondkleur van de ruimte in HEX, bijvoorbeeld #f2f2f2. |
themetext | Kleur van pictogrammen en tekst in HEX, bijvoorbeeld #d3d3d3. |
cameraSize | mini, middle, big of full. Op het scherm met evenementinstellingen heet dit «Webcambreedte» ("Webcam width"), en "Chat width" bij een meeting of een evenement dat vanuit OBS uitzendt. |
userList | YES toont deelnemers wie er in de ruimte zit, NO verbergt die lijst. |
flags | YES toont landvlaggen in die lijst. Zolang userList op NO staat, doet het niets. |
buttonQuestion | YES toont bij de deelnemer het item "Ask the question" in het menu «Interactie» ("Feedback"). Op het scherm met evenementinstellingen heet dit "Enable private chat with moderators". |
buttonVoice | YES toont bij de deelnemer het item «Vraag om te spreken» ("Ask to speak") in het menu «Interactie» ("Feedback"), en NO haalt het weg. Op het scherm met evenementinstellingen is dit «Verzoek tot spreken toestaan» ("Allow request to speak"). |
chat | YES geeft deelnemers het chatveld, NO neemt het weg zodat ze niets meer kunnen sturen. |
showBeforeTimer | YES toont het aftellen naar de start van het webinar. |
showLoginStart | YES toont de starttijd op de toegangspagina. |
showLoginName | YES toont de titel van het webinar op de toegangspagina. |
showLoginModerators | YES zet de moderators op de toegangspagina. |
showSocialButtons | YES toont op de toegangspagina de knoppen voor inloggen via sociale netwerken. |
showLoginCounter | YES toont hoeveel plaatsen er nog vrij zijn. |
group | Verzamelt iedereen die zich registreert in de groep met dit id. attendeesGroupsList helpt je het te vinden. |
loginfields | Welke velden de toegangspagina vraagt, in de volgorde die je opgeeft. Beschikbaar zijn name, email, phone, skype, city, company, department en born, en name moet in de lijst staan. Laat email weg, en de deelnemer bereikt het deelnemersonderdeel van het dashboard nooit, want hij blijft alleen in de statistieken van dat webinar staan. |
beforeStartTime | Hoeveel minuten voor de start deelnemers naar binnen mogen, van 5 tot 60. |
emailIdntLogin | YES zet persoonlijke toegangslinks aan. |
emailIdntRecord | YES zet persoonlijke links aan voor het bekijken van de opname. |
sendRecord | YES stuurt een link naar de opname zodra het evenement voorbij is. |
sendRecordTo | Wie die link krijgt. all iedereen die geregistreerd is, visit wie aanwezig was, miss wie niet kwam. |
Een opnamemodus zet je door de naam van de modus als sleutel met een lege waarde mee te geven, bijvoorbeeld recordWebCams => "".
| Modus | Wat erin komt |
|---|---|
recordWebCams | Alleen webcams en microfoons. |
recordArea | Webcams, microfoons, chat en het werkgebied met materiaal. |
recordAreaNoChat | Webcams, microfoons en het werkgebied met materiaal, zonder de chat. |
recordWhole | De hele ruimte. |
Nog drie schakelaars bepalen wat er in het bestand belandt. recordUsers zet de deelnemerslijst in de opname, recordModer drukt de naam van elke moderator op zijn camera, en recordChat neemt de chat mee. Geef je een van de drie mee, zelfs als NO, dan springt de modus vanzelf naar recordWhole.
recordQuality bepaalt de resolutie. 0 neemt op in 480p (800x460), 1 in 720p (1280x720), 2 in 1080p (1920x1080), 3 in 2K (2048x1080) en 4 in 2160p. Welk niveau je account echt aankan, hangt af van je abonnement en niet van de API. Het gratis Starter-abonnement neemt op tot 720p, de betaalde abonnementen onder 500 deelnemers tot 1080p. Abonnementen vanaf 500 deelnemers halen 2160p. Wat er in elk abonnement zit, staat op de tarievenpagina.
webinarsDelete
Verwijdert een gepland webinar volledig, aangesproken op alias.
webinarsClone
Kopieert een webinar naar een nieuwe date in het formaat YYYY-MM-DD en geeft de nieuwe alias, webinarLink en mainModeratorLink terug.
webinarsList
Geeft je webinars terug.
| Parameter | Wat die doet |
|---|---|
fields | Welke velden je terug wilt. Optioneel, en zonder deze parameter krijg je ze allemaal. |
status | ACTIVE bij webinars die lopen of nog komen, FINISHED bij webinars die voorbij zijn. |
date | Geeft elk webinar van één dag terug, in het formaat YYYY-MM-DD. |
Elke regel kan name, description, created (tijd van aanmaken in GMT+0), alias, start en language dragen.
webinarsGetInfo
Geeft alles terug wat het systeem van één webinar weet. Het antwoord bevat alias, name, description, start, duration, close, language, google_id, yandex_id, created, status, records (het aantal opnames tot nu toe) en een blok settings met de schakelaars van de ruimte, het kleurthema, de velden van de toegangspagina en de groep.
webinarsGetLettersInfo en webinarsSetLetters
webinarsGetLettersInfo geeft de uitnodigingsmails van een webinar terug, elk met enabled, status en text.
webinarsSetLetters wijzigt ze. Het commando neemt alias, een type, een vlag enabled met YES of NO, en text, een HTML-handtekening van hooguit 2000 tekens die aan het bericht vastgaat. Stuur text leeg en de handtekening verdwijnt.
| Type | Wanneer die uitgaat |
|---|---|
REGISTRATIONCONFIRM | Als iemand zich registreert op de toegangspagina van het webinar. |
3DAY | 3 dagen (72 uur) voor het webinar. |
1DAY | 1 dag (24 uur) voor het webinar. |
1HOUR | 1 uur voor het webinar. |
STARTED | Naar uitgenodigde deelnemers die bij de start nog niet in de ruimte zaten. |
FINISHED | Nadat het webinar is afgelopen. |
De mail 1HOUR kun je niet uitzetten.
webinarsLettersOff en webinarsLettersOn
Stoppen of hervatten alle uitnodigingsmails van één webinar, aangesproken op alias.
webinarsOnlineList
Geeft terug wie er nu in de ruimte zit, gesplitst in moderators en guests.
webinarsRecordsList en webinarsRecordDelete
webinarsRecordsList geeft de opnames van een webinar terug, of die van het hele account als je alias weglaat. Elke opname draagt id, name en status, dus recording zolang het webinar nog wordt opgenomen, process terwijl het bestand wordt voorbereid en ready zodra het te downloaden is. Verder added, size in bytes, duration in seconden, link om te kijken en download_link om te downloaden.
webinarsRecordDelete haalt één opname weg met de id uit die lijst.
webinarsFilesList
Geeft de bestanden in je opslag terug, of alleen die van één webinar als je de alias meestuurt. Stuur ook type mee, want zonder komt de lijst leeg terug. PRESENTATION geeft presentaties en afbeeldingen, en MEDIA geeft video- en audiobestanden (.mp4, .mov, .webm, .mkv en .mp3) samen met video's van YouTube en Vimeo. Elk bestand draagt id, name, added, size, duration (seconden bij media, of het aantal slides bij een presentatie), link en download_link.
webinarsHistory
Geeft het logboek van een webinar terug. Zet type op chats voor elk bericht uit de tekstchat, of op visits voor de aanwezigheidsgeschiedenis. Een chatregel bevat het tijdstip, de naam, de tekst van het bericht, een G of M voor gast of moderator en het e-mailadres van de gast. Een aanwezigheidsregel bevat de naam, dezelfde G of M, het land, het e-mailadres, het IP-adres, de tijden van de eerste binnenkomst en het laatste vertrek, en uptime, het deel van het webinar dat iemand in de ruimte doorbracht, in procenten. Bij een vaste ruimte stuur je ook date mee in het formaat YYYY-MM-DD.
Automatiseringscommando's
Deze commando's zijn de machinerie achter geautomatiseerde webinars. Ze vullen een ruimte met virtuele moderators en virtuele deelnemers en plaatsen chatberichten onder hun naam. Ze sturen de slides en de video aan, en ze beëindigen het evenement als je klaar bent. Alles loopt op jouw timing en niet op die van een presentator. Chatblokkades, slides, video en webinarsFinish lopen via een virtuele moderator, dus zet er eerst een in de ruimte met webinarsAddModerToRoom. Zonder die moderator geven ze een foutmelding.
webinarsAddModerToRoom en webinarsRemoveModerFromRoom
webinarsAddModerToRoom zet een virtuele moderator in een ruimte. Het neemt alias en het email van een moderator die je met moderatorsCreate hebt aangemaakt, en de ruimte toont de naam van die moderator. webinarsRemoveModerFromRoom haalt die moderator er weer uit, aangesproken op alias en 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 en webinarsGetBotsList
webinarsAddBotToRoom zet een virtuele deelnemer in de ruimte. Het neemt alias, name en country, een landcode van twee letters zoals US, DE, FR, PL of UA. Het antwoord geeft de id terug die je later nodig hebt.
webinarsRemoveBotFromRoom haalt die deelnemer er weer uit, aangesproken op alias en id, en webinarsGetBotsList geeft elke virtuele deelnemer terug die nu met een webinar verbonden is.
webinarsBotMessage
Stuurt een chatbericht namens een virtuele moderator of een virtuele deelnemer.
| Parameter | Wat die doet |
|---|---|
alias | Het webinar in wiens chat het bericht terechtkomt. |
bot | Het adres dat je een virtuele moderator gaf, of de id die je kreeg bij het aanmaken van een virtuele deelnemer. |
text | Het bericht zelf, tot 500 tekens. |
Chat besturen
webinarsLockChat verbiedt levende deelnemers om in de chat te schrijven en webinarsUnlockChat laat ze weer schrijven. Moderators en presentatoren mogen altijd posten, dus een slot op de chat raakt alleen deelnemers.
webinarsLinkLockInChat en webinarsLinkUnlockInChat doen hetzelfde met links, die ze tussen levende deelnemers blokkeren of toestaan. Alle vier nemen alleen alias.
Slides en video
webinarsStartPresentation toont een slide aan levende deelnemers. Het neemt alias, de id van de presentatie uit webinarsFilesList, en slide, het paginanummer dat op het scherm moet. webinarsStopPresentation haalt de presentatie van het scherm met alleen alias.
webinarsStartVideo speelt een videobestand, een YouTube-clip of een Vimeo-clip af, en neemt alias en de id van het bestand uit webinarsFilesList. Het speelt ook een opname af, via de id uit webinarsRecordsList. webinarsStopVideo stopt het afspelen en neemt alleen alias.
webinarsFinish
Beëindigt het webinar en verbreekt de verbinding van iedereen in de ruimte. Het neemt alias en heeft, net als de commando's voor chat, slides en video, een virtuele moderator in de ruimte nodig.
Als hier iets niet klopt
Zie je een fout of een onnauwkeurigheid in dit document? Vertel het ons in de online chat. Wij controleren het en corrigeren de pagina.
MyOwnConference mag dit document op elk moment wijzigen of aanvullen. Werk je ermee, dan ga je daarmee akkoord.
Veelgestelde vragen
Wat moet ik doen als mijn API-sleutel uitlekt?
Maak meteen een nieuwe aan met de verversknop met de twee pijlen, naast het veld «API-sleutel» ("API key") in het onderdeel «Profiel» ("Profile"). De oude sleutel stopt op het moment dat de nieuwe verschijnt. Alle API-verzoeken komen in een logboek en blijven 365 dagen bewaard. Wordt je sleutel gebruikt voor gegevens die niet van je account zijn, dan blokkeert het systeem het account automatisch. Geld krijg je dan niet terug en klachten nemen we niet aan.
Elk verzoek dat ik stuur komt terug als fout. Wat doe ik verkeerd?
Controleer eerst hoe je verstuurt en pas daarna het commando. Verzoeken gaan over HTTPS naar https://api.mywebinar.com met de POST-methode, en de JSON hoort in één dataveld met de naam request. Elke andere aanpak levert steeds een fout op. key en action zijn altijd verplicht, en neemt een commando geen extra parameters, dan gaat er voor params toch een lege array mee.
Kan ik een webinar plannen dat langer dan een dag duurt?
Nee, duration telt in minuten en mag niet boven 1440 uitkomen, precies een etmaal. Controleer meteen de tijdzone in je profiel, want start gebruikt het formaat YYYY-MM-DD HH:MM:SS en het systeem leest die tijd op die instelling. profileGet geeft hem terug als timezone, als afwijking van GMT in minuten, dus GMT+02:00 komt terug als 120.
Kan ik op elk abonnement om een opname in 2160p vragen?
Nee, welk niveau je account echt aankan hangt af van je abonnement en niet van de API. Het gratis Starter-abonnement neemt op tot 720p, de betaalde abonnementen onder 500 deelnemers tot 1080p, terwijl abonnementen vanaf 500 deelnemers 2160p halen. recordQuality zelf neemt 0 voor 480p, 1 voor 720p, 2 voor 1080p, 3 voor 2K en 4 voor 2160p. Wat er in elk abonnement zit, staat op de tarievenpagina.
Mijn presentatoren vliegen steeds de ruimte uit. Hoe komt dat?
Een moderatorlink werkt voor één persoon, dus een tweede binnenkomst op dezelfde link verbreekt altijd de eerste sessie. Die ene oorzaak zit achter alle drie de gewone klachten, namelijk eruit vliegen, er niet in komen, en al iemand onder je eigen naam aantreffen. Geef elke presentator de link die voor hem is uitgegeven, en die geeft moderatorsRooms terug als moderatorLink bij elk webinar waaraan hij gekoppeld is.