Die öffentliche API von MyOwnConference

Veröffentlicht Aktualisiert
Automatisierung

Mit der API von MyOwnConference steuern Sie Ihr Konto aus eigenem Code. Sie planen Webinare, verwalten Moderatoren und Teilnehmer, holen sich Anwesenheits- und Chatverlauf und bringen ein vollautomatisches Event von Anfang bis Ende über die Bühne. Offen sein muss das Kontrollpanel dafür nie.

Ihr Zugangsschlüssel

Jede Anfrage bestätigt ein eigener Schlüssel, den das System für Sie erzeugt. Melden Sie sich im Kontrollpanel an, öffnen Sie den Bereich „Profil“ ("Profile") und suchen Sie das Feld „API key“ ("API key").

Vermuten Sie, dass Ihr Schlüssel in fremde Hände geraten ist? Erzeugen Sie einen neuen. Der Knopf zum Auffrischen sieht aus wie zwei Pfeile und steht neben dem Feld „API key“. Drücken Sie ihn. Sobald der neue Schlüssel erscheint, hört der alte auf zu wirken. Geben Sie den Schlüssel niemandem außer Programmierern und Leuten, denen Sie den Zugang zum Kontrollpanel ohnehin anvertraut haben.

Alle Zugriffe auf die API schreiben wir mit und bewahren sie 365 Tage auf. Greift jemand mit Ihrem Schlüssel auf Daten zu, die dem Konto nicht gehören, sperrt sich das Konto automatisch. Geld erstatten wir dann nicht und Beschwerden nehmen wir nicht an, behandeln Sie den Schlüssel also wie ein Passwort.

Format der Anfrage

Anfragen gehen über HTTPS an eine eigene Domain, https://api.mywebinar.com. Ihr Format ist JSON. Schicken müssen Sie sie mit der Methode POST, in einem einzigen Datenfeld namens request. Jeder andere Weg liefert jedes Mal einen Fehler.

Alles, was in diesem Dokument als %--text--% steht, ist ein Platzhalter. Setzen Sie Ihren eigenen Wert ein, bevor Sie die Anfrage abschicken.

Eine Anfrage trägt entweder benannte Parameter.

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

Oder eine einfache Liste von Werten.

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

key und action sind immer nötig. Nimmt ein Befehl keine weiteren Parameter? Dann schicken Sie für params ein leeres Array.

Format der Antwort

Antworten kommen immer als JSON, und jede wiederholt neben dem Ergebnis die ursprüngliche Anfrage. Sie bekommen eine von drei Formen.

Erfolg mit Daten.

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

Erfolg ohne Daten.

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

Ein Fehler mit der Beschreibung, was schiefging.

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

Meldungen über Erfolg und Fehler kommen auf Englisch, unabhängig von der Sprache Ihres Kontos.

Beispiel in 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 );

Beispiel in 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();

Die weiteren Beispiele stehen in PHP.

Grenzen der Textfelder

Bei den meisten Befehlen sind die Grenzen dieselben, deshalb stehen sie hier gesammelt statt bei jedem einzeln.

FeldGrenze
Vollständiger Name2 bis 64 Zeichen, für Ihren eigenen Namen in profileSet 2 bis 128
Email6 bis 128 Zeichen
Telefonbeginnt mit + und der Ländervorwahl, etwa +44 20 7946 0958, ohne feste Länge
Firmendatenbis 1000 Bytes, also etwa 1000 Zeichen reiner lateinischer Text, in Kyrillisch aber nur rund 500
Firma, Abteilung, Stadt und Position eines Teilnehmers2 bis 128 Zeichen

In Namen lassen wir jedes Zeichen zu außer dem Backtick und ^~!@#$%^&*()+=[{}]\|:;,<>/?. Ihr eigener Name, Gruppennamen und die Namen virtueller Teilnehmer dürfen außerdem keinen Punkt enthalten. Bei Firmen, Abteilungen und Städten ist jedes Zeichen erlaubt.

