Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Algemeen

...

Webservices can 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 arekunnen 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 zijn:

Masterdata:

OrganizationsOrganisaties
Contact personsContactpersonen
BuildingsGebouwen
AreasGebieden
AssetsActiva
Problem typesSoorten problemen

ProcessesProcessen:

Requests
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 domainVerzoeken
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 reserveringsdomein.

Expand
titlePre-conditions

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 Removed
  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 RemovedMake 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

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 Added
  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 Added
  1. Zorg 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 (Cross-origin resource sharing (CORS)-Cross-origin resource sharing (CORS)).

Expand
titleEnvironment parameters
Required

Vereiste parameters

The following parameters are needed to set up the API calls successfullyDe volgende parameters zijn nodig om de API-oproepen met succes in te stellen:

Parameter

DescriptionBeschrijving

ExampleVoorbeeld

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

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

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

authentication-mode

Fixed value: “GENERIC. “ Relevant for the authenticatiemodus

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

GENERISCH

clientRef The reference of the Environment

De referentie van het milieu

demotenant

username

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 tabgebruikersnaam

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 systemuser)

demo_api

app-idThe

reference of the external De referentie van de externe app. Relevant for the bearer token authenticationvoor de tokenauthenticatie aan toonder

DTW-EA-001

x-accesstoegangs-id-valueThe Access Id of the trust relation. Relevant for the bearer token authenticationwaarde

De toegangs-id van de vertrouwensrelatie. Relevant voor de tokenauthenticatie aan toonder

demo_api_id

secret-key

The key of the trust relation. Relevant for the bearer token authenticationgeheime sleutel

De sleutel van de vertrouwensrelatie. Relevant voor de tokenauthenticatie aan toonder

DB2E51543E463290B946602B8047CC9E16048E2C99728DB2E51543E463290B946602B8047CC9E16048E2C99728

encrypted-params

moet formulier URL-gecodeerde gegevens bevatten zoals beschreven in de onderstaande tabel:

Expand
titleAPI OAuth 2.0 authorization scheme

API OAuth 2.0

authorization scheme

autorisatieschema

General

To obtain access to the resources exposed by the Algemeen

Om toegang te krijgen tot de bronnen die worden aangeboden door de Workplace Management REST API, clients must first request a bearer token. The procedure for this is outlined belowmoeten clients eerst een token aanvragen. De procedure hiervoor wordt hieronder beschreven:

Grant typeBearer tokens can be obtained using the OAuth grant type “Resource Type subsidie

Dragertokens kunnen worden verkregen met het OAuth-subsidietype "Resource Owner Password Credentials.” 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". 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:

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

It’s possible to use the literal alias “axxHet is mogelijk om de letterlijke alias "axx::access::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

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:

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

This 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 domainDeze 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 serverdomein):

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

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

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

The De request body should contain form URL-encoded data as described in the table below:

key

value

toets

waarde

versleutelde-parameters

[encrypted-params]

When 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 documentWanneer 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 gedownload.

Expand
titleOverview of APIs

Overview of APIs

Every endpoint consists of a base

Overzicht van API's

Elk eindpunt bestaat uit een basis URL: https://{server}/webservices/{{clientRef}}/rest
Both ‘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).

EndpointZowel '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).

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

