APIsApplication Programming Interfaces of InfoReach TMS

Application Programming Interfaces (APIs)

Open architecture and APIs allow InfoReach TMS users to interact programmatically with TMS server components. The API consists of two sets of methods: Methods of the first ("subscription") set can be used to subscribe custom application components to the TMS event flow, and methods of the other ("instruction") set can be used to directly instruct the TMS to perform an action.

The event flow exposed to the custom application in real time includes all order-related information, portfolio-related information, market data events, custom record events, position-related information, and report data. The events notify the application components of any changes taking place in the system, and based on that information the instructions can be given to the TMS to perform a set of actions.

Sending/modifying/canceling an order, creating new portfolio, modifying set of portfolio's targets, starting/pausing an analytic that automatically sends order waves are some of the actions available to the users' applications.

In addition to the remote API, the mechanism is provided to plug in custom InfoReach AutoTrader analytics, message preprocessors, filters, GUI defaulters, etc.

In-process API vs. out-of-process API

The “in-process” API allows for development of InfoReach’s proprietary AutoTrader analytic modules. The modules developed with the in-process (a.k.a. AutoTrader) API will run inside the TMS process space. By subscribing to the order/target event flow, a module receives notifications and can make decisions on whether orders should be sent, modified, canceled, etc.

The “out-of-process” API allows users to build external applications that do not run inside the TMS process space and communicate with the TMS remotely. The external apps can instruct the TMS to create new portfolios, add/remove/modify targets in portfolios, subscribe for event flow, make decisions on whether orders should be sent, modified, canceled, etc. All event notifications to the external applications are asynchronous.

The in-process API is in Java. Out-of-process APIs are available in Java, C++, C#, .NET, Python, Go, Ruby, Objective-C, Node.js, and PHP.