Elk verzoek naar de API moet worden geauthenticeerd met behulp van een toegangstoken, in de meeste gevallen zal een toegangstoken worden verkregen door gebruik te maken van de OAUTH2 Authorization Code flow. In principe betekent dit dat de gebruiker moet worden omgeleid naar de BIMcollab Twin inlogpagina vanuit uw applicatie en wordt teruggeleid naar uw applicatie nadat de autorisatie is geslaagd. Met het verkregen autorisatietoken kan vervolgens een toegangstoken worden aangevraagd. Het toegangstoken kan dan worden toegevoegd aan de "Autorisatie" header van je verzoeken in het formaat: "Bearer <accesstoken>". Tokens worden geleverd in JWT-formaat, dus wanneer ze gedecodeerd (Base64) worden, geven ze meer informatie zoals de vervaltijd en een unieke gebruikersnaam. We raden aan om een refresh token aan te vragen en te gebruiken. Op deze manier hoeft een gebruiker zich maar één keer te authenticeren bij BIMcollab Twin.
Beschikbare scopes
Autorisatie-eindpunt - https://api.bimlink.nl/connect/authorize
Eindpunt toegangstoken - https://api.bimlink.nl/connect/token
Eindpunt voor verversen token - https://api.bimlink.nl/connect/token
Alle verzoeken, behalve één (de beschikbare domeinaccounts voor een gebruiker weergeven), vereisen een DomainAccountId. Een domeinaccount is een bedrijfsaccount en bevat alle gegevens voor een bepaald bedrijf of een heel groot project. Voordat je een API-verzoek kunt verzenden, moet je eerst een menu beschikbaar stellen waarmee de gebruiker een domeinaccount kan selecteren. We raden aan om de geselecteerde domein account op te slaan, omdat veel gebruikers maar één domein account gebruiken voor een lange tijd. In het eigenlijke verzoek kan het domeinaccount als volgt worden geselecteerd: https://api.demo-bimlink.nl/domainaccounts/{domainAccountId}/. De volgende actie retourneert de beschikbare domeinaccounts voor de gebruiker: https: //api.bimlink.nl/swagger/index.html#/DomainAccounts/DomainAccounts_GetAll
Veel API-verzoeken vereisen ook een ProjectPhaseId, omdat gegevens binnen een account zijn georganiseerd in een structuur van locaties, projecten en projectfasen. Dus voor de meeste toepassingen zal de volgende stap na authenticatie en het selecteren van een domeinaccount het tonen van een projectkeuzemenu zijn, zodat de gebruiker een domeinaccount en een projectfase kan selecteren. De volgende actie geeft de BIMcollab Twin projectstructuur voor een domeinaccount: https: //api.bimlink.nl/swagger/index.html#/Locations/Locations_GetAll
BIMcollab Twin biedt ook een ruimtelijke structuur om gegevens binnen een projectfase te organiseren. Vooral bij het opvragen van BIM-gegevens is het aan te raden om de gebruiker een specifieke verdieping te laten selecteren door een ruimtelijk keuzemenu aan te maken. Opmerking: de ruimtelijke structuurentiteiten (SpatialStructureElement) bevatten geen actuele BIM-gegevens, voor meer informatie zie "BIM-gegevens". De volgende actie retourneert de BIMcollab Twin ruimtelijke structuur voor een projectfase: https: //api.bimlink.nl/swagger/index.html#/SpatialStructureElements/SpatialStructureElements_GetAll
API GET-acties waarbij het antwoord naar verwachting een groot aantal objecten zal bevatten, worden gepagineerd. Pagineren wordt geregeld door een limiet (maximum aantal objecten) en een offset (aantal objecten om over te slaan) mee te sturen in de querystring van je verzoek. De maximale waarde van de limiet hangt af van de actie en kan worden gevonden in de Swagger documentatie. Paginering-metagegevens zijn ook te vinden in de headers van het antwoord: Pagination-Limit, Pagination-Offset, Pagination-Result.