Versions Compared

Key

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

...

Items shown between curly braces are parameters that you would configure as part of the call. 

Interface Address

Function

Example

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.

-a "net.pipe://localhost/PipeReverse"
You Typed: {message}

/projectDirectory/{*projectDirectory}

Directory in which to look for projects
--baseSIUnits
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.
-c "c:\StateFiles\state.txt"
{instance} identifer

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

Path to the project, or project name on server and optional scenario within that project.
-d "c:\ProjectFiles"
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
-l "plugin.dll"
{
"Project" : "projectName"
"Scenario" : "scenarioName"
}

/run?instance={instance}

Executes the active scenario from its current location to the end
-m Client
true or 
-m Server
false

/step?instance={instance}

Moves forward 1 time step in the active scenario
-o "output.res.csv" for CSV or -o "output.nc"
true or false

/getStep?instance={instance}

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

-p "projectName.rspr
{
"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 -

-reset

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 -

-current

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

-v "$metaparam=25", or -v "$anotherMetaParam=2.3"
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