Versions Compared

Key

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

...

Interface Address

Function

Result

/echo/{message}

A test location that will return the message:

You Typed: {message}

for whatever was pass in. This location is useful for checking the server is up and responsive.

You Typed: {message}

/projectDirectory/{*projectDirectory}

Directory in which to look for projects
true or false

/create

Starts a new server and returns a {instance} string that should be passed to most other calls to communicate with this created server.
{instance} identifer

/load?instance={instance}&project={projectName}&scenario={scenarioName}

Path to the project, or project name on server and optional scenario within that project.
true or false

/saveas?instance={instance}&project={projectNewName}&folderPath={folderPath}

Save the loaded project after the run is complete to the specified path and file. The string argument cannot be empty, and the path provided must be an existing directory and have saving permissions for the current user.
true or false

/units?instance={instance}&si={useSIUnits}

Ignore units set within project and output base SI units
true or false

/project?instance={instance}

Returns the project file an scenario name of the loaded project
{
"Project" : "projectName"
"Scenario" : "scenarioName"
}

/run?instance={instance}

Executes the active scenario from its current location to the end
true or false

/step?instance={instance}

Moves forward 1 time step in the active scenario
true or false

/getStep?instance={instance}

Returns the current step and the total number of steps in the active scenario

{
"Current" : 0
"Total" : 100
}

/metaParameters?instance={instance}

Get the active Functions (also calledmeta-parameter for calibration)

true or false

/metaParameter?instance={instance}&name={parameterName}&value={value}

Set the value of a Function (also calledmeta-parameter for calibration)

true or false

/allTimeSeries?instance={instance}

Returns all the result timeseries as an array

A Timeseries jSON object contains

Metadata - Key value array

Name - name of timeseries

Units - units string of timeseries

Readings - array of Time, Result objects

[
{
"Metadata": [
{
"Key" : "RunTime",
"Value" : "16/08/2016 2:22:22 PM"
},
{
"Key" : "ScenarioName",
"Value" : "Scenario 1"
}

], 

"Name": "Gauge\\Gauge 16\\Downstream Flow\\Flow",
"Readings": [
{
"Result": 0.2,
"Time": "/Date(631112400000+1100)/"
},
{
"Result": 0.2,
"Time": "/Date(631198800000+1100)/"
}
],

"Units": "ML/d"

},

{
"Metadata": [
{

"Key" : "RunTime",
"Value" : "16/08/2016 2:22:22 PM"
},
{
"Key" : "ScenarioName",
"Value" : "Scenario 1"
}

], 


"Name": "Gauge\\Gauge 16\\Rules Based Orders\\Rules Based Orders@Orders",
"Readings": [
{
"Result": 0,
"Time": "/Date(631112400000+1100)/"
},
{
"Result": 0,
"Time": "/Date(631198800000+1100)/"
}
],
"Units": "ML"
}
]

/timeSeries?instance={instance}&name={parameterName}

Returns a specific timeseries

A Timeseries jSON object contains

Metadata - Key value array

Name - name of timeseries

Units - units string of timeseries

Readings - array of Time, Result objects

{
"Metadata": [
{
"Key" : "RunTime",
"Value" : "16/08/2016 2:22:22 PM"
},
{
"Key" : "ScenarioName",
"Value" : "Scenario 1"
}
], 
"Name": "Gauge\\Gauge 16\\Downstream Flow\\Flow", 
"Readings": [
{
"Result": 0.2,
"Time": "/Date(631112400000+1100)/"
},
{
"Result": 0.2,
"Time": "/Date(631198800000+1100)/"
}
],
"Units": "ML/d"
}

/timeStepValue?instance={instance}&name={parameterName}

returns the last value of a particular timeseries

double value eg. 1.2

/reset?instance={instance}

Reset the loaded project.
true or false

/finish?instance={instance}

Destroys the service associated with the specified instance identifer
true or false

 

An example session of http requests and responses might look like this

RequestResponse
http://localhost:8001/Source/create
1
http://localhost:8001/Source/load?instance=1&project=AllNodes.rsproj
true
http://localhost:8001/Source/run?instance=1
true
http://localhost:8001/Source/allTimeSeries?instance=1
[
{
"Metadata": [
{
"Key" : "RunTime",
"Value" : "16/08/2016 2:22:22 PM"
},
{
"Key" : "ScenarioName",
"Value" : "Scenario 1"
}
], 
"Name": "Gauge\\Gauge 16\\Downstream Flow\\Flow", 
"Readings": [
{
"Result": 0.2,
"Time": "/Date(631112400000+1100)/"
},
{
"Result": 0.2,
"Time": "/Date(631198800000+1100)/"
}
],
"Units": "ML/d"
},
{
"Metadata": [
{
"Key" : "RunTime",
"Value" : "16/08/2016 2:22:22 PM"
},
{
"Key" : "ScenarioName",
"Value" : "Scenario 1"
}
], 

"Name": "Gauge\\Gauge 16\\Rules Based Orders\\Rules Based Orders@Orders",
"Readings": [
{
"Result": 0,
"Time": "/Date(631112400000+1100)/"
},
{
"Result": 0,
"Time": "/Date(631198800000+1100)/"
}
],
"Units": "ML"
}
]
http://localhost:8001/Source/finish?instance=1
true