Parameter in der URL

Übersicht

Mit Query-Parametern richten Sie einen Meetingraum direkt über dessen URL ein. Sie steuern damit einen eingebetteten Raum, ohne eine Zeile Code zu schreiben. Besonders nützlich sind sie, wenn Sie den Raum als iFrame in Ihre eigene Anwendung einbinden.

Sie hängen die Parameter an eine Meeting-URL an:

https://<DOMAIN-NAME>/meeting/<MEETING-ID>?participantName=Test%20User&meetingPassword=1234

URL-codieren Sie jeden Wert. Ein Name mit einem Leerzeichen, eine E-Mail-Adresse oder jeder Wert mit & oder = zerstört sonst den Rest der URL.

Für boolesche Parameter schreiben Sie die Strings true oder false.

Verwendung mit einem KI-Assistenten

Wenn Sie mit einem KI-Coding-Assistenten arbeiten, können Sie den folgenden Text in Ihren Assistenten kopieren und mit einem Satz ergänzen, der beschreibt, was Sie programmieren möchten.

Der Prompt verweist auf unsere Entwicklerdokumentation, die wir für Coding-Assistenten in einer separaten, token-optimierten KI-Version ausliefern.

Lies zuerst diese Seite, bevor Du Code schreibst:
https://www.veeting.com/de/developer-documentation/query-parameters

Sie dokumentiert die URL-Query-Parameter eines Meetingraums
von Veeting Rooms. Halte Dich an diese fünf Regeln:

1. URL-codiere jeden Wert. Namen und E-Mail-Adressen enthalten
   meist Zeichen, die das verlangen.
2. Boolesche Werte sind die Strings true und false, nicht 1
   oder yes.
3. Parameternamen sind Identifier. Übersetze sie nie, egal in
   welcher Sprache die umgebende Seite verfasst ist.
4. Die Plattform entfernt Token und personenbezogene Daten aus der
   URL. Lies diese Werte darum später nicht aus window.location,
   sondern halte sie in Deiner Anwendung.
5. Verwende nur Parameter, die auf dieser Seite stehen. Erfinde
   keine und nimm keine, die Du in unserem JavaScript-Bundle
   gefunden hast.

Was ich bauen möchte:

Zwei Dinge vorab

Die Plattform entfernt einige Parameter aus der URL. Was einen Token oder personenbezogene Daten mitführt, verschwindet wieder, einige weitere Parameter ebenfalls. Das geschieht entweder sofort oder erst, bevor der Browser navigiert. Das tun wir mit Absicht, damit solche Werte nicht im Browserverlauf, in einem Lesezeichen oder in einem Referer-Header überdauern. Die beiden Listen stehen am Ende dieser Seite. Sie sind relevant, sobald Sie einen Parameter später wieder aus der Adresszeile lesen möchten.

Diese Seite führt nicht jeden Parameter auf, den die Plattform akzeptiert. Die übrigen arbeiten intern, bedienen unsere Support-Tools oder führen Access-Tokens mit, die wir nicht öffentlich beschreiben. Brauchen Sie einen Parameter, der hier fehlt, dann fragen Sie uns. Verlassen Sie sich nicht auf einen, den Sie im Bundle gefunden haben: Für einen undokumentierten Parameter sichern wir Ihnen keine Kompatibilität zu.

Angaben zum Teilnehmer

Mit diesen Parametern füllen Sie den Screen «Sitzung beitreten» vor. Ihre Teilnehmer müssen dann nichts mehr eintippen.

ParameterMögliche WerteStandardBeschreibung
cultureSprach- oder Locale-CodeSprache des BrowsersDie Sprache der Oberfläche. Zulässig ist ein reiner Sprachcode wie de, oder ein Locale wie de-CH oder es-LA. Wie der Raum daraus die Sprache bestimmt, steht unter dieser Tabelle.
participantNameBeliebiger StringleerDer Name des Teilnehmers. Pflicht, sobald skipJoinMeetingScreen auf true steht: Liegt kein Name vor, erscheint der Screen trotzdem. Ein im selben Browser gespeicherter Name von einem früheren Besuch zählt auch.
participantEmailBeliebige E-Mail-AdresseleerDie E-Mail-Adresse des Teilnehmers.
meetingPasswordBeliebiger StringleerDas Meeting-Passwort.
registerEmailBeliebige E-Mail-AdresseleerNur relevant, wenn die Registrierung für ein Testkonto aktiviert ist. Füllt das E-Mail-Feld des Registrierungsformulars vor.
registerFromBeliebiger StringleerNur relevant, wenn die Registrierung für ein Testkonto aktiviert ist. Ergänzt die Benachrichtigung an den Systemadministrator um ein Feld «from». So sehen Sie, woher eine Registrierung stammt.