Befehle für das Profil

profileGet

Gibt das ganze Profil zurück oder nur die Felder, nach denen Sie fragen.

php
$data[ 'request' ] = json_encode( [
  'key'    => '%--api-key-from-your-profile--%',
  'action' => 'profileGet',
  'params' => [
    'name',
    'timezone',
  ],
] );

Wollen Sie alles bekommen? Schicken Sie ein leeres Array params.

FeldWas darin steht
nameIhr Vor- und Nachname. Unter diesem Namen geht jede Webinar-Einladung hinaus.
emailDie Adresse, auf die das Konto angemeldet ist.
timezoneIhre Zeitzone als Abstand zu GMT in Minuten. Werte können negativ sein, GMT+00:00 ist also 0, GMT+02:00 ist 120 und GMT-12:00 ist -720. Die Zeit jedes Events rechnen wir nach dieser Einstellung.
timemoveOb das System der Sommerzeit folgt. YES verschiebt Ihre Eventzeiten automatisch, NO lässt sie stehen.
languageDie Sprache der Oberfläche Ihres Kontos als Kürzel in Kleinbuchstaben, etwa en, de, es, fr, pl, ru oder uk. Webinare, die Sie später planen, öffnen sich in dieser Sprache.
gatewayDas Zahlungssystem des Kontos, entweder PAYSERA oder PAYPAL.
subscribeYES, wenn Sie die Neuigkeiten des Dienstes abonniert haben, NO, wenn nicht.
companyFirmendaten. Ein nicht leerer Wert kennzeichnet Sie beim Bezahlen als juristische Person, und auf den Rechnungen stehen dann diese Daten als Zahler statt Ihres Namens und Ihrer E-Mail-Adresse.

profileSet

Aktualisiert das Profil ganz oder in Teilen. Geben Sie mehrere Parameter in einem Array an, dann ändern sie sich zusammen.

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 nimmt dieselben Felder außer email, denn die Adresse lässt sich über die API nicht ändern. Dazu kommt password mit 6 bis 64 Zeichen.

Befehle für Moderatoren

Moderatoren sind die Leute, die Ihre Webinare halten. Den Moderator, der bei der Registrierung entsteht, nennen wir den Hauptmoderator oder auch Kontoadministrator. Im Kontrollpanel trägt er einen Stern und lässt sich nicht löschen. Er erreicht jedes Webinar und jede hochgeladene Datei.

moderatorsCreate

Legt einen Moderator aus Namen und E-Mail-Adresse an.

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

Löscht einen Moderator oder gleich ein ganzes Array davon. Die Adressen geben Sie als einfache Liste an. Anders als das Kontrollpanel schützt die API den Hauptmoderator dabei nicht, lassen Sie seine Adresse also aus der Liste heraus.

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

Ändert Namen oder Adresse eines Moderators und lädt bei Bedarf ein Bild hoch, das statt seiner Webcam erscheint.

ParameterWas er macht
emailDer Moderator, den Sie bearbeiten, erkannt an seiner jetzigen Adresse.
newEmailDie neue E-Mail-Adresse.
newNameDer neue vollständige Name.
avatarEin Bild anstelle des Kamerabildes. Solange es zu sehen ist, bleibt die Kamera aus. Kodieren Sie es in Base64, wir nehmen JPG, JPEG, PNG und GIF.

Von Hand kodieren Sie ein Bild mit dem Befehl cat /path/to/file/test.png | base64.

moderatorsList

Gibt Ihre Moderatoren zurück. Die Parameter unten sind alle freiwillig und lassen sich in einer Anfrage kombinieren.

ParameterWas er macht
fieldsDie Felder, die zurückkommen sollen. Ein leeres Array gibt alles zurück.
aliasEngt die Liste auf ein Webinar ein.
searchText, den wir in Namen und Adressen der Moderatoren suchen.

In der Antwort stehen name, email und registered, das Datum, an dem der Moderator dazukam, auf die Sekunde genau. Dazu kommen main (YES beim Hauptmoderator) und avatar (YES, wenn ein Bild die Kamera ersetzt).

