BIM 360 SDK: Part 1- BIM 360 Field API
12/10/2013
The Autodesk® BIM 360™ Software Development Kit (BIM 360 SDK) is a set of tools that will allow third party application developers and integrators to interface with the BIM 360 Platform. As promised earlier, here is a detailed overview of the different components, APIs, infrastructure and samples that are available for developers from the BIM 360 shop.
This will be a three part post covering:
Part 3 - BIM 360 Glue Display Component
BIM 360 Field API Overview
BIM 360 Field software (formerly Vela Systems) is construction field management software that combines mobile technologies at the point of construction with cloud-based collaboration and reporting. Interested to learn more about Field? Click here to sign up for our free webinars or watch BIM 360 Field Overview on YouTube.
Connecting to BIM 360 Field using the web services APIs requires some technical knowledge and understanding of programming languages. Depending on the level of complexity and depth of integration, these services can take anywhere from a week to two months. At this early stage of the product, development should be done with close involvement of the Autodesk Developer Network or Autodesk Consulting teams to ensure successful deployments. The web service APIs allows developer to connect/interact with the BIM 360 Field's Library, Issues, Checklists, Equipment, and Tasks object classes.
Common Integration Scenarios
- Document Management System -> BIM 360 Field Library
- BIM 360 Field Issues to RFIs, or other issues system
- Equipment -> Facilities Management System
- Equipment -> Supply Chain
Field API Architecture
As with any other product, the Field APIs have also evolved over time. Historically, these APIs originated from the need to interface with the mobile app and has grown to support the common integration requirements. The long term vision is to have them unified and similar to the BIM 360 product family. The documentation lives in the Field API webpage. Field web services are REST based that has specific end points that support CRUD operations and returns results serialized as JSON. The end points are in the following structure '/fieldapi/{object}/v{version}' where object corresponds to the high level class of object such as issues or library, etc. and the end points are also versioned. Please note: the results are returned only in JSON, there is no option for receiving responses in XML format.
Here is a snapshot of the Issues Data Model. The major objects typically contain many minor objects that are also accessible through the API. For example, the Issue object includes minor objects such as Companies, Location, Attachments, etc.
Getting Started:
As a developer you can use a programming environment of your choice (e.g., Microsoft visual studio for C#/.Net, Editor for JavaScript, etc.).
Below are some of the example API service groups and the corresponding end points that are available.
- Admin API (/fieldapi/admin/v1/) Example - /project_names, /locations, /companies, /users
- Checklists API (/fieldapi/checklists/v1) Example - /checklists, /checklist (details)
- Issues API (/fieldapi/issues/v1)
- Equipment, Tasks, etc.
There is also a set of older generation API methods that follows the structure /api instead of the /fieldapi. These are not recommended for use unless the /fieldapi doesnt provide the required functionality. Login method is one such API call that is still provided by /api.
Samples
You can download a code snippet written in C# that corresponds to the above usecase from Github.
Also watch a sample integration video linking Autodesk Vault Data Management System to BIM 360 Field. (Need flash to view video).
Please feel free to review the material and samples post comments. We are looking to post additional materials and code samples in the future based on your feedback. Special thanks to the BIM 360 Field Product team for their support.