...

General

...

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.Webservices zijn out of the box beschikbaar en gedocumenteerd in de volgende onderdelen voor enkele van de meest gebruikte objecten. Deze objecten zijncan fetch, create and update data in a Workplace Management environment.
The Workplace Management API uses a REST-based framework. Authorization is based on Bearer tokens and a preshared key.

Web services are available out of the box and documented in the following parts for some of the most often-used objects. These objects are:

Masterdata:

OrganisatiesOrganizations
ContactpersonenContact persons
GebouwenBuildings
GebiedenAreas
ActivaAssets
Soorten problemenProblem types

ProcessenProcesses:

Verzoeken
Correctieve werkorders
Preventieve werkorders

Momenteel gebruiken deze API's generieke eindpunten. In de toekomst kunnen domeinspecifieke eindpunten worden aangemaakt, zoals het geval is voor het reserveringsdomeinRequests
Corrective work orders
Preventive work orders

Currently, these APIs use generic endpoints. Domain-specific endpoints might be created in the future, as is the case for the reservations domain.

Expand
titlePre-conditions

Randvoorwaarden

Om de API's te kunnen gebruiken, gelden enkele randvoorwaarden. Een (technisch) consultant kan helpen met deze randvoorwaarden.

Een Workplace beheeromgeving met de volgende subvoorwaarden:

  1. Inkomende webservices worden ingeschakeld via de volgende toegangsregels (tabblad Authenticatie op algemene instellingen) (dit wordt gedaan via de klantenservice):

Image Removed
  1. Een extern app-object (dat ook kan worden gemaakt via het tabblad Authenticatie op de algemene instellingen als beheerder van niveau 3) met een vertrouwensrelatie (sleuteltype = AES gedeelde sleutel) is beschikbaar met de geautoriseerde systeemgebruiker van de vertrouwensrelatie ook gekoppeld aan de externe app in het tabblad Systeemgebruiker:

Image RemovedZorg ervoor dat je het domein toevoegt in het veld 'Toegestane herkomsten voor REST webservices' (Clientinstellingen, verificatie) als je externe domeinen asynchroon toegang wilt geven tot de generieke webservices

Pre-conditions

To be able to use the APIs, some Pre-conditions apply. A (technical) consultant can help with these pre-conditions.

A Workplace management environment with the following sub-conditions:

  1. Incoming web services are enabled via the following access rules (Authentication tab on general settings) (this is done via customer support):

Image Added
  1. An external app object (which can also be created via the Authentication tab on the general settings as a level 3 admin) with a trust relation (key type = AES shared key) is available with the authorized system user of the trust relation also linked to the external app in the system user tab:

Image Added
  1. Make sure to add the domain in the 'Allowed origins for REST web services' field (Client settings, authentication) if you want to allow external domains to access the generic web services asynchronously (Cross-origin resource sharing (CORS)-Cross-origin resource sharing (CORS)).

Expand
titleEnvironment parameters
Vereiste

Required parameters

De volgende parameters zijn nodig om de API-oproepen met succes in te stellenThe following parameters are needed to set up the API calls successfully:

Parameter

BeschrijvingDescription

VoorbeeldExample

serverde basis URL van de huurder, ofwel het huurder-specifieke domein of een algemene

the base URL of the tenant, either the tenant-specific domain or a general server

demotenant.axxerion.com
OFOR
http://axpr13.axxerion.com

authenticatiemodus

Vaste waarde: "GENERIC. " Relevant voor de op authentication-mode

Fixed value: “GENERIC. “ Relevant for the OAuth 2.0 gebaseerde tokenauthenticatie. Dit is ALLEEN nodig voor de geautomatiseerde scripting voor tokenaanvragen -based bearer token authentication. This is ONLY required for the automated scripting for token requests in Postman.

GENERISCHGENERIC

clientRef De referentie van het milieu

The reference of the Environment

demotenant

gebruikersnaam

De gebruikersnaam van de systeemgebruiker namens wie je wilt verifiëren. Relevant voor de tokenauthenticatie.