moderatorsAddToWebinar

Hängt einen oder mehrere Moderatoren an ein Webinar. Ein angehängter Moderator wird Referent dieses Events und bekommt von da an Einladungen und Erinnerungen.

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 ist freiwillig. Setzen Sie YES, damit die Einladung sofort hinausgeht, oder NO, damit sie zum üblichen Termin kommt.

moderatorsRemoveFromWebinar

Löst Moderatoren von einem Webinar und nimmt ihnen die Zugriffsrechte. Einladungslinks bekommen sie nicht mehr, und jeden anderen Weg ins Event verlieren sie ebenfalls. Die Parameter sind dieselben alias und email wie beim Befehl darüber.

moderatorsRooms

Gibt zu einer E-Mail-Adresse jedes laufende oder kommende Webinar zurück, an dem der Moderator hängt. In jedem Eintrag stehen alias, name, description, start, timezone, duration und moderatorLink.

Ein Moderatorenlink ist für eine einzige Person gedacht. Moderatoren, die ihren Link weiterreichen, kommen mit einer von drei Klagen zurück. Man wirft sie aus dem Raum, sie kommen nicht hinein, oder drinnen sitzt schon jemand unter ihrem Namen. Alle drei haben dieselbe Ursache. Ein zweiter Eintritt über denselben Link trennt immer die erste Sitzung, niemand sollte also einen Raum mit einem fremden Link öffnen.

Befehle für Teilnehmer

attendeesCreate

Legt einen Teilnehmer aus E-Mail-Adresse und Namen an.

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--%',
  ],
] );

In Teilnehmeradressen lassen wir englische Buchstaben und Ziffern zu.

attendeesSet

Aktualisiert einen vorhandenen Teilnehmer. Erkennen Sie ihn an email und schicken Sie die Felder, die Sie ändern wollen.

ParameterWas er macht
newemailErsetzt die Adresse, unter der der Teilnehmer gespeichert ist.
nameVollständiger Name.
phoneTelefonnummer.
companyFirma.
departmentAbteilung.
cityStadt.
bornGeburtsdatum im Format YYYY-MM-DD.

Außerdem nimmt der Befehl skype und position.

attendeesDelete

Löscht einen Teilnehmer oder ein Array davon, angesprochen über die E-Mail-Adresse.

attendeesList

Gibt früher angelegte Teilnehmer zurück, mit Filtern, Sortierung und Seiten.

ParameterWas er macht
fieldsWelche Felder zurückkommen. Freiwillig, ohne ihn bekommen Sie nur name und email.
onPageWie viele Teilnehmer eine Seite zurückgibt, von 5 bis 1000. Lassen Sie ihn weg, kommt die ganze Liste auf einmal.
pageWelche Seite zurückkommt, gezählt ab 0.
aliasBeschränkt die Liste auf ein Webinar.
searchText, den wir in Namen und Adressen der Teilnehmer suchen.
orderDie Liste kommt derzeit immer aufsteigend sortiert zurück, egal was Sie hier angeben.
orderFieldSortiert nach name, email oder creation_date. Voreingestellt ist name.
typeACTIVE gibt Teilnehmer zurück, die E-Mails empfangen können, PENDING jene, die sich abgemeldet haben oder deren Adresse nicht zustellbar war, und BANNED jene, die aus Webinar-Räumen gesperrt sind.
importedWie der Teilnehmer ins System kam. YES bei Zugängen durch den Kontoinhaber, NO bei selbst angemeldeten.
webinarsEin Array von Webinar-Aliassen, gegen die wir die Teilnahme prüfen.
webinarsOrderIN gibt die Teilnehmer zurück, die diese Webinare besucht haben. OUT, die Voreinstellung, gibt jene zurück, die dazu eingetragen waren, aber nie hereingekommen sind.
withEmailYES gibt nur Teilnehmer mit E-Mail-Adresse zurück, NO nur die ohne. Lassen Sie ihn weg, kommen alle.
groupDie id einer Gruppe, zu der die Teilnehmer gehören.

