REST API: testen en probleemoplossing

Moeilijkheidsgraad: expert

Leerdoelen

Na het lezen van dit artikel kun je:

  • Workplace-API’s testen

Testvoorbeelden

Je kunt API’s proberen; sommige vragen extra invoer.

Voorbeeld 1. Sensorlijst

  1. Try it out,
  2. Execute,
  3. voor alle tenantsensoren.

Elk kanaal, zoals vochtigheid, temperatuur en CO2, afzonderlijk geleverd.

image-20240524-135529.png

Voorbeeld 2. Actuele locatiegegevens

  1. Try it out,
  2. Verplicht locatie-ID
  3. Execute,
  4. voor gekoppelde sensoren.

Voorbeeldcomfortsensor levert alle beschikbare temperatuur-/vochtigheidswaarden en ontvangsttijd.

image-20240524-135801.png

Locatiekeuze op https://go.cobundu.com/ toont referentie zoals Meeting Room 1, maar backend gebruikt uniek ID.

Info

Locatie-ID staat in backend- https://studio.cobundu.com URL bij de gekozen locatie.

Voorbeeld 2nd floor Antwerpen: 910000000004545

image-20221004-082232.png

Voorbeeld 3. Reserveringen

Reservations API > get a list of bookings.
Datums aanpassen voor gefilterde reserveringen met locatie-ID.
Locatie-ID’s als filter.

Voorbeeld 4. Locatiegegevens

Selectie op https://go.cobundu.com/ toont referentie, backend uniek ID.


Locations API levert deze informatie.
Volgens behoefte:

  • Alle clientlocaties
  • Get location tree, bijvoorbeeld filter workplace voor werkplekken
image-20221004-083233.png

Voorbeeld 5. Plattegrond

Locations > get a location's drawing as SVG
Gebruik verdieping-ID.
Swagger geeft antwoord maar toont geen SVG.

Voer verdieping-ID in deze URL in: https://go.eu1.cloud.cobundu.com/rest/v3/locations/verdiepingslocatie-ID/drawing/svg

image-20221004-081231.png

Voorbeeld 6. Sensorwaarden

Zie REST API - GET Sensor Values

URL voor liveplattegrond

Een URL naar kioskschermen voor livegegevens.

Hier access token in URL zodat linkhouders de plattegrond zien.

Alternatieven en vragen: Workplace-liveplattegrondgegevens tonen

Deze methode gebruikt REST-authenticatie met Workplace-gebruikersnaam/wachtwoord. Retourneert JWT voor andere API-aanroepen. COBUNDU Authorization heeft openbare Swagger-interface en swagger.json op https://login.cobundu.com/rest/v2/docs. Gebruik Swagger, Postman of andere tool; voorbeeld gebruikt Swagger.

Opmerking

Nieuwste auth-methodeversie gebruiken; status september 2024 v2, zie https://login.cobundu.com/rest/v2/docs)

Vereisten

  • Webkiosk in Studio geconfigureerd
  • Per verdieping een gebruiker:
    • Minimale Workplace-rechten, geen specifieke rol

    • Volgens reserveringsfuncties
    • Gebruikersnaam en wachtwoord
  • API-toegang met Admin of Developer

Oplossing

  1. Sessietoken ophalen
    1. Ga naar https://login.cobundu.com/rest/v2/docs Admin/Developer vereist

      1. Auth > /auth/ssosettings/{loginId}

      2. Gebruikersnaam
      3.  Body geeft juiste EU-/VS-authhost, bijvoorbeeld apiUrl: https://login.eu1.cloud.cobundu.com)
        image-20240910-073257.png
    2. Open apiUrl + /rest/v2/docs uit vorige stap, namelijk https://login.eu1.cloud.cobundu.com/rest/v2/docs in dit voorbeeld; Admin/Developer vereist

      1. Auth > /auth/login

      2. Gebruikersnaam/wachtwoord voor livegegevens
      3. rememberme: true
      4. Overige velden verwijderen; geen afsluitende komma na wachtwoordregel image-20240910-073146.png

      5.  Body geeft accessToken
        image-20240910-073431.png

      6. Token gereed
  2. Webkiosk-URL
    1. Ga naar http://go.cobundu.com Admin/Developer > Kiosk Mode

    2. Verdieping > webkiosk
    3. URL-formaat: https://go.cobundu.com/kiosk/MEETING%7C1d18e8b0-48a7-464c-8813-66608b474d6d
    4. Browser openen op https://go.cobundu.com/rest/serverinfo of Postman-aanvraag naar https://go.cobundu.com/rest/serverinfo?jwt= en accessToken achteraan plakken
      image-20240910-073939.png

    5. apiUrl is correcte EU-/VS-cloud. Vervang go.cobundu.com in kiosk-URL door die regiohost, bijvoorbeeld https://go.eu1.cloud.cobundu.com/kiosk/MEETING| ...
    6. Voeg ?jwt= met accessToken toe
    7. image-20221004-080213.png
  3. Open deze URL bijvoorbeeld incognito: verdieping zonder verdere identificatie. Sessie elke tien minuten vernieuwd.
    1. Na verkrijgen token binnen tien minuten openen.

    2. Daarna automatische vernieuwing zonder sessieverlies of handwerk.

Beperkingen

  • Reserveringsweergave met bezetting/reserveringen indien beschikbaar

  • Na crash/stroomuitval opnieuw token ophalen

Probleemoplossing

Bij 401 met onderstaande body: F5 herladen

image-20241209-150441.png