Data Exchange API

The Data Exchange API is a RESTful data service based on the Open Data Protocol that can be used to send data from a third-party tool into NeoLoad.

Note: The entries sent to the Data Exchange API are sent to NeoLoad Web by the NeoLoad Controller through the Monitoring API. The data sent are: "Path", "Value", "Timestamp", "Unit". The Context is not sent to NeoLoad Web.

License information

License module "Data Exchange API" is required to use this service.

Open Data Protocol (OData)

OData is a standardized protocol for creating and reading data APIs. Odata builds on core protocols like http and commonly accepted methodologies like REST. The result is a uniform way to create full-featured data APIs.

NeoLoad receives external data to generate the results displayed in the GUI.

The Data Exchange API module makes it easy to integrate data from a third party tool, like Perfecto Mobile, Jamo Solutions or Selenium.

The Data Exchange API can be used with any client and there is already a Java client and a C# client to make the use of the API easier.

JavaScript Object Notation (JSON) formatting

NeoLoad Open API currently accepts JSON format.

JSON is a lightweight data-interchange format. It is easy for humans to read and write. JSON is built on a collection of name/value pairs implemented in most modern languages.

You can create your own scripts to send data to the NeoLoad Server from any application.

Data model

Click here to learn more about the Data Exchange API data model and to see examples for requests and responses.

Identify the client

You can identify a client by configuring the identification at the project level in the REST API panel of the Project settings.

Every client may have an identification key (the identification key is then sent with each entry; the identification applies for each call because the client/server connection is stateless).

If an unauthorized client pushes data to the server:

  • The entry is discarded.

  • A message is logged with an ERROR level severity. Only one error is logged per client and per test run. For example, if 2 unauthorized clients send 10 entries, only 2 error messages will be printed in the Controller log file for the current test. If the same clients send the same entries during another test, then the same 2 error messages will appear in the log file.

  • A "401 Unauthorized" error is returned to the client.

Indentification requirements

Identification is mandatory when you execute your project from NeoLoad Web with Cloud Load Generators. Additionally, for this type of Load Generator, you must configure the monitor that communicates with the Data Exchange API:

  1. Create a parameter named dataExchangeApiKey.

  2. Set its value to one of your project's API keys.

Add the parameter dataExchangeApiKey if you use Cloud Load Generators.

Note that for other Load Generator types, the requirement of identification depends on the use case and application needs.

End point

The NeoLoad Controller embeds a REST API server that listens on port 7400. The Data Exchange API method can be called using the URL:

http://localhost:7400/DataExchange/v1/Service.svc/

The port can be customized and the communication secured in configuration file controller.properties. For more information, see REST APIs.