In fields fragen Sie nach name, email, phone, skype, company, department, city, born, creation_date, country und type. Geben Sie auch alias an, kommen notified, wie viele Einladungen hinausgingen, und link, der Eintrittslink des Teilnehmers, dazu.

attendeesAddToWebinar und attendeesRemoveFromWebinar

Hängen Teilnehmer an ein geplantes Webinar oder nehmen sie wieder herunter. Beide nehmen alias und dazu ein Array attendees mit E-Mail-Adressen. Angehängt werden nur Teilnehmer, die schon in Ihrer Liste stehen und E-Mails empfangen können, andere Adressen überspringt der Befehl ohne Fehlermeldung. Legen Sie neue Teilnehmer also zuerst mit attendeesCreate an.

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

Gibt zu einer Teilnehmeradresse jedes Webinar zurück, zu dem er eingeladen wurde. In jedem Eintrag stehen alias, name, description, start, timezone, duration und attendeeLink.

Teilnehmergruppen

BefehlWas er macht
attendeesCreateGroupLegt aus einem name eine Gruppe an und gibt ihre group_id zurück.
attendeesGroupsRenameBenennt eine über id gefundene Gruppe mit newname um.
attendeesDeleteGroupLöscht eine Gruppe über id.
attendeesGroupsListGibt alle Gruppen als Paare id und name zurück, verpackt in ein weiteres Array.
attendeesAssignToGroupFügt ein Array attendees mit Adressen zu group_id hinzu.
attendeesUnAssignFromGroupNimmt ein Array attendees mit Adressen aus group_id heraus.
attendeesCommonGroupsNimmt eine oder mehrere Teilnehmeradressen als einfache Liste und gibt die Gruppen zurück, in denen alle zugleich stehen.

attendeesUnbanned

Hebt die Sperre eines Teilnehmers auf, den jemand aus einem Webinar-Raum gesperrt hat. Geben Sie in email eine Adresse an.

Befehle für Webinare

Fast alles unten sprechen Sie über alias an, die eindeutige id des Webinars. webinarsCreate gibt sie zurück, und sie steht auch als Code im Link zum Webinar.

webinarsCreate

Plant ein Webinar und gibt die Links zurück, die Sie brauchen.

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--%',
  ],
] );

In der Antwort kommt alias, dazu webinarLink für die öffentliche Seite und mainModeratorLink für den Hauptmoderator.

start schreiben Sie im Format YYYY-MM-DD HH:MM:SS, und wir lesen es in der Zeitzone aus Ihrem Profil. duration zählt in Minuten und darf 1440 nicht überschreiten, also genau einen Tag.

webinarsSet

Ändert jede Einstellung eines früher geplanten Webinars.

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--%',
    ],
  ],
] );

Das sind die Parameter der obersten Ebene.

ParameterWas er macht
aliasDas Webinar, das Sie bearbeiten.
nameTitel oder Thema.
descriptionErweiterte Beschreibung als reiner Text, bis 300 Zeichen. HTML-Tags werden entfernt. Freiwillig.
startDatum und Uhrzeit des Starts als YYYY-MM-DD HH:MM:SS, gelesen in der Zeitzone Ihres Profils.
durationLänge in Minuten, bis 1440.
closeYES für ein geschlossenes Webinar, NO für ein offenes.
languageZweibuchstabige Sprache des Raums. In dieser Sprache öffnet sich die Oberfläche für Referenten und Teilnehmer gleichermaßen. Erlaubt sind unter anderem be, bg, de, en, es, et, fr, it, lt, lv, pl, pt, ru, sl, tr und uk.
logoLogo des Raums als Bild in Base64.
logotype_urlSeite, die sich beim Klick auf das Logo öffnet.
bannerBanner des Raums als Bild in Base64.
banner_urlSeite, die sich beim Klick auf das Banner öffnet.
settingsAlles darunter, übergeben als verschachteltes Array.

