October 10, 2018

BIM 360 Docs: API Changes to Access Data in European Data Center

Note that BIM 360 API are already using different US and EU endpoints for some resources, such as Account Administration feature. See documentation. Data Management API is not affected.

The list of affected endpoints

Model Derivative API

The following list of Model Derivative APIs needs to be changed to include regions information explicitly in the endpoints when accessing data in the data center in Europe.

  • POST references
  • GET :urn/thumbnail
  • GET :urn/manifest
  • DELETE :urn/manifest
  • GET :urn/manifest/:derivativeurn
  • GET :urn/metadata
  • GET :urn/metadata/:guid
  • GET :urn/metadata/:guid/properties

e.g.,

for US data center
https://developer.api.autodesk.com/modelderivative/v2/designdata/:urn/manifest

for European data center
https://developer.api.autodesk.com/modelderivative/v2/regions/eu/designdata/:urn/manifest

Viewer

For Viewer, when viewing a model uploaded to BIM 360 Docs in European data center, you will need to specify ‘derivativeV2_EU’ as an option parameter in initialization.  

When using ViewingApplication (from this tutorial) you will need to determine if the bucketKey is from EMEA or US. Start by base64 decoding the URN, then check if it contains urn:adsk.wipemea:xxx (for EMEA) or urn:adsk.wipprod:xxx (for US).

In your viewer code, you may try as below to make it work for both US and European region: 

  var options = {
    env: 'AutodeskProduction',
    getAccessToken: getForgeToken,
    api: 'derivativeV2' + (atob(urn.replace('_', '/')).indexOf('emea') > -1 ? '_EU' : '')
  };
  var documentId = 'urn:' + urn;
  Autodesk.Viewing.Initializer(options, function onInitialized() {
      // rest of code here…
  });

where the atob JavaScript function decodes base64 string. ‘replace’ is required as Forge uses _ (underscore) instead / (forward slash). The code sets the api option to:

  • derivativeV2 (for US)  
  • derivativeV2_EU (for EMEA).

We’ll be updating the SDK shortly. 

We apologize for not communicating this breaking change to the community in advance. We will make sure we will have a better process moving forward. If you have further questions regarding this change, please contact us at forge.help@autodesk.com

Posted by

Mikako Harada

Mikako Harada works as an AEC technical lead and Americas manager for the Developer Technical Services (DevTech) team at Autodesk. She provides API (Application Programming Interface) technical support to the members of Autodesk Developer Network worldwide for AEC products.


Prior to joining Autodesk, she worked as a researcher for the Swiss Federal Institute of Technology (ETH) in Zurich. While at...

Developer Advocate, Autodesk

Developer Advocate at Autodesk since 2008, working with both desktop and web/cloud apps using top technologies, like C#, JavaScript, NodeJS and any other that can solve problems and improve workflows. See my samples on Github and follow me on Twitter for updates. 

Related Posts