Rest API
Moeilijkheidsgraad: expert
Leerdoelen
Na het lezen van dit artikel zul je in staat zijn om:
begrijpen wat Workplace API's kunnen doen
Workplace API's testen
API staat voor Application Programming Interface en maakt eenvoudige uitwisseling van gegevens en functionaliteit mogelijk. De Workplace API documentatie (Swagger) is beschikbaar in een apart tabblad in het GO menu.
Toegang krijgen tot Workplace API
Ga naar Workplace
Inloggen met je gegevens
De optie verschijnt alleen voor gebruikers met een ontwikkelaars- of beheerdersrol. Zie Roles and Profiles voor meer informatie.
Om de API's in je eigen projecten te gebruiken (bijvoorbeeld postman), is het misschien interessant om de swagger.json-link te gebruiken. Zoals je in de schermafbeelding kunt zien, wordt de "nieuwste" pagina standaard geopend, maar dit kan natuurlijk veranderen.
Gebruik genummerde versies (bijv. https://go.cobundu.com/rest/v3/docs) om conflicten te vermijden.
Het gebruik van een specifieke versie heeft het voordeel dat je in de toekomst API-versies kunt vergelijken.
Zorg ervoor dat u voor elke API-methode de nieuwste versie kiest
Status september 2024
GO API: v3 is de nieuwste, dus raadpleeg https://go.cobundu.com/rest/v3/docs
op auth gebaseerde API: v2 is de nieuwste, dus raadpleeg https://login.cobundu.com/rest/v2/docs
De API testen: voorbeelden
Het is mogelijk om de Workplace API uit te proberen/te testen. Afhankelijk van het verzoek moet je misschien eerst wat informatie invullen.
Voorbeeld 1. De lijst met sensorapparaten ophalen
Selecteer "Uitproberen",
en vervolgens "Uitvoeren",
om een lijst te krijgen van alle sensorapparaten die momenteel aan deze huurder zijn gekoppeld.
Zoals je in het voorbeeld kunt zien, wordt elk sensorkanaal (bv. vochtigheid, temperatuur en CO2 in een comfortsensor) afzonderlijk geleverd.
Voorbeeld 2. De huidige sensorgegevens voor een locatie ophalen
Selecteer "Uitproberen",
Voeg de verplichte locatie-ID toe
en vervolgens "Uitvoeren",
om de huidige sensorgegevens op te halen van alle sensoren die gekoppeld zijn aan die locatie.
Zoals je in het voorbeeld kunt zien, is er 1 comfortsensor gekoppeld aan de opgevraagde locatie. Daarom worden alle beschikbare kanaalwaarden voor deze sensor (temperatuur en vochtigheid in dit geval) geleverd, evenals de tijdstempel waarvoor deze waarden werden ontvangen.
In de onderstaande voorbeelden wordt "locatie-ID" genoemd. Een locatie selecteren op Workplace wordt de referentie weergegeven, bijvoorbeeld "Vergaderzaal 1". Maar in de back-end van Workplace heeft elke locatie een unieke locatie-ID.
Locatie-ID is beschikbaar in de back-end van Workplace https://studio.cobundu.com URL voor elke geselecteerde locatie.
Bijvoorbeeld de Locatie ID voor verdieping "2e verdieping" in Spacewell Antwerpen is "910000000004545".
Voorbeeld 3. Reserveringen
Om de reserveringen uit je omgeving op te halen, kun je Reservations API > "een lijst met reserveringen ophalen" gebruiken.
Wijzig de datums in de zoekinstructie om (gefilterde) reserveringen te krijgen, elk met de locatie-ID, om zo aan te geven welke locatie is geboekt.
Voer locatie-id's in het zoekfilter in om gefilterde gegevens te krijgen.
Voorbeeld 4. Locatie-informatie opvragen
Een locatie selecteren op Workplace wordt de referentie weergegeven, bijvoorbeeld "Vergaderzaal 1". Maar in de back-end van Workplace heeft elke locatie een unieke locatie-ID.
Locations API kan je helpen die informatie te krijgen.
Afhankelijk van wat er nodig is:
een lijst met locaties krijgen voor deze klant
specifieke locatie-informatie opvragen (bijvoorbeeld informatie over een reeks werkplekken): "get location tree" (filter top-level resultaten = workplace)
Voorbeeld 5. Plattegrond
Selecteer API Locations > "get a location's drawing as SVG" om een plattegrond van Workplace te krijgen.
De gevraagde locatie-ID is in dit geval de verdiepings-ID.
"Testen" in swagger geeft een antwoord, maar kan de SVG niet weergeven.
Voer de vloerlocatie-ID in de volgende URL in om de SVG te zien: https://go.eu1.cloud.cobundu.com/rest/v3/locations/vloer locatie ID/tekeningen/svg
Concrete use case: URL om live plattegrond te tonen
Stel je voor dat je een URL naar je kioskschermen wilt pushen om Workplace live plattegrondgegevens te visualiseren.
Hier stellen we voor om een toegangstoken met een URL te geven, Zodat iedereen met de link de live plattegrond kan zien.
Alternatieve methoden en veelgestelde vragen hierover vind je hier: Workplace live floorplan data visualization
De hieronder voorgestelde speciale methode omvat webauthenticatie via Rest API. Dit betekent dat een Workplace login + wachtwoord nodig zijn, en de API zal een JWT token teruggeven dat kan worden gebruikt om toegang te krijgen tot alle andere API-aanroepen. Voor een autorisatie-gerelateerde actie hebben we de COBUNDU Authorization service. Deze heeft een openbare Swagger UI (en swagger.json-link) beschikbaar op https://login.cobundu.com/rest/v2/docs. Je kunt de API gebruiken via Swagger UI of Postman, of een andere tool naar keuze. Dit voorbeeld is gebaseerd op onze Swagger UI.
Vereisten
Webkiosk moet worden geconfigureerd in Studio
Per verdieping waarvoor je visualisatie wilt instellen, is een Workplace gebruiker nodig:
Minimale rechten op de Workplace/geen specifieke rol nodig
rekening houdend met reserveringsfuncties die zijn ingesteld voor deze omgeving
Gebruikersnaam + wachtwoord
Om toegang te krijgen tot API: Workplace gebruiker met een Admin of Developer rol
Oplossing
API gebruiken om sessietoken te krijgen
Ga naar https://login.cobundu.com/rest/v2/docs (gebruiker moet de rol Admin of Developer hebben)
Selecteer "auth" > /auth/ssosettings/{loginId} (retourneer sso-instellingen voor de gebruiker)
Geef gebruikersnaam
De respons geeft de hostnaam van de COBUNDU Auth-instantie die moet worden gebruikt (Workplace IoT Platform is beschikbaar voor de EU en de VS) (kan bijvoorbeeld "apiUrl" zijn: https://login.eu1.cloud.cobundu.com)
Navigeer naar de apiUrl + /rest/v2/docs van de vorige stap dat is https://login.eu1.cloud.cobundu.com/rest/v2/docs is dit voorbeeld (gebruiker moet de rol Admin of Developer hebben)
Selecteer "auth" > /auth/login (gebruiker authenticeren)
Geef de gebruikersnaam + het wachtwoord op dat wordt gebruikt om toegang te krijgen tot live gegevens
Wijzig de aanmeldparameter "rememberme": true
Het restveld kan worden verwijderd. Voorbeeld (probeer geen komma aan het einde van de wachtwoordregel te laten staan):
De respons bevat accessToken
Toegangstoken is klaar voor gebruik
URL voor webkiosk voorbereiden
Ga naar http://go.cobundu.com (gebruiker heeft de rol van beheerder of ontwikkelaar nodig) > Kioskmodus
Selecteer de relevante verdieping > open webkiosk
Web Kiosk URL heeft het volgende formaat https://go.cobundu.com/kiosk/MEETING%7C1d18e8b0-48a7-464c-8813-66608b474d6d
Navigeer in een browser naar https://go.cobundu.com/rest/serverinfo of in Postbode een verzoek indienen bij https://go.cobundu.com/rest/serverinfo?jwt= en kopieer/plak accessToken aan het einde van de URL
De apiUrl bevat een correct cloud-eindpunt voor uw account (EU of VS). Vervang go.cobundu.com in je Web Kiosk URL met deze regio apiUrl, krijg je bijv. https://go.eu1.cloud.cobundu.com/kiosk/MEETING ...
Voeg achtervoegsel "?jwt=" toe en kopieer/plak accessToken aan het einde van de URL
Toegang tot deze URL (bijvoorbeeld in incognitomodus) en de webkiosk zal openen op de gekozen verdieping zonder om identificatie te vragen. Elke 10 minuten wordt een sessie vernieuwd binnen de toepassing.
Nadat de token is verkregen, heb je 10 minuten om deze door te geven in de URL om de plattegrond te openen.
Nadat de plattegrond is geladen, wordt het vernieuwen van de token automatisch uitgevoerd zonder sessieverlies of handmatige tussenkomst.
Beperkingen
Webkiosk toont reserveringsweergave (= gecombineerde bezettingsgraad- en reserveringsgegevens (indien beschikbaar))
Als browser crasht/computer is losgekoppeld: herstart het proces om een nieuw toegangstoken te krijgen
Zoek op