Und das sind die Einstellungen des Raums.

EinstellungWas sie macht
webcamPositionLEFT stellt die Moderatorenkamera links vom Chat auf, RIGHT rechts davon.
themebgHintergrundfarbe des Raums in HEX, zum Beispiel #f2f2f2.
themetextFarbe von Symbolen und Text in HEX, zum Beispiel #d3d3d3.
cameraSizemini, middle, big oder full. Auf dem Einstellungsbildschirm des Events heißt das „Webcam-Breite“ ("Webcam width"), bei einem Meeting und bei einem Event mit Übertragung aus OBS dagegen "Chat width".
userListYES zeigt Teilnehmern die Liste der Anwesenden, NO verbirgt sie.
flagsYES zeigt in dieser Liste Länderflaggen. Solange userList auf NO steht, tut die Einstellung nichts.
buttonQuestionYES zeigt beim Teilnehmer den Punkt "Ask the question" im Menü „Feedback“. Auf dem Einstellungsbildschirm des Events heißt das "Enable private chat with moderators".
buttonVoiceYES zeigt beim Teilnehmer den Punkt „Fragen sie nach dem Boden“ ("Ask to speak") im Menü „Feedback“, NO nimmt ihn weg. Auf dem Einstellungsbildschirm des Events heißt das „Anfrage zum Sprechen zulassen“ ("Allow request to speak").
chatYES gibt Teilnehmern das Chatfeld, NO nimmt es weg, dann schreiben sie nichts mehr.
showBeforeTimerYES zeigt den Countdown bis zum Start des Webinars.
showLoginStartYES zeigt die Startzeit auf der Eintrittsseite.
showLoginNameYES zeigt den Titel des Webinars auf der Eintrittsseite.
showLoginModeratorsYES listet die Moderatoren auf der Eintrittsseite auf.
showSocialButtonsYES zeigt auf der Eintrittsseite Knöpfe für die Anmeldung über soziale Netzwerke.
showLoginCounterYES zeigt, wie viele Plätze noch frei sind.
groupSammelt alle, die sich anmelden, in der Gruppe mit dieser id. Die id findet attendeesGroupsList.
loginfieldsWelche Felder die Eintrittsseite abfragt, in der Reihenfolge, die Sie angeben. Verfügbar sind name, email, phone, skype, city, company, department und born, und name muss in der Liste stehen. Lassen Sie email weg, erreicht der Teilnehmer den Teilnehmerbereich des Kontrollpanels nie und taucht nur in der Statistik dieses Webinars auf.
beforeStartTimeWie viele Minuten vor dem Start Teilnehmer eintreten dürfen, von 5 bis 60.
emailIdntLoginYES schaltet persönliche Eintrittslinks ein.
emailIdntRecordYES schaltet persönliche Links zum Ansehen der Aufzeichnung ein.
sendRecordYES schickt den Link zur Aufzeichnung, sobald das Event endet.
sendRecordToWer diesen Link bekommt. all alle Angemeldeten, visit die Anwesenden, miss die Fehlenden.

Den Aufnahmemodus setzen Sie mit dem Namen des Modus als Schlüssel und leerem Wert, zum Beispiel recordWebCams => "".

ModusWas er aufnimmt
recordWebCamsNur Webcams und Mikrofone.
recordAreaWebcams, Mikrofone, Chat und den Anzeigebereich für Material.
recordAreaNoChatWebcams, Mikrofone und den Anzeigebereich für Material, ohne Chat.
recordWholeDen ganzen Raum.

Drei weitere Schalter entscheiden, was in der Datei landet. recordUsers legt die Teilnehmerliste in die Aufnahme, recordModer druckt den Namen jedes Moderators auf seine Kamera, und recordChat nimmt den Chat dazu. Übergeben Sie einen der drei, auch mit NO, springt der Modus von selbst auf recordWhole.

