Messages in FX Professional
FX Professional executes trade and order workflows by exchanging a series of messages over Caplin Platform messaging channels with back end adapters that implement Caplin’s FX Integration API.
The choreography of messages in each workflow is managed by a trade model. The trade model determines the states in the workflow and the permitted transitions between them. Transitions between states are triggered by messages, and the message specification for the trade model documents the expected fields in each message.
Trade models and message specifications are published with each release of the FX Integration API. Each release of FX Professional requires a minimum version of the FX Integration API, documented in the release notes.
Trade models and message specifications
The trade models and message specifications listed below are published with the FX Integration API 3, which has been a back-end requirement for FX Professional from version 2.19. For the version of FX Integration API supported by your version of FX Professional, please see the FX Sales release notes. For trade models and message specifications required by versions of FX Professional prior to version 2.19, see the archived FX Professional 2 documentation. |
For more information on the FX Integration API trade models and message specifications, see the links below:
Subjects
Assuming a typical back end system has the following integration adapters: Rates, Trading, Orders, Calendar, Historic. The following table denotes what is requested:
Item | Data Type | Adapters Providing | Route | Unmapped Subject | Mapped Subject |
---|---|---|---|---|---|
Streaming rates |
Record |
Rates |
Direct |
/FX/USDJPY/<Tenor>/<DealtCurrency>/<Amount> |
/FX/USDJPY/<Tenor>/<DealtCurrency>/<Amount>/<MarginBand> |
ESP, RFS and PostAllocation trade channel |
Record |
Trading |
Direct |
/PRIVATE/TRADE/FX%1 |
/PRIVATE/%U/TRADE/FX%1 |
Post Allocations - Viewing |
Record |
Historic |
Direct |
/PRIVATE/FX/ALLOCATIONS/<TradeId> |
/PRIVATE/%u/FX/ALLOCATIONS/<TradeId> |
Orders trade channel |
Record |
Orders |
Direct |
/PRIVATE/ORDERS/FX%1 |
/PRIVATE/%U/ORDERS/FX%1 |
Pricing Grids |
Container |
Rates |
via Transformer |
/FX/CONTAINER/<ContainerName> |
/FX/CONTAINER/<ContainerName> |
Activity Blotter |
Container |
Trading |
via Transformer |
/PRIVATE/FX/BLOTTER/ACTIVITY |
/PRIVATE/%u/FX/BLOTTER/ACTIVITY |
Activity blotter items |
Record |
Trading |
via Transformer |
/PRIVATE/FX/BLOTTER/ACTIVITY/ITEM/%1 |
/PRIVATE/%u/FX/BLOTTER/ITEM/%1 |
Execution Blotter |
Container |
Trading, Historic |
via Transformer |
/PRIVATE/FX/BLOTTER/ACTIVITY |
/PRIVATE/%u/FX/BLOTTER/ACTIVITY |
Execution blotter items |
Record |
Trading, Historic |
via Transformer |
/PRIVATE/FX/BLOTTER/ACTIVITY/ITEM/%1 |
/PRIVATE/%u/FX/BLOTTER/ITEM/%1 |
Historic blotter |
Container |
Historic |
Direct |
/PRIVATE/FX/BLOTTER/HISTORIC |
/PRIVATE/%u/FX/BLOTTER/HISTORIC |
Historic blotter items |
Record |
Historic |
Direct |
/PRIVATE/FX/BLOTTER/HISTORIC-ITEM/%1 |
/PRIVATE/%u/FX/BLOTTER/HISTORIC-ITEM/%1 |
Order Blotter |
Container |
Orders |
via Transformer |
/PRIVATE/FX/BLOTTER/ORDER |
/PRIVATE/%u/FX/BLOTTER/ORDER |
Tenor Dates |
Record |
Calendar |
Direct |
/CALENDAR/TENORDATES/<CurrencyPair> |
No mapping |
Settlement Dates |
Record |
Calendar |
Direct |
/CALENDAR/SETTLEMENTDATE/<CurrencyPair>/<Year>/<Month> |
No mapping |
For explanations on data types (records and containers) see here.
A Direct route implies a request for data sent directly through a Liberator and not via a Transformer