Configuring a RET Adapter

You can find general information on changing adapter properties in the online developer documentation: Configuring your RET Adapters.

From completing the previous training modules in this series, you should by now have a running environment along with all the RET adapters exported as blades. If you were to connect your current environment and Caplin’s back-end systems (Caplin Platform) to a Caplin front-end application (for example, Caplin FX Professional Motif) you would be able to see trading data and carry out ESP (executable streaming price) trades.

In this tutorial you will learn how to configure the behaviour of your adapters by changing their configuration files - namely and You can find these files inside your Deployment Framework directory under /global_config/overrides/<Adapter>/etc/.

Download the presentations for this course.


You will look at ways of modifying default RET adapter behaviour using existing config options, where you will:

  • Edit specific configuration files for each of the RET Adapters.

  • Look at configuring the RET connection properties as well as defining various adapter properties.

There are different ways to configure the RET Adapters depending on what layer and which connection you are looking at.

Using the Deployment Framework to configure your adapters

The adapter configuration options for the datasource as well configuring the datasource behaviour with Liberator and Transformer can be found in this document: Change server-specific configuration. You can refer to the examples contained in that documentation as a guide.


The global_config/overrides/<Adapter>/etc/ file defines the behaviour of an adapter. For detailed descriptions of the available configuration options, see Configuration file:

Example config, displaying the various options available:

# Common adapter settings

# Time gap between two trades for the same currency
# one_click_gap_time=

# Time interval for JMX statistics publishing
# jmx_publish_interval=

# Enables the director user manager
# use_director_user_manager=

# These are the precious metal unit conversions.
metal_conversion=XAUUSD:[KG 995, 31.99], [KG 999, 32.12], [KG 9999, 32.148], [100G 999, 3.212], [10 TOLA, 3.746]
metal_conversion=XAGUSD:[KG,32.1507], [TON, 32150.7]
metal_conversion=XPTUSD:[KG, 32.150722]
metal_conversion=XPDUSD:[KG, 32.150722]

# Error messages from RET - example for a FxTradingAdapter
message_translation=code:100,category:TradeRejection,pattern:.*client price has been expired.*
message_translation=code:101,category:TradeRejection,pattern:.*not favour to bank.*
message_translation=code:102,category:TradeRejection,pattern:.*gap time period.*
message_translation=code:103,category:TradeRejection,pattern:.*No manual trader currently logged in.*
message_translation=code:104,category:TradeRejection,pattern:.*One click deal do not have valid price.*
message_translation=code:105,category:TradeRejection,pattern:^Trading in currency .+ has been suspended$
message_translation=code:106,category:TradeRejection,pattern:.*Trader terminated.*
message_translation=code:107,category:TradeRejection,pattern:^Represented user .+ does not have permission to submit this order$
message_translation=code:108,category:TradeRejection,pattern:.*Streamtime expired.*
message_translation=code:109,category:TradeRejection,pattern:.*Taker log differs from submit XML.*
message_translation=code:110,category:TradeRejection,pattern:.*Less than.*seconds since last trade.*
message_translation=code:111,category:TradeRejection,pattern:.*is not a valid settlement date.*
message_translation=code:112,category:TradeRejection,pattern:.*Credit violation - Counterparty mismatch.*
message_translation=code:113,category:TradeRejection,pattern:.*Unable to accept old price.*
message_translation=code:114,category:TradeRejection,pattern:.*Price timeout.*
message_translation=code:115,category:TradeRejection,pattern:.*Deal failed arbitration.*
message_translation=code:116,category:TradeRejection,pattern:.*One Click Trading is not allowed.*

# OrderAdapter
# Set this to true to enable the alert feature for orders

# The order statuses that trigger an alert on the front end.

# FxTradingAdapter
# Enable to check time gap between two trades for the same currency

# LBNAdapter
# How many days to fetch for historic blotter and hour when to restart the adapter # historic_blotter_days_to_fetch= # blotter_rollover_hour=
# Set this if you want the executed & historic blotters to show
# only the completed deals. Otherwise don't set these attributes as by default they are both false.

# PermissioningAdapter
# Load permissions from different sources in one transaction instead of separate once

Message Translations

Message translations are regular expressions that match any exceptions thrown by Refinitiv APIs that we then map to an error code. With the Caplin FX Professional web app, this allows you to handle errors more effectively.

If the adapter receives an error message via RET and there is no matching message translation defined, the Adapter will then send out a default error code. This code will be 199 for all RET Adapters except for the Order Adapter, where the code will be 299 instead.

Configuring the file is dependant on how your RET system integration is setup, this makes it difficult to generate specific error behaviour. Therefore, while we don’t provide any exercises on configuring you are free to play around with some of the options available providing that your system allows it.

Configuring the connection to TrAPI

The file is used to define the behaviour of the connection between the adapter and the RET system, via the Refinitiv Trading API (TrAPI). You can access these connection properties under global_config/overrides/<Adapter>/etc/

All config for an adapter can be found either inside the adapters file, or in templates that are available within the documentation folder inside CaplinRETAdapterSuite.

Try this yourself

If you remember previously, you made some changes to the in the Creating a RET Adapter training module to connect to your RET system for each adapter.

In following exercise you will learn how to change a configuration option to load only a specific set of properties.

  1. Find global_config/overrides/CalendarAdapter/etc/ and add the following configuration for all your adapters:

  2. As you have made changes to a configuration file in the adapters, you will need to restart them. Do this by opening a Cygwin console on your machine and navigating to your Deployment Framework’s topmost directory. Then execute the following command:

    ./dfw start

The configuration change we made to / is helpful when analysing bugs with a smaller set of currencies, and it enables adapters to load faster.

Now open the Caplin FX Professional web app. The tiles frame drop-down should now show fewer options.

You see currency pairs as well as their inverse currency pairs, if provided by the RET system.
RET adapter professional motif config