recordQuality setzt die Auflösung. 0 nimmt in 480p (800x460) auf, 1 in 720p (1280x720), 2 in 1080p (1920x1080), 3 in 2K (2048x1080) und 4 in 2160p. Welche Stufe Ihr Konto wirklich nutzen kann, entscheidet Ihr Plan und nicht die API. Der kostenlose Starter nimmt bis 720p auf, bezahlte Pläne unter 500 Teilnehmern bis 1080p, und Pläne ab 500 Teilnehmern reichen bis 2160p. Was in jedem Plan steckt, listet die Preisseite auf.

webinarsDelete

Löscht ein geplantes Webinar vollständig, angesprochen über alias.

webinarsClone

Kopiert ein Webinar auf ein neues date im Format YYYY-MM-DD und gibt neue alias, webinarLink und mainModeratorLink zurück.

webinarsList

Gibt Ihre Webinare zurück.

ParameterWas er macht
fieldsWelche Felder zurückkommen. Freiwillig, ohne ihn kommen alle.
statusACTIVE bei laufenden und kommenden Webinaren, FINISHED bei beendeten.
dateGibt jedes Webinar eines Tages zurück, im Format YYYY-MM-DD.

In einem Eintrag stehen name, description, created (Zeit der Anlage in GMT+0), alias, start und language.

webinarsGetInfo

Gibt alles zurück, was das System über ein Webinar weiß. In der Antwort stehen alias, name, description, start, duration, close, language, google_id, yandex_id, created, status, records (die Zahl der bisher gemachten Aufzeichnungen) und ein Block settings mit den Schaltern des Raums, dem Farbschema, den Feldern der Eintrittsseite und der Gruppe.

webinarsGetLettersInfo und webinarsSetLetters

webinarsGetLettersInfo gibt die Einladungsmails eines Webinars zurück, jede mit enabled, status und text.

webinarsSetLetters ändert sie. Der Befehl nimmt alias, einen type, ein Kennzeichen enabled mit YES oder NO und text, eine Signatur in HTML mit bis zu 2000 Zeichen, die wir an die Nachricht hängen. Schicken Sie text leer, und die Signatur verschwindet.

TypWann sie hinausgeht
REGISTRATIONCONFIRMWenn sich jemand über die Eintrittsseite des Webinars anmeldet.
3DAY3 Tage (72 Stunden) vor dem Webinar.
1DAY1 Tag (24 Stunden) vor dem Webinar.
1HOUR1 Stunde vor dem Webinar.
STARTEDAn eingeladene Teilnehmer, die zum Start des Events nicht im Raum waren.
FINISHEDNach dem Ende des Webinars.

Die Nachricht 1HOUR lässt sich nicht abschalten.

webinarsLettersOff und webinarsLettersOn

Stoppen alle Einladungsmails eines Webinars oder starten sie wieder, angesprochen über alias.

webinarsOnlineList

Gibt zurück, wer gerade im Raum ist, getrennt nach moderators und guests.

webinarsRecordsList und webinarsRecordDelete

webinarsRecordsList gibt die Aufzeichnungen eines Webinars zurück, ohne alias die des ganzen Kontos. Jede trägt id, name, status (recording, solange das Webinar noch aufgezeichnet wird, process, solange die Datei vorbereitet wird, und ready, sobald sie sich herunterladen lässt), added, size in Bytes, duration in Sekunden, link zum Ansehen und download_link zum Herunterladen.

webinarsRecordDelete entfernt eine Aufzeichnung über die id, die Sie aus dieser Liste haben.

webinarsFilesList

Gibt die Dateien in Ihrem Speicher zurück, mit alias nur die eines Webinars. Geben Sie auch type an, denn ohne ihn bleibt die Liste leer. PRESENTATION gibt Präsentationen und Bilder zurück, MEDIA gibt Video- und Audiodateien (.mp4, .mov, .webm, .mkv und .mp3) samt Videos von YouTube und Vimeo zurück. Jede Datei trägt id, name, added, size, duration (Sekunden bei Medien oder die Zahl der Folien bei einer Präsentation), link und download_link.

