Algemeen
...
Webservices kunnen gegevens ophalen, aanmaken en bijwerken in een Workplace Management - omgeving.
De Workplace Management API maakt gebruik van een REST-gebaseerd framework. Autorisatie is gebaseerd op Bearer tokens en een vooraf gedeelde sleutel.
...
Momenteel gebruiken deze API's generieke eindpunten. In de toekomst kunnen domeinspecifieke eindpunten worden aangemaakt, zoals het geval is voor het reserveringsdomein.
Expand | ||
---|---|---|
| ||
RandvoorwaardenOm de API's te kunnen gebruiken, gelden enkele randvoorwaarden. Een (technisch) consultant kan helpen met deze randvoorwaarden. Een Workplace beheeromgeving Management omgeving met de volgende subvoorwaarden:
|
Expand | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||
Vereiste parametersDe volgende parameters zijn nodig om de API-oproepen met succes in te stellen:
|
Expand | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||
API OAuth 2.0 autorisatieschemaAlgemeen Om toegang te krijgen tot de bronnen die worden aangeboden door van de Workplace Management REST API, moeten clients eerst een token aanvragen. De procedure hiervoor wordt hieronder beschreven: Type subsidie Dragertokens kunnen worden verkregen met behulp van het OAuth-subsidietype "Resource Owner Password Credentials". Hoewel dit toekennings-type suggereert dat een wachtwoord wordt gebruikt, is dit niet het geval in dit autorisatieschema. In plaats van een wachtwoord moet een token aanvraagbericht worden versleuteld met behulp van een vooraf gedeelde AES-sleutel, die het eindpunt zal valideren, en een token zal worden geretourneerd als de authenticatie slaagt. Brongegevens die worden teruggestuurd door de bron eindpunten zijn afhankelijk van de toegangsrechten van gebruikers tot de relevante bronnen. Bericht voor tokenverzoek Het tokenaanvraagbericht is een JSON-bericht dat de volgende gegevens moet bevatten, waarbij de termen tussen haakjes moeten worden vervangen door hun letterlijke waarden:
Het is mogelijk om de letterlijke alias "axx::access::admin" als gebruikersnaam te gebruiken (zonder de extra aanhalingstekens). Als je dit doet, wordt in plaats van de werkelijke echte gebruikersnaam van de gebruiker die de bronnen aanvraagt, toegang aangevraagd namens de standaard geautoriseerde systeemgebruiker die is gekoppeld aan de (op AES-voorgedeelde sleutel gebaseerde) vertrouwensrelatie die wordt gebruikt door de externe applicatie. Het tokenaanvraagbericht versleutelen Het tokenaanvraagbericht moet nu worden versleuteld met de vooraf gedeelde AES-sleutel, die kan worden gegenereerd in Werkplekbeheer Workplace Management met behulp van AES-CBC-modus, wat resulteert in een cijfertekst en een IV (initialisatievectorinitialiseringsvector). Maak nu een string met het volgende formaat:
Deze resulterende string moet worden verzonden in het eigenlijke tokenverzoek als "encrypted-params"; zie de volgende paragraaf. Maak een echt HTTP-verzoek aan voor het tokeneindpunt Om nu het HTTP-verzoek voor het tokeneindpunt te vormen, moet een
Het verzoek moet ten minste de volgende headers bevatten (waarbij de termen tussen haakjes weer moeten worden vervangen door de werkelijke waarden):
De request body moet formulier URL-gecodeerde gegevens bevatten zoals beschreven in de onderstaande tabel:
Wanneer de server de autorisatieaanvraag toekent, Een voorbeeld van het script kan worden gevonden via de voorbeeld Postman Verzamelingen in het tabblad Pre-request script, dat onderaan dit document kan worden gedownload. |
Expand | ||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||
Overzicht van API'sElk eindpunt bestaat uit een basis URL: Op basis van het type eindpunt wordt het tweede deel van de URL van het eindpunt bepaald: Momenteel zijn er twee soorten eindpunten beschikbaar:
Eindpunt: Voorbeeld eindpunt: https://demotenant.axxerion.com/webservices/demotenant/rest/functions/completereportresult
Eindpunt: Voorbeeld eindpunt: https://demotenant.axxerion.com/webservices/demotenant/rest/functions/Asset/710000000172835 De objectnaam kan "Asset" of "Request" zijn, de ObjectCategoryId is alleen relevant voor Assets (vaste waarde voor Requests). De opties voor assets kunnen worden opgehaald via een van de onderstaande API's. De volgende API's zijn momenteel out of the box beschikbaar: Verkrijg een lijst van organisatiesDeze POST-oproep zal alle organisaties (Eigen organisaties en leveranciers) in de tenant ophalen met de relevante informatie per organisatie. Eindpunt: Lichaam:
De referentie is verplicht; deze bepaalt het juiste rapport dat moet worden uitgevoerd: API_Rapport_Organisaties_01 Beschikbare filtervelden: Het is mogelijk om de organisaties te filteren op basis van een e-mailadres: E-mail Voorbeeldresultaat: Een lijst van personen krijgenDeze POST-oproep zal alle personen in de huurder ophalen met de relevante informatie per persoon. Eindpunt: Lichaam:
De referentie is verplicht; deze bepaalt het juiste rapport dat moet worden uitgevoerd: API_Rapport_Contacten_01 Beschikbare filtervelden: Het is mogelijk om de personen te filteren op basis van een e-mailadres: E-mail Voorbeeldresultaat: Verkrijg een lijst met gebouwenDeze POST-oproep zal alle gebouwen in de huurder ophalen met de relevante informatie per gebouw. Eindpunt: Lichaam:
De referentie is verplicht; deze bepaalt het juiste rapport dat moet worden uitgevoerd: API_Report_Properties_01 Voorbeeldresultaat: Een lijst met gebiedenDeze POST-oproep zal alle gebieden in de huurder ophalen met de relevante informatie per gebied. Eindpunt: Lichaam:
De referentie is verplicht; deze bepaalt het juiste welk rapport dat correct moet worden uitgevoerd: API_Rapport_Areas_01 Beschikbare filtervelden: Het is mogelijk om de gebieden te filteren op basis van een specifiek gebouw: Eigendom Voorbeeldresultaat: Een lijst met activa ophalenDeze POST-oproep zal alle middelen in de huurder ophalen met de relevante informatie per middel. Eindpunt: Lichaam:
De referentie is verplicht; deze bepaalt het juiste welk rapport dat correct moet worden uitgevoerd: API_Report_Asset_01 Beschikbare filtervelden: Het is mogelijk om de activa te filteren op basis van een specifiek gebouw: Gebouw Voorbeeldresultaat: Een lijst met activacategorieën opvragenDeze POST-oproep zal alle activacategorieën in de huurder ophalen. De Id van een activacategorie kan worden gebruikt om een nieuwe asset aan te maken in de gewenste categorie (Zie Een bedrijfsmiddel maken). Bijv. auto, fiets, koffiezetapparaat. Eindpunt: Lichaam:
De referentie is verplicht; deze bepaalt het juiste rapport dat moet worden uitgevoerd: API_Report_Asset_Categories_01 Deze oproep ondersteunt geen extra filtervelden Voorbeeldresultaat: Een lijst met verzoeken ophalen.Deze POST-oproep zal alle verzoeken in de tenant ophalen met de relevante informatie per verzoek. Eindpunt: Lichaam:
De referentie is verplicht; deze bepaalt het juiste welk rapport dat correct moet worden uitgevoerd: API_Report_Requests_01 Beschikbare filtervelden: Het is mogelijk om de verzoeken te filteren op basis van de aanmaaktijden: AangemaaktSinds en AangemaaktTot De volgende filtervelden kunnen ook worden gebruikt (niet weergegeven in de bovenstaande body):
Voorbeeldresultaat: Een lijst met probleemtypen opvragenDeze POST-oproep haalt alle probleemtypes op (een probleemtype wordt gebruikt om het type verzoek te bepalen en welke servicegroep wordt toegewezen om het verzoek af te handelen) in de tenant met de relevante informatie per probleemtype. Eindpunt: Lichaam:
De referentie is verplicht; deze bepaalt het juiste rapport dat moet worden uitgevoerd: API_Report_ProblemTypes_01
Voorbeeldresultaat: Een lijst met leden per servicegroep opvragenDeze POST-oproep zal alle contactpersonen in een servicegroep ophalen (Een servicegroep wordt gebruikt in een probleemtype en zal worden gebruikt om te bepalen welke groep zal worden toegewezen om het verzoek te behandelen) in de tenant huurder met de relevante informatie per servicegroep. Eindpunt: Lichaam:
De referentie is verplicht; deze bepaalt het juiste welk rapport dat correct moet worden uitgevoerd: API_Report_ServiceGroupMembers_01 Deze oproep ondersteunt geen extra filtervelden Voorbeeldresultaat: Een lijst metcorrigerendecorrectieve werkorderskrijgenopvragenDeze POST-oproep haalt alle corrigerende werkopdrachten op (werkopdrachten die zijn correctieve werkorders (werkorders aangemaakt op een verzoek) op in de huurder met de relevante informatie per werkopdrachtwerkorder. Eindpunt: Lichaam:
De referentie is verplicht; deze bepaalt het juiste rapport dat moet worden uitgevoerd: API_Report_Corrective_WorkOrders_01 Beschikbare filtervelden: Het is mogelijk om de werkorders te filteren op basis van de aanmaaktijden: AangemaaktSinds en AangemaaktTot De volgende filtervelden kunnen ook worden gebruikt (niet weergegeven in de bovenstaande body):
Voorbeeldresultaat: Een lijst met preventieve werkorders opvragenDeze POST-oproep zal alle preventieve werkorders (werkorders aangemaakt via een onderhoudsschema) in de huurder ophalen met de relevante informatie per werkorder. Eindpunt: Lichaam:
De referentie is verplicht; deze bepaalt het juiste rapport dat moet worden uitgevoerd: API_Report_Corrective_WorkOrders_01 Beschikbare filtervelden: Het is mogelijk om de werkorders te filteren op basis van de aanmaaktijden: AangemaaktSinds en AangemaaktTot De volgende filtervelden kunnen ook worden gebruikt (niet weergegeven in de bovenstaande body):
Voorbeeldresultaat: Activa makenDeze postoproep wordt gebruikt om een nieuw object te maken Eindpunt: De '{{assetCategory}' in de URL van het eindpunt moet worden ingesteld op de een id-waarde van een de activacategorie (opgehaald via de een lijst met activacategorieën krijgen oproep) Body met voorbeeldwaarden:
De volgende velden kunnen worden ingesteld via de body (allemaal optioneel):
Het antwoord is de Id-waarde van de nieuw aangemaakte asset: Een verzoek makenDeze postoproep wordt gebruikt om een nieuw verzoek te maken Eindpunt: Body met voorbeeldwaarden:
De volgende velden kunnen worden ingesteld via de body (allemaal optioneel):
Het antwoord zal de Id-waarde van het nieuw aangemaakte verzoek zijn Een bestaand object bijwerkenVia een PUT-oproep is het mogelijk om een van de bovenstaande objecten bij te werken. Hiervoor is het volgende eindpunt nodig: De {ObjecType} moet de naam van het objecttype zijn. Bijv. 'Activa' of 'Aanvraag'. De body van de aanroep moet de relevante velden bevatten om bij te werken. Zie de voorbeelden hierboven in de aanroepen om te creëren. |
Expand | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
Postbode projectDe volgende links bevatten een voorbeeld Postbode project en een (dummy) omgeving gebaseerd op de API-aanroepen die hierboven zijn beschreven. De omgeving moet worden ingevuld op basis van de daadwerkelijk te gebruiken omgevingsparameters.
|