So bestimmt der Raum die Sprache. Es gilt die erste Regel, die zutrifft:

  1. Bietet Ihre Instanz genau den Code aus culture an, gilt dieser. Ein reines de bietet eine Instanz standardmässig an, de bleibt also de.
  2. Bietet die Instanz genau die Hauptsprache des Browsers an, gilt diese.
  3. Ein reiner Code wird auf ein festes Locale abgebildet, sofern die Instanz es anbietet: en -> en-US, de -> de-CH, es -> es-LA.
  4. Dieselbe feste Zuordnung, angewendet auf die Hauptsprache des Browsers.
  5. Die alphabetisch erste Sprache, die die Instanz anbietet.

In den Fällen 1 und 3 überschreibt culture eine Sprache, die der Teilnehmer bei einem früheren Besuch im selben Browser gewählt hat. In den Fällen 2, 4 und 5 gewinnt diese frühere Wahl.

Zugriff und Authentifizierung

ParameterMögliche WerteStandardBeschreibung
moderatorTokenGültiger Moderatoren-TokenleerGibt dem Teilnehmer Moderationsrechte im Meeting.
invisibleTokenGültiger Invisible-TokenleerDer Teilnehmer tritt bei, ohne im Meeting sichtbar zu sein, und empfängt Audio und Video, ohne selbst etwas zu senden. TV-Screens und die Regie nutzen ihn, siehe «TV-Screens und Regie» weiter unten.
jwtTokenBeliebiger JWTleerDer Authentifizierungs-Token eines Users. Verwenden Sie ihn, wenn sich Ihre User in einem Drittsystem anmelden.
meetingAccessHashGültiger Zugangs-HashleerFührt das Meeting-Passwort mit, damit der Teilnehmer es nicht eintippen muss. Genau diesen Wert setzt Veeting in die Links seiner E-Mails.

Die Tokens eines Meetings sind Felder des Meeting-Objekts. Rufen Sie das Meeting über die REST API ab und nehmen Sie data.moderatorToken, data.invisibleToken oder data.backstageToken aus der Antwort.

Hinweis: Diese Werte sind Zugangsdaten. Geben Sie sie nur an Personen weiter, die sie haben sollen. Deshalb entfernt die Plattform moderatorToken, invisibleToken, backstageToken und jwtToken wieder aus der URL, siehe «Parameter, die die Plattform entfernt» weiter unten. meetingAccessHash und meetingPassword entfernt sie nicht: Sie bleiben in der Adresszeile und landen damit im Browserverlauf, in Lesezeichen und in jedem Referer-Header.

Der Screen «Sitzung beitreten»

ParameterMögliche WerteStandardBeschreibung
skipJoinMeetingScreentrue, falsefalseÜberspringt den Screen «Sitzung beitreten» vollständig.
WICHTIG: Geben Sie participantName ebenfalls mit. Ohne Namen wird der Screen nicht übersprungen: Der Teilnehmer sieht ihn und gibt seinen Namen ein.
skipDeviceTestOnJointrue, falsefalseSetzt den Standardwert der Option «Gerätetest». Der Teilnehmer kann die Option weiterhin ändern.
hideDeviceTestSectiontrue, falsefalseBlendet den Abschnitt «Gerätetest» aus, aber nur, wenn der Gerätetest übersprungen wird (skipDeviceTestOnJoin=true oder die gespeicherte Einstellung des Teilnehmers). Sonst bewirkt der Parameter nichts. Ausgeblendet heisst nur unsichtbar: Was die Option bewirkt, bleibt unverändert.
hideJoinModeSectiontrue, falsefalseBlendet den Abschnitt «Beitrittsmodus» aus. Setzen Sie zusätzlich joinType, damit der Modus feststeht.
hideConsentSectiontrue, falsefalseBlendet die Einwilligungs-Checkbox aus.
WICHTIG: Sie bleiben dafür verantwortlich, die Einwilligung anderweitig einzuholen.
hideLegalAndComplianceSectiontrue, falsefalseBlendet den Abschnitt zu Recht und Compliance aus, also die Links zu Impressum und Datenschutz.
disableNameInputtrue, falsefalseDeaktiviert das Eingabefeld für den Namen.
disableEmailInputtrue, falsefalseDeaktiviert das Eingabefeld für die E-Mail-Adresse.
disablePasswordInputtrue, falsefalseDeaktiviert das Eingabefeld für das Meeting-Passwort.

Darstellung und Medien

