Widgets – Eigene Tools im Sitzungsraum

Übersicht

Mit benutzerdefinierten Tools können Integratoren und Entwickler eigene Webseiten-Widgets innerhalb des Besprechungsraums erstellen. Diese Werkzeuge bestehen aus einem Label und einer iFrame-URL.

Konfiguration

Benutzerdefinierte Tools werden in den Systemeinstellungen einer White-Label-Instanz konfiguriert. Eine White-Label-Instanz kann nur eine Konfiguration für benutzerdefinierte Tools haben. Standardmässig ist kein benutzerdefiniertes Tool konfiguriert.

Benutzerdefinierte Tools können entweder als statische iFrame-URL oder über einen API-Endpunkt konfiguriert werden.

iFrame-URL

Eine statische iFrame-Werkzeugkonfiguration besteht aus der iFrame-URL und der Werkzeugbezeichnung:

Benutzerdefinierten Tools iFrame Konfiguration

Der iFrame muss mit HTTPS bereitgestellt werden. Ausserdem muss der Webserver die richtigen CORS-Header senden, damit der Browser den iFrame im Besprechungsraum anzeigen kann.

Das Label ist entweder eine feste Zeichenkette oder eine durch Pipes getrennte Zeichenkette von Übersetzungen. Beispiele:

BezeichnungErklärung
Mein eigenes ToolDie in der Benutzeroberfläche angezeigte Beschriftung lautet immer "Mein eigenes Tool", unabhängig von der Sprache der Benutzeroberfläche des Web-Meetings.
en:My Custom Tool|de-CH:Mein eigenes Tool|fr: Mon outil personnaliséEine Benutzeroberfläche in Englisch zeigt "My Custom Tool", die Benutzeroberfläche in Deutsch zeigt "Mein eigenes Tool" usw. Eine Benutzeroberfläche in Spanisch (eine Sprache, die nicht in der Labelkonfiguration definiert ist) zeigt entweder "Mein eigenes Tool", wenn ein englisches Label verfügbar ist, oder das zuerst definierte Label in der Liste.

Der iFrame wird in den Besprechungsraum mit zusätzlichen Abfrageparametern eingebettet, damit die Entwickler den iFrame in Abhängigkeit von diesen zusätzlichen Abfrageparametern anpassen können. Die der iFrame-URL hinzugefügten URL Parameter sind die folgenden:

URL ParameterErklärung
participantIdDie eindeutige ID des Sitzungsteilnehmenden participant
participantNameDer Name des Teilnehmers
meetingTokenDie Sitzungs-ID in der Form“0000-0000-0000-0000”
meetingIdDie Sitzungs-ID in der Form “5349b4ddd2781d08c09890f3”
moderatorTokenOptional, nur verfügbar, wenn der Benutzer auch Moderator ist.
cultureDer Sprach-Code des Teilnehmers zu dem Zeitpunkt, zu dem der Teilnehmer den Besprechungsraum betritt, z. B. "en" oder "en-US" oder "de-DE", usw.

API

Die API-Definition des benutzerdefinierten Tools ermöglicht mehr Flexibilität auf Seiten des Entwicklers. Der Entwickler kann für jeden Teilnehmer entscheiden, ob ein Tool angezeigt werden soll oder nicht, und welches Tool angezeigt werden soll. Es ist sogar möglich, mehrere separate Werkzeuge zu definieren (bis zu 5).

Das API-Tool muss in den Systemeinstellungen einer White-Label-Instanz konfiguriert werden:

Benutzerdefinierten Tools API Konfiguration

Nach der Konfiguration ruft die API des Web-Meeting-Servers diesen Endpunkt für jeden Teilnehmer auf, der dem Meeting beitritt, um die Liste der Tools abzurufen, die diesem speziellen Teilnehmer angezeigt werden sollen.

Der Arbeitsablauf ist wie unten dargestellt zusammengefasst:

Benutzerdefinierten Tools API Workflow

Die vom Web-Meeting-Server initiierte API-Anfrage ist eine HTTP-GET-Anfrage mit den folgenden URL Parametern:

URL ParameterErklärung
participantIdDie eindeutige ID des Sitzungsteilnehmenden participant
participantNameDer Name des Teilnehmers
meetingTokenDie Sitzungs-ID in der Form“0000-0000-0000-0000”
meetingIdDie Sitzungs-ID in der Form “5349b4ddd2781d08c09890f3”
moderatorTokenOptional, nur verfügbar, wenn der Benutzer auch Moderator ist.

Das in der Systemkonfiguration definierte API-Geheimnis wird als HTTP-Header “X-API-KEY” übermittelt.

Die API-Anforderung erwartet einen HTTP 200-Antwortcode und ein JSON-Array-Objekt, das aus einer Liste von Tool-Objekten besteht. Ein Werkzeugobjekt ist definiert als:

Parameter NameErklärung
iFrameUrlEine URL eines anzuzeigenden iFrames
toolIconSVG-String
labelsEin Array von "label"-Objekten

Ein "label"-Objekt ist definiert als

Parameter NameErklärung
cultureDer Sprach-Code des Labels, z. B. “en” or “en-US” or “de-DE”, etc
labelString, die angezeigte Beschriftung, z. B. "Mein eigenes Tool".

Beispiel Anfrage:

curl 'https://<CUSTOM-TOOL-API-URL>?participantId=XXXXX\
&participantName=Joe%20Doe&meetingId=0000-0000-0000-0000\
&meetingToken=YYYYY&culture=en' \
  -H 'X-API-KEY: <CUSTOM-TOOL-API-Key>' \
  -H 'accept: application/json, text/plain, */*'

Beispiel Antwort:

[
  {
    "iFrameUrl": "https://www.example.com/custom-tool-1",
    "toolIcon": "<svg>…</svg>",
    "labels": [
      {
        "culture": "en-US",
        "label": "Custom tool 1"
      },
      {
        "culture": "de",
        "label": "Spezialtool 1"
      }
    ]
  }
]

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

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

+1 646 583 2652