Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Automatically translated by Lango

DifficultySchwierigkeitsgrad: expertExperte

Go to
Content

Inhalt

Table of Contents
minLevel1
maxLevel1

Learning Objectives

After reading this article, you’ll be able to:

  • understand what Workplace APIs can do

  • test Workplace APIs

API stands for Application Programming Interface and allows easy exchange of data and functionality. The Workplace API documentation (Swagger) is available in a separate tab in the GO menu.

How to access Workplace API

Lernziele

Nach der Lektüre dieses Artikels werden Sie in der Lage sein:

  • verstehen, was Workplace APIs leisten können

  • Workplace APIs testen


API steht für Application Programming Interface und ermöglicht den einfachen Austausch von Daten und Funktionen. Die Workplace-API-Dokumentation (Swagger) ist auf einer separaten Registerkarte im GO-Menü verfügbar.

Wie man auf Workplace API zugreift

The option appears only for users who have a developer or admin role assigned to them. See Roles & Profiles for more information.

Image Removed

To use the APIs in your own projects (eg postman), you might be interested to use the swagger.json-link. As you can see in the screenshot, "latest" page opens per default, but this is of course subject to change.

NoteUse numbered versions (eg
  • Anmeldung mit Ihren Anmeldedaten

Diese Option wird nur für Benutzer angezeigt, denen eine Entwickler- oder Administratorrolle zugewiesen ist. Siehe Roles and Profiles für weitere Informationen.

Image Added

Um die APIs in Ihren eigenen Projekten zu verwenden (z. B. postman), sollten Sie den swagger.json-Link verwenden. Wie Sie auf dem Screenshot sehen können, wird standardmäßig die Seite "latest" geöffnet, aber das kann sich natürlich ändern.

Note

Verwenden Sie nummerierte Versionen (z.B. https://go.cobundu.com/rest/v3/docs) to avoid conflicts.

Using a specific version has the advantage of being able to compare API versions in future

, um Konflikte zu vermeiden.

Die Verwendung einer bestimmten Version hat den Vorteil, dass man in Zukunft API-Versionen vergleichen kann.

image-20240524-135305.png

Note

For every API method, make sure to chose the latest version

Status Stellen Sie sicher, dass Sie für jede API-Methode die neueste Version wählen.

Stand September 2024

Testing the

Testen der API:

examples

It's possible to try out/test the Workplace API. Depending on the request, you might need to fill in some information first.

Example 1. Get the list of sensor devices

  1. Select "Try it out",

  2. then "Execute",

  3. to get a list of all sensor devices currently linked to this tenant.

As you can see in the example, each sensor channel (eg humidity, temperature and CO2 in a comfort sensor) is delivered separately.

image-20240524-135529.pngImage Removed

Example 2. Get the current sensor data for a location

  1. Select "Try it out",

  2. Add the mandatory location ID

  3. then "Execute",

  4. to get the current sensor data of all sensors that are linked to that location.

As you can see in the example, 1 comfort sensor is linked to the requested location. Therefore all channel values available for this sensor (temperature and humidity in this case) are delivered, as well as the timestamp for which these values were received.

image-20240524-135801.pngImage Removed
Below examples mention “location ID”. Selecting a location on

Beispiele

Es ist möglich, die Workplace API auszuprobieren/zu testen. Je nach Anfrage müssen Sie möglicherweise zunächst einige Informationen eingeben.

Beispiel 1. Abrufen der Liste der Sensorgeräte

  1. Wählen Sie "Probieren Sie es aus",

  2. dann "Ausführen",

  3. um eine Liste aller Sensorgeräte zu erhalten, die derzeit mit diesem Mieter verbunden sind.

Wie Sie im Beispiel sehen können, wird jeder Sensorkanal (z.B. Luftfeuchtigkeit, Temperatur und CO2 in einem Komfortsensor) separat geliefert.

image-20240524-135529.pngImage Added

Beispiel 2. Abrufen der aktuellen Sensordaten für einen Standort

  1. Wählen Sie "Probieren Sie es aus",

  2. Hinzufügen der obligatorischen Standort-ID

  3. dann "Ausführen",

  4. um die aktuellen Sensordaten aller Sensoren zu erhalten, die mit diesem Ort verbunden sind.

Wie Sie im Beispiel sehen können, ist 1 Komfortsensor mit dem angefragten Ort verknüpft. Daher werden alle für diesen Sensor verfügbaren Kanalwerte (in diesem Fall Temperatur und Luftfeuchtigkeit) geliefert, sowie der Zeitstempel, zu dem diese Werte empfangen wurden.

image-20240524-135801.pngImage Added

In den folgenden Beispielen wird die "Standort-ID" erwähnt. Auswählen eines Ortes auf https://go.cobundu.com/ will show the Reference, e.g. "Meeting Room wird die Referenz angezeigt, z. B. "Besprechungsraum 1". But in the Workplace back-end, each location has a unique location Im Workplace-Backend hat jedoch jeder Standort eine eindeutige Standort-ID.

Info

Location ID is available in the Workplace back-end Die Standort-ID ist im Workplace-Backend verfügbar. https://studio.cobundu.com URL for each selected location.

For example the Location ID for floor “2nd floor” in Spacewell Antwerp offices is “910000000004545”

Image Removed

Example 3. Reservations

To retrieve the reservations from your environment, you can use

für jeden ausgewählten Standort.

Zum Beispiel lautet die Standort-ID für die Etage "2nd floor" in den Spacewell-Büros in Antwerpen "910000000004545".

Image Added

Beispiel 3. Reservierungen

Um die Reservierungen aus Ihrer Umgebung abzurufen, können Sie Reservations API > "get a list of bookings" verwenden.
Modify dates in the search instruction and to get (filtered) reservations, each including the location ID, thus indicating which location was booked.
Enter location IDs in the search filter to get filtered data.

Example 4. Get location information

Selecting a location on

Ändern Sie die Daten in der Suchanweisung, um (gefilterte) Reservierungen zu erhalten, die jeweils die Standort-ID enthalten und somit angeben, welcher Standort gebucht wurde.
Geben Sie Standort-IDs in den Suchfilter ein, um gefilterte Daten zu erhalten.

Beispiel 4. Abrufen von Standortinformationen

Auswählen eines Ortes auf https://go.cobundu.com/ will show the Reference, e.g. "Meeting Room wird die Referenz angezeigt, z. B. "Besprechungsraum 1". But in the Workplace back-end, each location has a unique location Im Workplace-Backend hat jedoch jeder Standort eine eindeutige Standort-ID.Locations API can help you get that information.
Depending on what is needed:

  • get a list of locations for this client


  • request specific location information (for example information on a set of workplaces

    Die Standort-API kann Ihnen helfen, diese Informationen zu erhalten.
    Je nachdem, was benötigt wird:

    • eine Liste der Standorte für diesen Kunden erhalten

    • spezifische Standortinformationen anfragen (z. B. Informationen über eine Reihe von Arbeitsplätzen): "get location tree" (filter top-level results = workplaceFilter der obersten Ergebnisstufe = Workplace)

    Example Beispiel 5. Floor planTo get a Workplace floor plan, select Grundriss

    Um einen Workplace-Grundriss zu erhalten, wählen Sie API Locations > "get a location's drawing as SVG"
    The requested location ID in this case is the floor .
    Die angefragte Standort-ID ist in diesem Fall die Etagen-ID.
    "Testing" in swagger will provide a response, but it cannot show the SVG. Enter the floor location ID in following URL to see the SVGSwagger liefert eine Antwort, kann aber das SVG nicht anzeigen.

    Geben Sie die ID der Etage in die folgende URL ein, um die SVG zu sehen: https://go.eu1.cloud.cobundu.com/rest/v3/locations/floor location Etagenstandort-ID/drawingZeichnung/svg

    Concrete use case: URL to show live floorplan

    Imagine you want to push a URL to your kiosk screens to visualize Workplace live floorplan data.

    Here, we suggest to provide an access token with a URL, so that anyone with the link can see the live floorplan.

    Alternative methods and Frequently Asked Questions about this can be found here

    Konkreter Anwendungsfall: URL zur Anzeige eines Live-Grundrisses

    Stellen Sie sich vor, Sie möchten eine URL an Ihre Kioskbildschirme senden, um Workplace Live-Grundrissdaten zu visualisieren.

    Hier schlagen wir vor, ein Zugriffstoken mit einer URL bereitzustellen, so dass jeder, der den Link hat, den Live-Grundriss sehen kann.

    Alternative Methoden und häufig gestellte Fragen zu diesem Thema finden Sie hier: Workplace live floorplan data visualization

    The below suggested dedicated method includes web authentication via Rest API. This means a Workplace login + password are needed, and the API will return a JWT token which can be used to access all other API calls. For an authorization-related action we have the COBUNDU Authorization service. It has public Swagger UI (and Die unten vorgeschlagene dedizierte Methode beinhaltet eine Web-Authentifizierung über die Rest-API. Dies bedeutet, dass ein Workplace-Login und ein Passwort erforderlich sind und die API ein JWT-Token zurückgibt, das für den Zugriff auf alle anderen API-Aufrufe verwendet werden kann. Für eine autorisierungsbezogene Aktion haben wir den COBUNDU Autorisierungsdienst. Er hat eine öffentliche Swagger UI (und einen swagger.json-link) available at , die unter https://login.cobundu.com/rest/v2/docs. You may use the API via Sie können die API über Swagger UI or Postman, or any other tool of your choice. This example is based on our oder Postman oder ein anderes Tool Ihrer Wahl verwenden. Dieses Beispiel basiert auf unserer Swagger UI.

    Note

    For every Stellen Sie sicher, dass Sie für jede auth-based API method, make sure to choose the latest version (status basierte API-Methode die aktuellste Version wählen (Stand September 2024: v2 is the latest, so refer to ist die aktuellste, siehe also https://login.cobundu.com/rest/v2/docs)

    Prerequisites

    Voraussetzungen

    • Web kiosk needs to be configured -Kiosk muss in Studio

    • Per floor for which you want to set up visualization, a Workplace user is needed:

      • Workplace minimum rights/no specific role needed

      • taking into account reservation features set up for this environment

      • User name + password

    • To access API: Workplace user with either Admin or Developer role

    Solution

    Using API to get session token

    Go to
    • konfiguriert werden

    • Pro Etage, für die Sie eine Visualisierung einrichten wollen, wird ein Workplace-Benutzer benötigt:

      • Workplace-Mindestrechte/keine besondere Rolle erforderlich

      • unter Berücksichtigung der für diese Umgebung eingerichteten Reservierungsfunktionen

      • Benutzername + Passwort

    • Für den Zugang zur API: Workplace-Benutzer mit der Rolle Admin oder Entwickler

    Lösung

    Search
    1. API verwenden, um Sitzungs-Token zu erhalten

      1. Gehen Sie zu https://login.cobundu.com/rest/v2/docs (user needs either Admin or Developer role)

        Select

        Benutzer benötigt entweder die Rolle Admin oder Entwickler)

        1. Wählen Sie "auth" > /auth/ssosettings/{loginId} (return sso settings for the user)

        2. Provide user name

        3.  Response body will provide the host name of COBUNDU Auth instance that needs to be used (Workplace IoT Platform is available for EU and US) (could be eg  "apiUrl"gibt sso-Einstellungen für den Benutzer zurück)

        4. Benutzernamen angeben

        5. Der Antwortkörper enthält den Hostnamen der COBUNDU Auth-Instanz, die verwendet werden muss (Workplace IoT Platform ist für die EU und die USA verfügbar) (z. B. "apiUrl"): https://login.eu1.cloud.cobundu.com)

          image-20240910-073257.png
      2. Navigate to the Navigieren Sie zum apiUrl + /rest/v2/docs from previous step that is aus dem vorherigen Schritt, d. h. https://login.eu1.cloud.cobundu.com/rest/v2/docs is this example (user needs either Admin or Developer role)

        Select

        ist dieses Beispiel (der Benutzer benötigt entweder die Rolle Admin oder Entwickler)

        Go to
        1. Wählen Sie "auth" > /auth/login (authenticate user)

        2. Specify username + password that will be used to access live data

        3. Change the login parameter Benutzer authentifizieren)

        4. Geben Sie den Benutzernamen und das Passwort an, die für den Zugriff auf die Live-Daten verwendet werden sollen

        5. Ändern Sie den Anmeldeparameter "rememberme": true

        6. The rest field can be removed. Example (try not to leave a comma in the end of the password lineDas Restfeld kann entfernt werden. Beispiel (versuchen Sie, kein Komma am Ende der Passwortzeile zu lassen):

          image-20240910-073146.png

           Response

        7. body will provide Der Antwortkörper enthält accessToken

          image-20240910-073431.png

        8. Access token is ready to be used

      Prepare Web kiosk URL

        1. Zugangstoken ist bereit zur Verwendung

    2. Web-Kiosk-URL vorbereiten

      1. Gehen Sie zu http://go.cobundu.com (user needs either Admin or Developer roleBenutzer benötigt entweder die Rolle Admin oder Entwickler) > Kiosk Mode

      2. Select the relevant floor > open web kiosk

      3. Web Kiosk URL will have format -Modus

      4. Wählen Sie die entsprechende Etage aus > Web-Kiosk öffnen

      5. Die Web-Kiosk-URL hat das Format https://go.cobundu.com/kiosk/MEETING%7C1d18e8b0-48a7-464c-8813-66608b474d6d

      6. In a browser navigate to Navigieren Sie in einem Browser zu https://go.cobundu.com/rest/serverinfo or oder in Postman make a request to eine Anfrage stellen an https://go.cobundu.com/rest/serverinfo?jwt= and copy/paste accessToken at the end of the und kopieren/einfügen Sie accessToken am Ende der URL

        image-20240910-073939.png

      7. The apiUrl contains a correct cloud end-point for you account (EU or US). Replace Die apiUrl enthält einen korrekten Cloud-Endpunkt für Ihr Konto (EU oder USA). Ersetzen Sie go.cobundu.com in your Ihrer Web-Kiosk URL with this region apiUrl, you'll obtain eg -URL mit dieser Region apiUrl, erhalten Sie z. B. https://go.eu1.cloud.cobundu.com/kiosk/MEETING| ...

      8. Add suffix Fügen Sie das Suffix "?jwt=" and copy/paste accessToken at the end of the URLhinzu und fügen Sie accessToken am Ende der URL ein

      Access this URL (for example in incognito mode), and the web kiosk will open on the chosen floor without asking for identification. A session refresh will run inside the application every 10 minutes.

    3. After the token is obtained, there are 10 minutes to pass it in the URL to open the floor plan.

    4. After the floor plan is loaded, further token renewal will run automatically without session loss or any manual intervention.

    Limitations

    • Web kiosk shows Reservation view (= combined Occupancy and Reservations data (if available))

    • If browser crashes/computer is unplugged: restart the process to get a new access token

    1. Zugang zu dieser URL (z. B. im Inkognito-Modus), und der Webkiosk öffnet sich in der gewählten Etage, ohne dass eine Identifizierung erforderlich ist. Innerhalb der Anwendung wird alle 10 Minuten eine Sitzungsaktualisierung durchgeführt.

      1. Nachdem der Token erhalten wurde, haben Sie 10 Minuten Zeit, um ihn in der URL weiterzugeben und den Grundriss zu öffnen.

      2. Nach dem Laden des Grundrisses erfolgt die weitere Token-Erneuerung automatisch und ohne Sitzungsverluste oder manuelle Eingriffe.

    Beschränkungen

    • Web-Kiosk zeigt Reservierungsansicht (= kombinierte Belegungs- und Reservierungsdaten (falls verfügbar))

    • Wenn der Browser abstürzt/der Computer nicht angeschlossen ist: Starten Sie den Prozess neu, um ein neues Zugriffstoken zu erhalten.


    Suche

    Live Search