webinarsHistory

Gibt das Protokoll eines Webinars zurück. Setzen Sie type auf chats für jede Nachricht im Textchat oder auf visits für den Anwesenheitsverlauf. Eine Chatzeile enthält die Uhrzeit, den Namen, den Text der Nachricht, ein Zeichen G oder M für Gast oder Moderator und die Adresse des Gastes. Ein Eintrag zur Anwesenheit enthält den Namen, dasselbe Zeichen G oder M, das Land, die E-Mail-Adresse, die IP-Adresse, die Zeiten des ersten Eintritts und des letzten Austritts sowie uptime, den Anteil des Webinars in Prozent, den die Person im Raum verbracht hat. Bei einem dauerhaften Raum geben Sie zusätzlich date im Format YYYY-MM-DD an.

Befehle für die Automatisierung

Diese Befehle sind die Mechanik hinter automatisierten Webinaren. Sie füllen einen Raum mit virtuellen Moderatoren und virtuellen Teilnehmern und schreiben unter deren Namen in den Chat. Sie führen Folien und Video und beenden das Event, wenn Sie fertig sind. Alles läuft nach Ihrem Takt und nicht nach dem eines Referenten. Chat-Sperren, Folien, Video und webinarsFinish laufen über einen virtuellen Moderator, setzen Sie also zuerst mit webinarsAddModerToRoom einen in den Raum. Ohne ihn geben diese Befehle einen Fehler zurück.

webinarsAddModerToRoom und webinarsRemoveModerFromRoom

webinarsAddModerToRoom setzt einen virtuellen Moderator in einen Raum. Der Befehl nimmt alias und die email eines Moderators, den Sie mit moderatorsCreate angelegt haben, und der Raum zeigt dessen Namen. webinarsRemoveModerFromRoom holt diesen Moderator wieder heraus, angesprochen über alias und 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--%',
  ],
] );

webinarsAddBotToRoom, webinarsRemoveBotFromRoom und webinarsGetBotsList

webinarsAddBotToRoom setzt einen virtuellen Teilnehmer in den Raum. Der Befehl nimmt alias, name und country, einen zweibuchstabigen Ländercode wie US, DE, FR, PL oder UA. In der Antwort kommt die id, die Sie später brauchen.

webinarsRemoveBotFromRoom holt diesen Teilnehmer wieder heraus, angesprochen über alias und id, und webinarsGetBotsList gibt jeden virtuellen Teilnehmer zurück, der gerade an einem Webinar hängt.

webinarsBotMessage

Schickt eine Chatnachricht im Namen eines virtuellen Moderators oder eines virtuellen Teilnehmers.

ParameterWas er macht
aliasDas Webinar, in dessen Chat die Nachricht geht.
botDie Adresse, die Sie einem virtuellen Moderator gegeben haben, oder die id, die Sie beim Anlegen eines virtuellen Teilnehmers bekommen haben.
textDie Nachricht selbst, bis 500 Zeichen.

Steuerung des Chats

webinarsLockChat verbietet echten Teilnehmern das Schreiben im Chat, webinarsUnlockChat erlaubt es wieder. Moderatoren und Referenten schreiben immer, eine Chatsperre trifft also nur Teilnehmer.

webinarsLinkLockInChat und webinarsLinkUnlockInChat tun dasselbe mit Links, sie sperren oder erlauben Links zwischen echten Teilnehmern. Alle vier nehmen nur alias.

Folien und Video

webinarsStartPresentation zeigt echten Teilnehmern eine Folie. Der Befehl nimmt alias, die id der Präsentation aus webinarsFilesList und slide, die Nummer der Seite, die erscheinen soll. webinarsStopPresentation nimmt die Präsentation vom Bildschirm, dafür reicht alias.