ParameterMögliche WerteStandardBeschreibung
meetingRoomLayoutstandard, video-only, collaboration-onlystandardLegt fest, ob der Raum Video, die Kollaborations-Tools oder beides zeigt.
joinTypeaudio-only, audio-video, video-only, no-mediaaudio-videoWählt den Beitrittsmodus vor. Kombinieren Sie ihn mit hideJoinModeSection.
mediaDirectionreceiveonly, sendonlyleerSchränkt ein, in welche Richtung Medien fliessen. Ohne diesen Parameter sendet und empfängt der Raum, und das ist der Standard. Jeden anderen Wert ignoriert die Plattform.
cameraDirectionuser, environmentleerDie Standardkamera auf Mobiltelefonen. user ist die Frontkamera, environment die Kamera auf der Rückseite.
videoResolution1280x960, 1280x720, 960x720, 960x540, 640x480, 640x360, 320x240, 320x180Standard des KontosDie Auflösung des ausgehenden Videos.
disableIncomingVideotrue, falsefalseDer Teilnehmer tritt bei, ohne das Video der anderen zu empfangen. Das hilft bei schmalbandigen Verbindungen.
hideCollaborationHeadertrue, falsefalseBlendet die Kopfzeile über dem Kollaborationsbereich aus. Ein eingebetteter Raum gewinnt so nutzbare Höhe.
enableDarkModetrue, falsefalseStellt den Meetingraum im Dark Mode dar.
enableTVModetrue, falsefalseBetreibt den Raum unbeaufsichtigt auf einem TV- oder Wandbildschirm.
WICHTIG: Der TV-Modus hat Vorrang vor anderen Parametern: Der Raum empfängt nur noch Audio und Video und sendet selbst nichts, enableFollowMe ist aus, moderatorToken und jwtToken werden ignoriert, die Abschnitte «Beitrittsmodus» und «Gerätetest» sind ausgeblendet. Eine neue Version übernimmt der Raum ausserdem von sich aus, als hätten Sie autoApplyUpdates gesetzt. Ein TV-Screen tritt mit invisibleToken bei, siehe «TV-Screens und Regie» weiter unten.

TV-Screens und Regie

Zwei Arten von Teilnehmern treten einem Meeting bei, ohne sichtbar zu sein: ein TV-Screen, der das Meeting an einer Wand oder auf einer Bühne zeigt, und die Regie, die das Meeting aus dem Hintergrund steuert. Beide verwenden invisibleToken.

TV-Screens

Ein TV-Screen kombiniert enableTVMode mit invisibleToken:

https://<DOMAIN-NAME>/meeting/<MEETING-ID>?enableTVMode=true&invisibleToken=<INVISIBLE-TOKEN>

Standardmässig zeigt ein TV-Screen die Inhalte des Meetingraums erst, wenn auch die regulären Teilnehmer sie sehen. Sollen die Inhalte schon erscheinen, sobald Organisatoren und Moderatoren das Meeting vorbereiten können, also rund 60 Minuten vor Beginn, dann ergänzen Sie backstageToken:

https://<DOMAIN-NAME>/meeting/<MEETING-ID>?enableTVMode=true&invisibleToken=<INVISIBLE-TOKEN>&backstageToken=<BACKSTAGE-TOKEN>
ParameterMögliche WerteStandardBeschreibung
backstageTokenGültiger Backstage-TokenleerEin TV-Screen zeigt die Inhalte des Meetingraums damit schon ab Beginn der Vorbereitungszeit. Der Token ergänzt nur invisibleToken und bewirkt allein nichts. Ohne enableTVMode=true ignoriert ihn die Plattform.

Regie

Die Regie tritt als Moderator bei, bleibt aber unsichtbar und sendet weder Audio noch Video. Kombinieren Sie dafür invisibleToken mit moderatorToken:

https://<DOMAIN-NAME>/meeting/<MEETING-ID>?invisibleToken=<INVISIBLE-TOKEN>&moderatorToken=<MODERATOR-TOKEN>

Setzen Sie im Regie-Link kein enableTVMode. Der TV-Modus ignoriert moderatorToken, die Regie würde also als TV-Screen ohne Moderationsrechte beitreten.

Geräte

ParameterMögliche WerteStandardBeschreibung
videoInputDeviceIdBeliebiger StringleerDie Geräte-ID der Kamera, die der Raum verwenden soll, sofern verfügbar.
audioInputDeviceIdBeliebiger StringleerDie Geräte-ID des Mikrofons, das der Raum verwenden soll, sofern verfügbar.
audioOutputDeviceIdBeliebiger StringleerDie Geräte-ID des Lautsprechers, den der Raum verwenden soll, sofern verfügbar.

Im Meeting