Example endpointVoorbeeld eindpunt: https://demotenant.axxerion.com/webservices/demotenant/rest/functions/completereportresult

  1. Creating an Een object (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
  1. 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: https://{server}/webservices/{{clientRef}}/rest/functions//createupdate{ObjectName}/{ObjectCategoryId}

Example endpointVoorbeeld eindpunt: https://demotenant.axxerion.com/webservices/demotenant/rest/functions/Asset/710000000172835

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

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

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

BodyLichaam:

{
"referenceReferentie":"API_ReportRapport_OrganizationsOrganisaties_01",
"filterFieldsfiltervelden":["Email"],
"filterValues":["example@email.com"]
}

The reference De referentie is mandatory; this determines the correct report to be executedverplicht; deze bepaalt het juiste rapport dat moet worden uitgevoerd: API_ReportRapport_OrganizationsOrganisaties_01
The filter fields are optional.

Available filter fields:

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

Example result:

Image Removed

Get a list of persons

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

EndpointDe filtervelden zijn optioneel.

Beschikbare filtervelden:

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

Voorbeeldresultaat:

Image Added

Een lijst van personen krijgen

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

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

BodyLichaam:

{
"referenceReferentie":"API_Report_Contacts_01",
"filterFieldsfiltervelden":["Email"],
"filterValues":["noreply@spacewell.com"]
}

The reference De referentie is mandatory; this determines the correct report to be executedverplicht; deze bepaalt het juiste rapport dat moet worden uitgevoerd: API_ReportRapport_ContactsContacten_01
The filter fields are optional.

Available filter fields:

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

Example result:

Image Removed

Get a list of buildings

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

EndpointDe filtervelden zijn optioneel.

Beschikbare filtervelden:

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

Voorbeeldresultaat:

Image Added

Verkrijg een lijst met gebouwen

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

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

BodyLichaam:

{
"referenceReferentie":"API_Report_Properties_01".
}The reference

De referentie is mandatory; this determines the correct report to be executedverplicht; deze bepaalt het juiste rapport dat moet worden uitgevoerd: API_Report_Properties_01
This call does not support any additional filter fieldsExample resultDeze oproep ondersteunt geen extra filtervelden

Voorbeeldresultaat:

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

Endpoint

Get a list of areas

Een lijst met gebieden

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

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

BodyLichaam:

{
"referenceReferentie":"API_Report_Areas_01",
"filterFieldsfiltervelden":["PropertyEigenschap"],
"filterValues":[[1210000000000849]]
}

The reference De referentie is mandatory; this determines the correct report to be executedverplicht; deze bepaalt het juiste rapport dat moet worden uitgevoerd: API_ReportRapport_Areas_01
The 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 Removed

Get a list of assets

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

EndpointDe 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 Added

Een lijst met activa ophalen

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

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

BodyLichaam:

{
"referenceReferentie":"API_Report_Asset_01",
"filterFieldsfiltervelden":["PropertyEigendom","AreaGebied"],
"filterValues":[[1000066632],[1000212917]]
}

The reference De referentie is mandatory; this determines the correct report to be executedverplicht; deze bepaalt het juiste rapport dat moet worden uitgevoerd: API_Report_Asset_01
The 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 Removed

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.

EndpointDe 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 Added

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.

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

BodyLichaam:

{
"referenceReferentie":"API_Report_Asset_Categories_01"
}The

reference De referentie is mandatory; this determines the correct report to be executedverplicht; deze bepaalt het juiste rapport dat moet worden uitgevoerd: API_Report_Asset_Categories_01

This call does not support any additional filter fields

Example resultDeze oproep ondersteunt geen extra filtervelden

Voorbeeldresultaat:

Get a list of requests

Een lijst met verzoeken ophalen.

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

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

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

BodyLichaam:

{
"referenceReferentie":"API_Report_Requests_01",
"filterFieldsfiltervelden":["CreatedSinceAangemaaktSinds","CreatedUntilAangemaaktTot"],
"filterValues":["2023-01-01T00:00:00Z","2023-08-01T00:00:00Z"]
}

The reference De referentie is mandatory; this determines the correct report to be executedverplicht; deze bepaalt het juiste rapport dat moet worden uitgevoerd: API_Report_Requests_01
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 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 https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations)

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

  • Asset Bedrijfsmiddel (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 Removed

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
  • 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 Added

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: https://{server}/webservices/{{clientRef}}/rest/functions/completereportresult

BodyLichaam:

{
"referencereferentie":"API_Report_ProblemTypes_01"
}The

reference De referentie is mandatory; this determines the correct report to be executedverplicht; deze bepaalt het juiste rapport dat moet worden uitgevoerd: API_Report_ProblemTypes_01


This call does not support any additional filter fieldsExample resultDeze oproep ondersteunt geen extra filtervelden

Voorbeeldresultaat:

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

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: https://{server}/webservices/{{clientRef}}/rest/functions/completereportresult

BodyLichaam:

{
"referencereferentie":"API_Report_ServiceGroupMembers_01"
}The

reference De referentie is mandatory; this determines the correct report to be executedverplicht; deze bepaalt het juiste rapport dat moet worden uitgevoerd: API_Report_ServiceGroupMembers_01

This call does not support any additional filter fields

Example resultDeze oproep ondersteunt geen extra filtervelden

Voorbeeldresultaat:

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

Get a list of corrective work orders

Een lijst met corrigerende werkorders krijgen

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: https://{server}/webservices/{{clientRef}}/rest/functions/completereportresult

BodyLichaam:

{
"referenceReferentie":"API_Report_Corrective_WorkOrders_01",
"filterFieldsfiltervelden":["CreatedSinceAangemaaktSinds","CreatedUntilAangemaaktTot"],
"filterValues":["2023-01-01T00:00:00Z","2023-09-01T00:00:00Z"]
}

The reference De referentie is mandatory; this determines the correct report to be executedverplicht; deze bepaalt het juiste rapport dat moet worden uitgevoerd: API_Report_Corrective_WorkOrders_01
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 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 https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations)

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

  • Asset Activa (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 Removed

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
  • 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 Added

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: https://{server}/webservices/{{clientRef}}/rest/functions/completereportresult

BodyLichaam:

{
"referenceReferentie":"API_ReportRapport_Preventive_WorkOrders_01",
"filterFieldsfiltervelden":["CreatedSinceAangemaaktSinds","CreatedUntilAangemaaktTot"],
"filterValues":["2023-01-01T00:00:00Z","2024-01-01T00:00:00Z"]
}

The reference De referentie is mandatory; this determines the correct report to be executedverplicht; deze bepaalt het juiste rapport dat moet worden uitgevoerd: API_Report_Corrective_WorkOrders_01
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 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 https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations)

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 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 filter)).

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