webinarsStartVideo spielt eine Videodatei, einen Clip von YouTube oder einen von Vimeo ab und nimmt dafür alias und die id der Datei aus webinarsFilesList. Auch eine Aufzeichnung spielt er ab, über ihre id aus webinarsRecordsList. webinarsStopVideo stoppt die Wiedergabe und nimmt nur alias.

webinarsFinish

Beendet das Webinar und trennt jeden, der im Raum sitzt. Der Befehl nimmt alias und braucht wie die Befehle für Chat, Folien und Video einen virtuellen Moderator im Raum.

Wenn hier etwas nicht stimmt

Ist Ihnen in diesem Dokument ein Fehler oder eine Ungenauigkeit aufgefallen? Sagen Sie es uns im Online-Chat. Wir prüfen das und bessern die Seite nach.

MyOwnConference kann dieses Dokument jederzeit ändern oder erweitern. Wer danach arbeitet, nimmt das in Kauf.

Häufig gestellte Fragen

Was tue ich, wenn mein API-Schlüssel nach außen gerät?

Erzeugen Sie sofort einen neuen, mit dem Knopf zum Auffrischen aus zwei Pfeilen neben dem Feld „API key“ ("API key") im Bereich „Profil“ ("Profile"). Der alte Schlüssel hört auf zu wirken, sobald der neue erscheint. Alle Zugriffe auf die API schreiben wir mit und bewahren sie 365 Tage auf. Greift jemand mit Ihrem Schlüssel auf Daten zu, die dem Konto nicht gehören, sperrt sich das Konto automatisch. Geld erstatten wir dann nicht und Beschwerden nehmen wir nicht an.

Jede Anfrage kommt als Fehler zurück. Was mache ich falsch?

Prüfen Sie zuerst den Weg und erst dann den Befehl. Anfragen gehen über HTTPS an https://api.mywebinar.com, mit der Methode POST, und das JSON liegt in einem einzigen Datenfeld namens request. Jeder andere Weg liefert jedes Mal einen Fehler. key und action sind immer nötig, und nimmt ein Befehl keine weiteren Parameter, geht für params trotzdem ein leeres Array hinaus.

Kann ich ein Webinar planen, das länger als einen Tag läuft?

Nein, duration zählt in Minuten und darf 1440 nicht überschreiten, also genau einen Tag. Prüfen Sie bei der Gelegenheit die Zeitzone im Profil, denn start schreiben Sie im Format YYYY-MM-DD HH:MM:SS, und gelesen wird es nach dieser Einstellung. profileGet gibt sie als timezone zurück, als Abstand zu GMT in Minuten, GMT+02:00 kommt also als 120 an.

Kann ich auf jedem Plan eine Aufnahme in 2160p verlangen?

Nein, welche Stufe Ihr Konto wirklich nutzen kann, entscheidet Ihr Plan und nicht die API. Der kostenlose Starter nimmt bis 720p auf, bezahlte Pläne unter 500 Teilnehmern bis 1080p, und Pläne ab 500 Teilnehmern reichen bis 2160p. recordQuality selbst nimmt 0 für 480p, 1 für 720p, 2 für 1080p, 3 für 2K und 4 für 2160p. Was in jedem Plan steckt, listet die Preisseite auf.

Meine Referenten fliegen ständig aus dem Raum. Woran liegt das?

Ein Moderatorenlink ist für eine einzige Person gedacht, ein zweiter Eintritt über denselben Link trennt also immer die erste Sitzung. Diese eine Ursache steckt hinter allen drei üblichen Klagen. Man fliegt aus dem Raum, man kommt nicht hinein, oder drinnen sitzt schon jemand unter dem eigenen Namen. Geben Sie jedem Referenten den Link, der für ihn ausgestellt wurde, moderatorsRooms liefert ihn als moderatorLink für jedes Webinar, an dem er hängt.

Jetzt loslegen

Bereit für Webinare, die wirklich überzeugen?

Wir helfen seit 2013 dabei, Webinare durchzuführen. Der Start ist völlig kostenlos

Für immer kostenlos • Keine Kreditkarte • Einrichtung in 2 Min.