Skip to main content
Basic Knowledge of MIDAS API Created Edited

How to work MIDAS CIVIL NX Open API?

shutterstock_2340262111-20231113-072646.jpg

MIDAS Open API

The web environment has become all over the place in our daily lives. For a better vision and preparation for the future, MIDAS adopted a web-based API, not a conventional API.

 

API vs. Web API

The conventional API and the web API have different features, as follows.

Feature API Web API
Access Method Mainly called within programming languages Web requests through the HTTP Protocol
Communication Protocol Available various protocols Mainly use HTTP/HTTPS
Request and Response Format Available various data formats Mainly use JSON or XML
Purpose of usage Mainly used for integration among programs or utilizing libraries Mainly used for sharing the data among web applications or exposing the service to external developers
Security Available customizing about certification and authorization

Certification using OAuth 2.0 and API key and authorization

Access control Mainly access in a local network or on a computer Access through the internet for remote control
Platform dependencies Viably have dependency-dependent on the language or platform Can be used platform-independently through a web browser or an HTTP client

 

Above the lists can be a feature of each method, and they can be pros and cons simultaneously.

 

Structure

MIDAS CIVIL NX Open API is the integration results of web and network API technologies. It can provide a much more effective and stable service.

 

MIDAS CIVIL NX does not interface with applications directly.

Other applications, including users (clients), communicate with the server over the web using the REST API and finally interact with the connected MIDAS CIVIL NX using WebSocket technology. In other words, the server (AWS) acts as an intermediary between MIDAS products and applications.

 

11 (1).png

The users will likely interact with the system in the following method.

API connection methods (1).png

The server can handle multiple WebSocket clients (MIDAS Products) simultaneously. These various products are identified through the “MAPI-Key.” Therefore, the clients (applications) must include the “MAPI-Key” on the header when they request REST API to specify the product.

API connection methods2 (1).png

This operational model implies that if a single client has information for multiple MAPI-Keys, it can manage various products in one place.

Just take care of your “MAPI-Key” security; however, “MAPI-Key” operates as a temporary key. If you desire, you can change at any time. It comprises a lengthy combination of characters and numbers, making random guessing nearly impossible.

**base URL and API-Key 

 

Operation

Let’s illustrate the basic operation of the MIDAS Open API with a conceptual example.

  1. The client requests the REST API from the server as follows:
    1. HTTP Method: “GET”
    2. URL: “/db/node”
    3. Header: “MAPI-Key”: “######”
  2. The server that gets a request finds a product and requests node information.
  3. The product sends node information to the server.
  4. The server that gets node information re-sends it to the client.

Due to these operating characteristics, the user can be confused about everything that happens on the local PC. MIDAS CIVIL NX does not interface with applications; as I mentioned before, API operating goes through the server, as in the above example.

 

Features

MIDAS CIVIL NX Open API, being a web API, comes with several features.

Here are some key characteristics:

  1. Platform/Language independence:
    1. It is available on any application using HTTP Request (C, C++, C#, VB, VBA, Java, JavaScript, Typescript, Python, etc.).
    2. It allows the formation of applications with various characteristics of applications.
  2. Limited data format:
    1. It exclusively uses JSON formatted data, and each application parses and utilizes JSON.
    2. Most applications provide basic libraries or user libraries to handle JSON.
  3. Scalability:
    1. It exhibits scalability for remote access, multiple client connections, and control through web-based connections.
    2. This enables efficient communication and collaboration between servers and multiple clients.

 

0
Was this article helpful?