Versions Compared

Key

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

This web page is under construction.

Abstract

Following API calls handle any interactions within the building information model itself. In order to support multi tenancy in a proper way additional URL paths are to be used containing the team name and the project name.

The team name and the project name need to be specified and setup as so-called slugs to present a clean URL. Slugs are lowercase unique identifiers based on English characters and numbers.

The team slug will be used to know which tenant database to work on.

The project slug is necessary to verify the user's access rights on the project in an early stage of processing the API call – preferably before any business data will be touched and any business logic will be executed.

The JSON objects used for input and output will be based on the IFC standard in terms of structure and naming. First of all it's necessary to have a pure API bound object model and second using a standard based approach.

Representational State Transfer (REST)

Representational State Transfer (REST) is a style of software architecture for distributed systems such as the World Wide Web. REST has emerged as a predominant web API design model.

REST-style architectures consist of clients and servers. Clients initiate requests to servers; servers process requests and return appropriate responses. Requests and responses are built around the transfer of representations of resources. A resource can be essentially any coherent and meaningful concept that may be addressed. A representation of a resource is typically a document that captures the current or intended state of a resource.

The client begins sending requests when it is ready to make the transition to a new state. While one or more requests are outstanding, the client is considered in transition. The representation of each application state contains links that may be used the next time the client chooses to initiate a new state-transition.

Key goals of REST:
  • Scalability of component interactions
  • Generality of interfaces
  • Independent deployment of components
  • Intermediary components to reduce latency, enforce security and encapsulate legacy systems
Panel

REST's client-server separation of concerns simplifies component implementation, reduces the complexity of connector semantics, improves the effectiveness of performance tuning, and increases the scalability of pure server components. Layered system constraints allow intermediary proxies, gateways, and firewalls to be introduced at various points in the communication without changing the interfaces between components, thus allowing them to assist in communication translation or improve performance via large-scale, shared caching. REST lets intermediate processing by constraining messages be self-descriptive: interaction is stateless between requests, standard methods and media types are used to indicate semantics and exchange information, and responses explicitly indicate cacheability.

RESTful architecture constraints
  • Client-server separation: no data storage on the client, client and server can be developed independently;
  • Stateless: no client context being stored on the server. Each request contains all necessary information to service the request;
  • Cacheable: clients can cache responses;
  • Layered system: a client doesn'n know if it is directly connected to the server;
  • Uniform interface between clients and servers.
  • Code on demand (optional): servers can change functionality of a client by the transfer of executable code.[1]
Database operations and HTTP calls

Help us improve the Bimplus API doc by providing your valuable comments. You can find the comment section at the bottom of the page.

Bimplus Introduction 

  • Bimplus is an open, “All-Connect” platform for connecting people, information and BIM models to build faster. Bimplus is Open BIM compliant.
  • Bimplus provides universal access, sharing and connection of relevant building information; enabling seamless collaboration among all people in the project
  • Bimplus is designed, using the latest Internet computing, cloud technologies, mobile devices and social communication.
  • Bimplus is the future of the Internet based building Industry.
  • You can find more information about Bimplus from our
    Newwindowlink
    titleBimplus website
    urlhttps://www.bimplus.net/
  • A bunch of video tutorials are available 
    Newwindowlink
    titlehere
    urlhttps://www.bimplus.net/en/User-Guide/
  • What is Bimplus ?

    Office Powerpoint
    nameWhat is bimplus.pptx
    width550
    height300
  • Benefits of Bimplus

    Office Powerpoint
    nameIntroducing bimplus.pdf
    width550
    height300

Bimplus API

Bimplus API provides RESTful services for accessing, creating, modifying and deleting different levels of information in a building model on our Bimplus platform. It connects the building project information to a vast number of developers providing innovative Apps / applications that can operate on the building models and information.There are four types of database operation defined for manipulating the building content. i.e Create, Read, Update, Delete (CRUD) can be performed against the resources(URI, which are building information in our case) which are essentially the building blocks of REST.