Example result:

Image Removed

Create an asset

This Post call is used to create a new asset

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

Voorbeeldresultaat:

Image Added

Activa maken

Deze postoproep wordt gebruikt om een nieuw object te maken

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

The De '{{assetCategory}' in the endpoint URL should be set to an asset category id value (Fetched via the get a list of Asset categories call)Body with example valuesde 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 voorbeeldwaarden:

{
"namenaam": "Example Voorbeeld laptop 2",
"externalReference": "987654321",
"serialNumber": "123456789",
"tradeNamehandelsnaam": "DTwin turbo",
"modelNamemodelnaam": "model X1",
"quantityHoeveelheid": "1",
"manufacturerContactId": "1210000000005286",
"supplierContactId": "",
"purchaseDateAankoopdatum": "2023-01-01T00:00:00Z",
"propertyId": "1210000000000849",
"areaId": "1210000000048836",
"parentAssetId": "1210000000008548"
}

The following fields can be set via the body (all optionalDe volgende velden kunnen worden ingesteld via de body (allemaal optioneel):

Parameter

DescriptionBeschrijving

NameNaam

Free text Vrije tekst (max. 255 characters maxtekens)

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 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 https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations)

propertyId

Id value 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-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-oproep)

parentAssetId

Id 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

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

Het antwoord is de Id-waarde van de nieuw aangemaakte asset:

Create a request

This Post call is used to create a new request

Endpoint

Een verzoek maken

Deze postoproep wordt gebruikt om een nieuw verzoek te maken

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

Body with example valuesmet voorbeeldwaarden:

{ "fromContactId": "1210000000004567",
"namenaam": "Test requestTestverzoek",
"description": "Test requestverzoek",
"problemTypeId": "1210000000005757",
"propertyId": "12100000000057634",
"areaId": "1210000000005764",
"assetId": "1210000000005734"
}

The following fields can be set via the body (all optionalDe volgende velden kunnen worden ingesteld via de body (allemaal optioneel):

This requires the following endpoint

Parameter

DescriptionBeschrijving

fromContactIdvanContactId

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

-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:
https://{server}/webservices/{{clientRef}}/rest/functions/update/{ObjectType}/{ID}

The De {ObjecType} should 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 updateThe body of the call should contain the relevant fields to update. See examples above in the create callsmoet de naam van het objecttype zijn. Bijv. 'Activa' of 'Aanvraag'.
De {ID} moet de ID-waarde zijn van het object dat je wilt bijwerken

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
titlePostman project
Postman

Postbode project

The 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 useDe 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.

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