ParameterMögliche WerteStandardBeschreibung
enableFollowMetrue, falsefalseAktiviert die Funktion «Folge mir». Sie greift nur, wenn der Teilnehmer Organisator oder Moderator ist.
leaveUrlBeliebige URLleerÜberschreibt, wohin der Button «Sitzung verlassen» führt.

Einbettung, Test und Support

ParameterMögliche WerteStandardBeschreibung
localStoragePrefixBeliebiger StringleerStellt jedem Key, den Veeting in den localStorage schreibt, ein Präfix voran. Setzen Sie diesen Parameter, wenn Sie mehrere Veeting-Anwendungen auf demselben Origin einbetten. So kollidieren ihre gespeicherten Zustände nicht.
testWithoutRenderingMediatrue, falsefalseNur zu Testzwecken: Sendet und empfängt Streams, ohne Audio und Video darzustellen.
enableDebugLogstrue, falsefalseSchaltet das ausführliche Logging in der Browserkonsole ein. Setzen Sie diesen Parameter, wenn wir Ihnen bei einer Diagnose helfen.
autoApplyUpdatestrue, falsefalsePrüft alle 30 Minuten, ob eine neue Version bereitsteht. Bei einer Version, die sonst zum Update auffordern würde, lädt der Client die Seite ohne Rückfrage neu, nach einer zufälligen Verzögerung von bis zu 5 Minuten. Im Meeting, auch auf dem Screen «Sitzung beitreten», wartet der Reload, bis der Teilnehmer es verlässt, höchstens aber 2 Stunden; dann lädt der Client neu und tritt dem Raum automatisch wieder bei. Höchstens 5 Reloads pro Stunde verhindern eine Reload-Schleife. Setzen Sie diesen Parameter für unbeaufsichtigte Bildschirme, vor denen niemand die Rückfrage beantwortet. Ein Raum mit enableTVMode verhält sich ohnehin so.

Parameter, die die Plattform entfernt

Die Plattform entfernt zwei Gruppen von Parametern aus der URL. Beides ist kein Fehler, überrascht Sie aber, sobald Sie einen Wert später wieder aus window.location lesen möchten.

Immer sofort entfernt. Diese bleiben nicht in der Adresszeile, mit der einen unten beschriebenen Ausnahme:

meetingAccessToken
meetingAccessRequestToken
meetingChallengeCode

Entfernt, bevor der Browser navigiert. Die Plattform liest diese Werte zuerst und löscht sie dann. So gelangen sie nicht über den Browserverlauf, ein Lesezeichen oder einen Referer-Header an Dritte:

skipJoinMeetingScreen   jwtToken          moderatorToken
invisibleToken          backstageToken    interpreterToken
authenticationSkipToken participantName   participantUuid
participantEmail

Die Ausnahme ist ein unbeaufsichtigter Client. Läuft ein Client mit enableTVMode oder autoApplyUpdates auf true und lädt er im Meeting wegen eines Updates automatisch neu, schreibt er alle Parameter, mit denen er geöffnet wurde, zurück in die Adresszeile, Tokens eingeschlossen. Damit tritt er dem Raum wieder bei. Der Reload ersetzt den aktuellen Eintrag im Verlauf, statt einen neuen anzulegen. Unabhängig davon schaltet forcePreserveQueryParameters auf true das Entfernen vor der Navigation ab.

Brauchen Sie einen Wert nach dem Beitritt, dann halten Sie ihn in Ihrer eigenen Anwendung. Lesen Sie ihn nicht wieder aus der URL.

Häufige Fehler

  • Einen Wert nicht URL-codieren. Meist ist es ein Leerzeichen in participantName.
  • skipJoinMeetingScreen=true ohne participantName setzen und erwarten, dass der Screen übersprungen wird. Liegt kein Name vor, sieht der Teilnehmer ihn trotzdem.
  • Den Abschnitt zur Einwilligung ausblenden und die Einwilligung damit für erledigt halten.
  • moderatorToken oder participantName nach dem Laden des Meetingraums noch in der URL erwarten.
  • backstageToken senden, aber enableTVMode=true oder invisibleToken weglassen. Für sich allein bewirkt der Token nichts.
  • enableTVMode in den Regie-Link setzen. Der TV-Modus ignoriert moderatorToken.
  • 1 oder yes als booleschen Wert senden. Erkannt werden nur true und false.
  • Einen Parameternamen übersetzen. Parameternamen sind Identifier und immer englisch.
  • Einen undokumentierten Parameter aus dem Bundle verwenden, für den wir keine Kompatibilität zusichern.

Sind Sie nicht sicher, wie Sie Ihr Projekt am Besten umsetzen sollen?

Sprechen Sie mit unserem Team über Ihre Pläne.