The following HTTP methods implement these operations in the persistent level Wiki MarkupFull use of HTTP methods considered as RESTful. There are four types of the database operation defined for content manipulation: *Create, Read, Update, Delete (CRUD)*. Following HTTP methods implement these operations on persistent level\[2\]:

Operation

SQL

HTTP

Create a resource on the server

INSERT

POST Read

Retrieve the resource from the server

SELECT

GET

Update the resource on the server

UPDATE

PUT

Delete the resource from the server

DELETE

DELETE

...

All necessary information for resource manipulation will be sent within a HTTP request. It includes

  • Resource identificator (URL)
  • Data type / format (HTTP header)
  • Authentication information (HTTP header)
  • Operation, which should will be performed with against the resource (HTTP method)

Things to remember:

  • The JSON objects which will be used as the Bimplus data exchange format will be based on the IFC standard in terms of structure and naming.
  • The resource paths contain the team name and the project name to support multi-tenancy.
  • The project slug (which should be provided during the creation of a project) should be provided as part of the URL for accessing all the project relevant resources. This is also necessary to verify the user’s access rights on the project in an early stage of processing the API call (before any business data will be touched and any business logic will be executed)

Connect with Bimplus and become a Bimplus compliant developer/partner

  • Newwindowlink
    titleBimplus portal
    urlhttps://www-stage.bimplus.net
    is the first place of contact of the user/developer for using the Bimplus platform(stage version). The production version of the portal can be found under 
    Newwindowlink
    titlehttps://www.bimplus.net
    urlhttps://www.bimplus.net/en/products/
    where you can purchase different editions of Bimplus cloud platform.
    Newwindowlink
    titleHere
    urlhttps://www.bimplus.net/en/Home-oxid/bim-Apps/
    you can also find a few critical foundation apps like the Bimplus Explorer, Bimplus Viewer and Bimplus Problem Spotter. The portal takes care of the user registration(developer registration) as well.
  • The Bimplus API(stage version url : https://api-stage.bimplus.net/v2) provides an interface for accessing the building information and models. It connects the building project information to a vast number of developers providing innovative Apps / applications that can operate on the building models and information.

The following figure describes the relation between the Bimplus portal and the API.

Image Added

  • Please register
    Newwindowlink
    titlehere
    urlhttps://www-stage.bimplus.net
    for accessing the Bimplus resources and become a Bimplus compliant developer and a partner. You will receive an authentication token after the registration.
  • A Team is a tenant/company which work on the projects. The team has to be specified and setup through the
    Newwindowlink
    titlebimplus
    urlhttps://www-stage.bimplus.net
    portal as so called
    Newwindowlink
    titleslugs
    urlhttp://en.wikipedia.org/wiki/Clean_URL
    to present a
    Newwindowlink
    titleclean URL
    urlhttp://en.wikipedia.org/wiki/Clean_URL
    . The team slug will be used to know which tenant database to work on.
  • Using the authentication token and the team slug, you can start working with the building projects which you are a member of, using our Bimplus api.
  • Please find a quick start tutorial here.

 

Bimplus Services

Bimplus API provides RESTful services for accessing, creating, modifying and deleting different levels of information in a building model on our Bimplus platform.

These are the project relevant services available at the moment:

These are the administration relevant services available at the moment:

For further details see the Bimplus api reference Wiki MarkupMedia type for the data base operations and client-server communications is *JSON*.\[3\]

Client request example:

Composition Setup
 
Deck of Cards
idbimGetProjectList
Card
labelImplementation Status

Image Removed Service available !

Card
labelHTTP Method
GET GET
Card
defaulttrue
labelURL / Resource / JSON Structure
 Resource: projects 

URLhttps://api-stage.bimplus.net/v2/<team>/projects

Examplehttps://api-stage.bimplus.net/v2/bimplus/projects

Card
labelDescription
Gets  Gets the available project list with main properties.
Card
labelRequest
Code Block
borderColorGreen
langxml
titleHeaders

Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json
Card
labelResponse
Code Block
borderColorGreen
langxml
titleStatus
Status: 200 OK