API Function

<< Click to Display Table of Contents >>

Navigation:  Software Overview > RMS Monitoring Software > Working with the RMS Software > Using RMS >

API Function

The Rotronic Monitoring System offers two API functions, both using HTTP-POST requests:

1.Extract Data From RMS.

2.Integrate Data Into RMS.

 

 

Some vocabulary

API: An Application Program Interface (API) is a computing interface to a system that defines how other systems can use it.

 

HTTP-POST request: In web services POST requests are used to send data to the API server to create or update a resource. The data sent to the server is stored in the request body of the HTTP request.

 

HTTP: Hypertext Transfer Protocol is the underlying format that is used to structure request and responses for effective communication between a client and a server.

 

HTTP request: Is an action to be performed on a resource identified by a given Request-URL.

 

The data is formatted in JSON. JavaScript Object Notation is an open standard file format.

 

Update V2.9.0

Service Manager

Using Garnet Server for caching

All new MP updates are written in Cache

Cache Address in ServiceManager.config:

   <setting name="SharedCacheAddress" serializeAs="String">
    <value>localhost:6379</value>
   </setting>

If using multiple RMS on the same server, a cache prefix can be defined in order to use only one cache instance

   <setting name="SharedCacheAddress" serializeAs="String">
    <value>localhost:6379|RMS-Test-</value>
   </setting>

 

wPage

API retrieves all data from cache

Counter to monitor api requests
 

wPage live update

wPage registers to Pub/sub of Cache

Updates will be received directly from cache and then published by SignalR
 

Cache Address in Web.config:

    <add key="SharedCacheAddress" value="localhost:6379" />

 

API Endpoint

(POST): http(s)//yourserver.com/RMS/API/MeasureData.ashx

 

Request

{    "Token": xxxxxx,      "Command":"measurepointdata",    "Measurepoints": [2,3],    "Unit": false}

Token: Your login token

Measurepoints: List of Measurepoint ID's

Unit: True = Units added to result values

 

Response (Json)

{
        "Status":"OK",
        "Message":null,
        "Data":
[{
 "Id":2,
 "LastUpdate":"09-Sep-2025 15:51:03",
 "Value":"32.93",
 "Warning":false,
 "Alarm":false,
 "WarningLimitLow":"---",
 "WarningLimitHigh":"35.00",
 "AlarmLimitLow":"---",
 "AlarmLimitHigh":"36.00"
},{
 "Id":3,
 "LastUpdate":"09-Sep-2025 15:51:03",
 "Value":"20.93",
 "Warning":false,
 "Alarm":false,
 "WarningLimitLow":"---",
 "WarningLimitHigh":"---",
 "AlarmLimitLow":"10.00",
 "AlarmLimitHigh":"40.00"
}]
}

System Counter

New System Counters to measure API Calls

API Calls: Count of calls to the endpoint "MeasureData.ashx" with command "measurepointdata"

API History Calls: Count of calls to the endpoint "DataHistory.ashx"

 

Rate Limit

Not implemented. Request has to be processed anyway and additional logic needed to detect an invalid request. Not much performance improvement possible.

 

Performance

ServiceManager publishes new values only if a company is online (technically: A cache subscriber exist).

ServiceManager writes values for API only if API ist enabled. API will be enabled after the first API call of a company.