(Deze gebruiker moet gekoppeld zijn aan de externe app via het tabblad systemuserusername

The username of the system user on behalf of which you want to authenticate. Relevant for the bearer token authentication.

(This user must be linked to the external app via the systemuser tab)

demo_api

app-idDe

referentie van de externe The reference of the external app. Relevant voor de tokenauthenticatie aan toonderfor the bearer token authentication

DTW-EA-001

x-toegangsaccess-id-waardeDe toegangs-id van de vertrouwensrelatie. Relevant voor de tokenauthenticatie aan toondervalue

The Access Id of the trust relation. Relevant for the bearer token authentication

demo_api_id

geheime sleutel

De sleutel van de vertrouwensrelatie. Relevant voor de tokenauthenticatie aan toondersecret-key

The key of the trust relation. Relevant for the bearer token authentication

DB2E51543E463290B946602B8047CC9E16048E2C99728DB2E51543E463290B946602B8047CC9E16048E2C99728

versleutelde-parameters

should contain form URL-encoded data as described in the table below:

Expand
titleAPI OAuth 2.0 authorization scheme

API OAuth 2.0

autorisatieschema

authorization scheme

Algemeen

Om toegang te krijgen tot de bronnen die worden aangeboden door de General

To obtain access to the resources exposed by the Workplace Management REST API, moeten clients eerst een token aanvragen. De procedure hiervoor wordt hieronder beschrevenclients must first request a bearer token. The procedure for this is outlined below:

Type subsidieDragertokens kunnen worden verkregen met het OAuth-subsidietype "Resource Grant type

Bearer tokens can be obtained using the OAuth grant type “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 termen tussen haakjes moeten worden vervangen door hun letterlijke waarden.” Even though this grant type suggests that a password is used, this is not the case in this authorization scheme. Instead of a password, a token request message should be encrypted using a preshared AES key, which the endpoint will validate, and a bearer token will be returned when authentication succeeds. Resource data returned by the resource endpoints depends on user access rights to the relevant resources.

Token request message

The token request message is a JSON message which should contain the following data where terms between brackets should be replaced by their literal values:

Code Block
languagejson
{
  "grant_type": "password,""
  "username": "[username of the resource owner]",
  "password": "",
  "scope": "session v1 v2 v3",
  "app_id": "[external app id]"
}

Het is mogelijk om de letterlijke alias "axxIt’s possible to use the literal alias “axx::access::admin" als gebruikersnaam te gebruiken (zonder de extra aanhalingstekens). Als je dit doet, wordt in plaats van de werkelijke 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 met AES-CBC-modus, wat resulteert in een cijfertekst en een IV (initialisatievector). Maak nu een string met het volgende formaat

admin” as username (without the additional quotes). When doing this, instead of using the actual username of the user requesting the resources, access will be requested on behalf of the default authorized system user linked to the (AES preshared key based) trust relation used by the external application.

Encrypting the token request message

The token request message should now be encrypted using the preshared AES key, which can be generated in Workplace management using AES-CBC mode, resulting in a ciphertext and an IV (initialization vector). Now build a string using the following format:

Code Block
[length of the base64 encoded ciphertext]:[base64 encoded ciphertext][base64 encoded IV]

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 POST verzoek moet worden gegenereerd naar het volgende eindpunt (waarbij de server moet worden vervangen door het serverdomeinThis resulting string should be sent in the actual token request as “encrypted-params”; see next paragraph.

Create an actual HTTP request for the token endpoint

Now to form the HTTP request for the token endpoint, a POST request should be generated to the following endpoint (where the server should be replaced by the server domain):

Code Block
https://[server]/axxerion/aaa/registration/oauth2/token

Het verzoek moet ten minste de volgende headers bevatten (waarbij de termen tussen haakjes weer moeten worden vervangen door de werkelijke waardenThe request should contain at least the following headers (where the terms between brackets should again be replaced by the actual values):

Code Block
'Authorization': 'Axx_encryption_key [trust relation access id]',
'axx-client-reference': '[client reference]'

De The request body moet formulier URL-gecodeerde gegevens bevatten zoals beschreven in de onderstaande tabel:

toets

waarde

key

value

encrypted-params

[encrypted-params]

Wanneer de server de autorisatieaanvraag toekent, 200 OK antwoorden moeten worden ontvangen met het bearer token dat kan worden gebruikt voor toegang tot de resource endpoints zolang het token geldig is.

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 gedownloadWhen the server grants the authorization request, 200 OK responses should be received containing the bearer token that can be used for accessing the resource endpoints as long as the token is valid.

An example of the script can be found via the example Postman Collections in the Pre-request script tab, which can be downloaded at the bottom of this document.

Expand
titleOverview of APIs

Overzicht van API's

Elk eindpunt bestaat uit een basis

Overview of APIs

Every endpoint consists of a base URL: https://{server}/webservices/{{clientRef}}/rest
Zowel 'server' als 'clientRef' moeten worden ingevuld op basis van de omgevingsparameters.

Op basis van het type eindpunt wordt het tweede deel van de URL van het eindpunt bepaald:

Momenteel zijn er twee soorten eindpunten beschikbaar:

  1. Gegevens ophalen uit Werkplekbeheer. Hiervoor wordt de generieke functie 'completereportresult' gebruikt. Dit is hetzelfde eindpunt voor elke oproep; de specifieke gegevensaanvraag (Rapport) wordt toegevoegd aan de body van de oproep via een referentiewaarde (Verplicht en vaste waarde per oproep).

EindpuntBoth ‘server' and ‘clientRef’ are to be filled in based on the environment parameters.

Based on the type of endpoint, the second part of the endpoint URL is determined:

Currently, two types of endpoints are available:

  1. Getting data from Workplace management. This uses the generic 'completereportresult' function. This is the same endpoint for every call; the specific data request (Report) is added to the body of the call via a reference value (Mandatory and fixed value per call).

Endpoint: https://{server}/webservices/{{clientRef}}/rest/functions/completereportresult

Voorbeeld eindpuntExample endpoint: https://demotenant.axxerion.com/webservices/demotenant/rest/functions/completereportresult

  1. Een Creating an object (bedrijfsmiddel of verzoek) maken. Hiervoor wordt de generieke functie 'createupdate' gebruikt. Het eigenlijke object en de categorie van het object (bijv. Create Asset in categorie "Furniture") dat moet worden aangemaakt, wordt ook toegevoegd aan het eindpunt na het createupdate-gedeelte.

Eindpunt
  1. Asset or Request). This uses the generic ‘createupdate’ function. The actual object and category of the object (e.g., Create Asset in category “Furniture”) that is to be created is also added to the endpoint after the createupdate part.

Endpoint: https://{server}/webservices/{{clientRef}}/rest/functions//createupdate{ObjectName}/{ObjectCategoryId}

Voorbeeld eindpuntExample endpoint: 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 organisaties

Deze POST-oproep zal alle organisaties (Eigen organisaties en leveranciers) in de tenant ophalen met de relevante informatie per organisatie.

EindpuntThe objectName can be either “Asset” or “Request”, the ObjectCategoryId is only relevant for Assets (fixed value for Requests). The options for assets can be fetched via one of the APIs below.

The following APIs are currently available out of the box:

Get a list of organizations

This POST call will fetch all the organizations (Own organizations and suppliers) in the tenant with the relevant information per organization.

Endpoint: https://{server}/webservices/{{clientRef}}/rest/functions/completereportresult

LichaamBody:

{
"Referentiereference":"API_RapportReport_OrganisatiesOrganizations_01",
"filterveldenfilterFields":["Email"],
"filterValues":["example@email.com"]
}

De referentie The reference is verplicht; deze bepaalt het juiste rapport dat moet worden uitgevoerdmandatory; this determines the correct report to be executed: API_RapportReport_OrganisatiesOrganizations_01
De filtervelden zijn optioneel.

Beschikbare filtervelden:

Het is mogelijk om de organisaties te filteren op basis van een e-mailadres: E-mail

Voorbeeldresultaat:

Image Removed

Een lijst van personen krijgen

Deze POST-oproep zal alle personen in de huurder ophalen met de relevante informatie per persoon.

EindpuntThe filter fields are optional.

Available filter fields:

It is possible to filter the organizations based on an email address: Email

Example result:

Image Added

Get a list of persons

This POST call will fetch all the persons in the tenant with the relevant information per person.

Endpoint: https://{server}/webservices/{{clientRef}}/rest/functions/completereportresult

LichaamBody:

{
"Referentiereference":"API_Report_Contacts_01",
"filterveldenfilterFields":["Email"],
"filterValues":["noreply@spacewell.com"]
}

De referentie The reference is verplicht; deze bepaalt het juiste rapport dat moet worden uitgevoerdmandatory; this determines the correct report to be executed: API_RapportReport_ContactenContacts_01
De filtervelden zijn optioneel.

Beschikbare filtervelden:

Het is mogelijk om de personen te filteren op basis van een e-mailadres: E-mail

Voorbeeldresultaat:

Image Removed

Verkrijg een lijst met gebouwen

Deze POST-oproep zal alle gebouwen in de huurder ophalen met de relevante informatie per gebouw.

EindpuntThe filter fields are optional.

Available filter fields:

It is possible to filter the persons based on an email address: Email

Example result:

Image Added

Get a list of buildings

This POST call will fetch all the buildings in the tenant with the relevant information per building.

Endpoint: https://{server}/webservices/{{clientRef}}/rest/functions/completereportresult

LichaamBody:

{
"Referentiereference":"API_Report_Properties_01".
}De referentie

The reference is verplicht; deze bepaalt het juiste rapport dat moet worden uitgevoerdmandatory; this determines the correct report to be executed: API_Report_Properties_01
Deze oproep ondersteunt geen extra filterveldenVoorbeeldresultaatThis call does not support any additional filter fields

Example result:

Deze POST-oproep zal alle gebieden in de huurder ophalen met de relevante informatie per gebied.

Eindpunt

Een lijst met gebieden

Get a list of areas

This POST call will fetch all the areas in the tenant with the relevant information per area.

Endpoint: https://{server}/webservices/{{clientRef}}/rest/functions/completereportresult

LichaamBody:

{
"Referentiereference":"API_Report_Areas_01",
"filterveldenfilterFields":["EigenschapProperty"],
"filterValues":[[1210000000000849]]
}

De referentie The reference is verplicht; deze bepaalt het juiste rapport dat moet worden uitgevoerdmandatory; this determines the correct report to be executed: API_RapportReport_Areas_01
De filtervelden zijn optioneel.

Beschikbare filtervelden:

Het is mogelijk om de gebieden te filteren op basis van een specifiek gebouw: Eigendom
De filterwaarde moet de Id van het gebouw zijn, zoals opgehaald via de gebouw-API-oproep.

Voorbeeldresultaat:

Image Removed

Een lijst met activa ophalen

Deze POST-oproep zal alle middelen in de huurder ophalen met de relevante informatie per middel.

EindpuntThe filter fields are optional.

Available filter fields:

It is possible to filter the areas based on a specific building: Property
The filter value needs to be the Id of the building, as fetched via the building API call.

Example result:

Image Added

Get a list of assets

This POST call will fetch all the assets in the tenant with the relevant information per asset.

Endpoint: https://{server}/webservices/{{clientRef}}/rest/functions/completereportresult

LichaamBody:

{
"Referentiereference":"API_Report_Asset_01",
"filterveldenfilterFields":["EigendomProperty","GebiedArea"],
"filterValues":[[1000066632],[1000212917]]
}

De referentie The reference is verplicht; deze bepaalt het juiste rapport dat moet worden uitgevoerdmandatory; this determines the correct report to be executed: API_Report_Asset_01
De filtervelden zijn optioneel.

Beschikbare filtervelden:

Het is mogelijk om de activa te filteren op basis van een specifiek gebouw: Gebouw
Het is mogelijk om de activa te filteren op basis van een specifiek gebied: Gebied
De filterwaarde moet de id van het gebouw en/of gebied zijn, zoals opgehaald via API-oproepen voor gebouwen en gebieden.

Voorbeeldresultaat:

Image Removed

Een lijst met activacategorieën opvragen

Deze 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.

EindpuntThe filter fields are optional.

Available filter fields:

It is possible to filter the assets based on a specific building: Property
It is possible to filter the assets based on a specific area: Area
The filter value needs to be the Id of the building and/or area, as fetched via building and area API calls.

Example result:

Image Added

Get a list of asset categories

This POST call will fetch all the asset categories in the tenant. The Id of an asset category can be used to create a new asset in the desired category (See Create an Asset). E.g., Car, Bike, Coffee machine.

Endpoint: https://{server}/webservices/{{clientRef}}/rest/functions/completereportresult

LichaamBody:

{
"Referentiereference":"API_Report_Asset_Categories_01"
}

De referentie The reference is verplicht; deze bepaalt het juiste rapport dat moet worden uitgevoerdmandatory; this determines the correct report to be executed: API_Report_Asset_Categories_01

Deze oproep ondersteunt geen extra filtervelden

VoorbeeldresultaatThis call does not support any additional filter fields

Example result:

Een lijst met verzoeken ophalen

Get a list of requests.

Deze POST-oproep zal alle verzoeken in de tenant ophalen met de relevante informatie per verzoek.

EindpuntThis POST call will fetch all the requests in the tenant with the relevant information per request.

Endpoint: https://{server}/webservices/{{clientRef}}/rest/functions/completereportresult

LichaamBody:

{
"Referentiereference":"API_Report_Requests_01",
"filterveldenfilterFields":["AangemaaktSindsCreatedSince","AangemaaktTotCreatedUntil"],
"filterValues":["2023-01-01T00:00:00Z","2023-08-01T00:00:00Z"]
}

De referentie The reference is verplicht; deze bepaalt het juiste rapport dat moet worden uitgevoerdmandatory; this determines the correct report to be executed: API_Report_Requests_01
De filtervelden zijn optioneel.

Beschikbare filtervelden:

Het is mogelijk om de verzoeken te filteren op basis van de aanmaaktijden: AangemaaktSinds en AangemaaktTot
Datum-/tijdfilters moeten worden ingevoerd in ISO 8610 Gecombineerde weergave van datum en tijd (Zie The filter fields are optional.

Available filter fields:

It is possible to filter the requests based on the create times: CreatedSince and CreatedUntil
Date/time filters must be entered in ISO 8610 Combined date and time representations (See https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations)

De volgende filtervelden kunnen ook worden gebruikt (niet weergegeven in de bovenstaande bodyThe following filter fields can also be used (not shown in the body above):

  • Bedrijfsmiddel Asset (geef de ID-waarde van een bedrijfsmiddel op om de verzoeken op te halen die aan dit bedrijfsmiddel zijn gekoppeld)

  • Gebied (geef de ID-waarde van een gebied op om de verzoeken te krijgen die aan dit gebied zijn gekoppeld)

  • Eigenschap (geef de ID-waarde van een eigenschap op om de verzoeken te krijgen die aan deze eigenschap zijn gekoppeld)

Voorbeeldresultaat:

Image Removed

Een lijst met probleemtypen opvragen

Deze 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
  • Specify the ID value of an Asset, to get the requests linked to this asset)

  • Area (Specify the ID value of an Area, to get the requests linked to this area)

  • Property (Specify the ID value of a Property, to get the requests linked to this property)

Example result:

Image Added

Get a list of problem types

This POST call will fetch all the problem types (A problem type is used to determine the type of request and which service group will be assigned to handle the request) in the tenant with the relevant information per problem type.

Endpoint: https://{server}/webservices/{{clientRef}}/rest/functions/completereportresult

LichaamBody:

{
"referentiereference":"API_Report_ProblemTypes_01"
}

De referentie The reference is verplicht; deze bepaalt het juiste rapport dat moet worden uitgevoerdmandatory; this determines the correct report to be executed: API_Report_ProblemTypes_01


Deze oproep ondersteunt geen extra filterveldenVoorbeeldresultaatThis call does not support any additional filter fields

Example result:

Een lijst met leden per servicegroep opvragen

Deze 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 met de relevante informatie per servicegroep.

Eindpunt

Get a list of members per service group

This POST call will fetch all the contacts in a service group (A service group is used in a problem type and will be used to determine which group will be assigned to handle the request) in the tenant with the relevant information per service group.

Endpoint: https://{server}/webservices/{{clientRef}}/rest/functions/completereportresult

LichaamBody:

{
"referentiereference":"API_Report_ServiceGroupMembers_01"
}

De referentie The reference is verplicht; deze bepaalt het juiste rapport dat moet worden uitgevoerdmandatory; this determines the correct report to be executed: API_Report_ServiceGroupMembers_01

Deze oproep ondersteunt geen extra filtervelden

VoorbeeldresultaatThis call does not support any additional filter fields

Example result:

Deze POST-oproep haalt alle corrigerende werkopdrachten op (werkopdrachten die zijn aangemaakt op een verzoek) in de huurder met de relevante informatie per werkopdracht.

Eindpunt

Een lijst met corrigerende werkorders krijgen

Get a list of corrective work orders

This POST call will fetch all the corrective work orders (work orders created on a request) in the tenant with the relevant information per work order.

Endpoint: https://{server}/webservices/{{clientRef}}/rest/functions/completereportresult

LichaamBody:

{
"Referentiereference":"API_Report_Corrective_WorkOrders_01",
"filterveldenfilterFields":["AangemaaktSindsCreatedSince","AangemaaktTotCreatedUntil"],
"filterValues":["2023-01-01T00:00:00Z","2023-09-01T00:00:00Z"]
}

De referentie The reference is verplicht; deze bepaalt het juiste rapport dat moet worden uitgevoerdmandatory; this determines the correct report to be executed: API_Report_Corrective_WorkOrders_01
De filtervelden zijn optioneel.

Beschikbare filtervelden:

Het is mogelijk om de werkorders te filteren op basis van de aanmaaktijden: AangemaaktSinds en AangemaaktTot
Datum-/tijdfilters moeten worden ingevoerd in ISO 8610 Gecombineerde weergave van datum en tijd (Zie The filter fields are optional.

Available filter fields:

It is possible to filter the work orders based on the create times: CreatedSince and CreatedUntil
Date/time filters must be entered in ISO 8610 Combined date and time representations (See https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations)

De volgende filtervelden kunnen ook worden gebruikt (niet weergegeven in de bovenstaande bodyThe following filter fields can also be used (not shown in the body above):

  • Activa Asset (geef de ID-waarde van een activum op om de corrigerende werkorders te krijgen die aan dit activum zijn gekoppeld)

  • Gebied (specificeer de ID-waarde van een gebied om de corrigerende werkorders te krijgen die aan dit gebied zijn gekoppeld)

  • Eigenschap (specificeer de ID-waarde van een eigenschap om de corrigerende werkorders gekoppeld aan deze eigenschap te krijgen)

  • Verzoek (specifiek de ID-waarde van een verzoek, om de corrigerende werkorders voor dit verzoek op te halen)

Voorbeeldresultaat:

Image Removed

Een lijst met preventieve werkorders opvragen

Deze POST-oproep zal alle preventieve werkorders (werkorders aangemaakt via een onderhoudsschema) in de huurder ophalen met de relevante informatie per werkorder.

Eindpunt
  • Specify the ID value of an Asset, to get the corrective work orders linked to this asset)

  • Area (Specify the ID value of an Area, to get the corrective work orders linked to this area)

  • Property (Specify the ID value of a Property, to get the corrective work orders linked to this property)

  • Request (Specificy the ID value of a Request, to get the corrective work orders for this Request)

Example result:

Image Added

Get a list of preventive work orders

This POST call will fetch all the preventive work orders (work orders created via a maintenance schedule) in the tenant with the relevant information per work order.

Endpoint: https://{server}/webservices/{{clientRef}}/rest/functions/completereportresult

LichaamBody:

{
"Referentiereference":"API_RapportReport_Preventive_WorkOrders_01",
"filterveldenfilterFields":["AangemaaktSindsCreatedSince","AangemaaktTotCreatedUntil"],
"filterValues":["2023-01-01T00:00:00Z","2024-01-01T00:00:00Z"]
}

De referentie The reference is verplicht; deze bepaalt het juiste rapport dat moet worden uitgevoerdmandatory; this determines the correct report to be executed: API_Report_Corrective_WorkOrders_01
De filtervelden zijn optioneel.

Beschikbare filtervelden:

Het is mogelijk om de werkorders te filteren op basis van de aanmaaktijden: AangemaaktSinds en AangemaaktTot
Datum-/tijdfilters moeten worden ingevoerd in ISO 8610 Gecombineerde weergave van datum en tijd (Zie The filter fields are optional.

Available filter fields:

It is possible to filter the work orders based on the create times: CreatedSince and CreatedUntil
Date/time filters must be entered in ISO 8610 Combined date and time representations (See https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations)

De volgende filtervelden kunnen ook worden gebruikt (niet weergegeven in de bovenstaande body):
(Omdat preventieve werkorders kunnen worden gekoppeld aan meerdere objecten (bijv. onderhoud voor 10 liften), werkt het filteren een beetje anders voor correctieve werkorders. Een preventieve werkorder kan meer dan één keer worden geretourneerd, afhankelijk van het aantal objecten waaraan het is gekoppeld. Om te filteren op een specifiek object kan de ID van het object worden toegevoegd. Dit kan een asset, gebied of gebouw zijn (let op, als de werkorder is gekoppeld aan een specifiek asset, zal het geen resultaten opleveren als er wordt gefilterd op het gebouw op dat asset, er moet specifiek op dat asset worden gefilterd (Of geen The following filter fields can also be used (not shown in the body above):

(Since preventive work orders can be linked to multiple objects (e.g. maintenance for 10 elevators), the filtering works a bit differently for corrective work orders. One preventive work order can be returned more than once, depending on the number of objects it is linked to. To filter on a specific object, the ID of the object can be added. This can be an Asset, Area, or building (Be aware, if the work order is linked to a specific asset, it won’t return results if filtered on the building on that asset, it must be filtered specifically on that asset (Or no filter)).

  • Object (specificeer de ID-waarde van een Asset, Gebied of Gebouw om de preventieve werkorders gekoppeld aan dit object op te halen)

Voorbeeldresultaat:

Image Removed

Activa maken

Deze postoproep wordt gebruikt om een nieuw object te maken

Eindpunt
  • Specify the ID value of an Asset, Area, or Building to get the preventive work orders linked to this object)

Example result:

Image Added

Create an asset

This Post call is used to create a new asset

Endpoint: https://{server}/webservices/{{clientRef}}/rest/functions/createupdate/Asset/{{assetCategory}}

De The '{{assetCategory}' in de URL van het eindpunt moet worden ingesteld op de id-waarde van een activacategorie (opgehaald via de een lijst met activacategorieën krijgen oproep)Body met voorbeeldwaardenthe endpoint URL should be set to an asset category id value (Fetched via the get a list of Asset categories call)

Body with example values:

{
"naamname": "Voorbeeld Example laptop 2",
"externalReference": "987654321",
"serialNumber": "123456789",
"handelsnaamtradeName": "DTwin turbo",
"modelnaammodelName": "model X1",
"Hoeveelheidquantity": "1",
"manufacturerContactId": "1210000000005286",
"supplierContactId": "",
"AankoopdatumpurchaseDate": "2023-01-01T00:00:00Z",
"propertyId": "1210000000000849",
"areaId": "1210000000048836",
"parentAssetId": "1210000000008548"
}

De volgende velden kunnen worden ingesteld via de body (allemaal optioneelThe following fields can be set via the body (all optional):

Parameter

BeschrijvingDescription

NaamName

Vrije tekst Free text (255 characters max. 255 tekens)

Externe verwijzing

Vrije tekst (max. 255 tekens)

serienummer

Vrije tekst (max. 255 tekens)

modelnaam

Vrije tekst (max. 255 tekens)

hoeveelheid

Integer

fabrikantContactId

Id-waarde van een organisatie of persoon (opgehaald via de een lijst van organisaties of een lijst met personen API krijgen oproepen)

leverancierContactId

Id-waarde van een organisatie of persoon (opgehaald via de een lijst van organisaties of een lijst met personen API krijgen oproepen)

aankoopdatum

Datum-/tijdfilters moeten worden ingevoerd in ISO 8610 Gecombineerde weergave van datum en tijd (Zie ExternalReference

Free text (255 characters max)

serialNumber

Free text (255 characters max)

modelName

Free text (255 characters max)

quantity

Integer

manufacturerContactId

Id value of an organization or person (Fetched via the get a list of organizations or get a list of persons API calls)

supplierContactId

Id value of an organization or person (Fetched via the get a list of organizations or get a list of persons API calls)

purchaseDate

Date/time filters must be entered in ISO 8610 Combined date and time representations (See https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations)

propertyId

Id -waarde van een gebouw (Opgehaald via de een lijst van gebouwen krijgen API-oproep)

gebiedId

Id-waarde van een gebied ( Opgehaald via de een lijst van een gebieden API-oproepvalue of a building (Fetched via the get a list of a buildings API call)

areaId

Id value of an area ( Fetched via the get a list of an areas API call)

parentAssetId

Id -waarde van een actief ( Opgehaald via de een lijst van een activa API-oproep)

Het antwoord is de Id-waarde van de nieuw aangemaakte

value of an asset ( Fetched via the get a list of an assets API call)

The response will be the Id value of the newly created asset:

Deze postoproep wordt gebruikt om een nieuw verzoek te maken

Eindpunt

Een verzoek maken

Create a request

This Post call is used to create a new request

Endpoint: https://{server}/webservices/{{clientRef}}/rest/functions/createupdate/Request/1000000786

Body met voorbeeldwaardenwith example values:

{ "fromContactId": "1210000000004567",
"naamname": "TestverzoekTest request",
"description": "Test verzoekrequest",
"problemTypeId": "1210000000005757",
"propertyId": "12100000000057634",
"areaId": "1210000000005764",
"assetId": "1210000000005734"
}

De volgende velden kunnen worden ingesteld via de body (allemaal optioneelThe following fields can be set via the body (all optional):

Parameter

BeschrijvingDescription

vanContactIdfromContactId

Id -waarde van een organisatie of persoon (opgehaald via de een lijst van organisaties of een lijst met personen API krijgen

naam

Vrije tekst (max. 255 tekens)

beschrijving

Vrije tekst (max. 255 tekens)

problemTypeId

Id-waarde van een probleemtype (Opgehaald via de een lijst van probleemtypen API-oproep)

propertyId

Id-waarde van een gebouw (Opgehaald via de een lijst van gebouwen API-oproep)

gebiedId

Id-waarde van een gebied ( Opgehaald via de een lijst van gebieden API-oproep)

assetId

Id-waarde van een actief (Opgehaald via de een lijst van activa API-oproep)

Het antwoord zal de Id-waarde van het nieuw aangemaakte verzoek zijn

Een bestaand object bijwerken

Via een PUT-oproep is het mogelijk om een van de bovenstaande objecten bij te werken.

Hiervoor is het volgende eindpunt nodig

value of an organization or person (Fetched via the get a list of organizations or get a list of persons API

name

Free text (255 characters max)

description

Free text (255 characters max)

problemTypeId

Id value of a problem type (Fetched via the get a list of problem types API call)

propertyId

Id value of a building (Fetched via the get a list of buildings API call)

areaId

Id value of an area ( Fetched via the get a list of areas API call)

assetId

Id value of an asset( Fetched via the get a list of assets API call)

The response will be the Id value of the newly created request

Updating an existing object

Via a PUT call, it is possible to update one of the objects above.

This requires the following endpoint:
https://{server}/webservices/{{clientRef}}/rest/functions/update/{ObjectType}/{ID}

De The {ObjecType} moet de naam van het objecttype zijn. Bijv. 'Activa' of 'Aanvraag'.
De {ID} moet de ID-waarde zijn van het object dat je wilt bijwerkenDe body van de aanroep moet de relevante velden bevatten om bij te werken. Zie de voorbeelden hierboven in de aanroepen om te creërenshould be the Name of the object type. E.g ‘Asset' or 'Request’.
The {ID} should be the ID value of the object you want to update

The body of the call should contain the relevant fields to update. See examples above in the create calls.

Expand
titlePostman project
Postbode

Postman project

De 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 omgevingsparametersThe following links contain an example Postman project and a (dummy) environment based on the API calls described above. The environment should be filled in based on the environment parameters actually to use.

View file
nameWorkplace Management- Generic webservices.postman_collection.json
View file
nameDemo Tenant.postman_environment.json