Trade model: Amend

This page describes the FX Integration API’s Amend trade model, as defined in the file config/TradingAdapter/Blade/DataSource/etc/trademodels.xml in the FX Integration API Kit.

This documentation is for the FX Integration API 3.53.0.

Trade models are XML-defined state machines used by the Java Trading API, the C Trading API, and Caplin Trader’s Trading API to manage trading workflows. For more information on trade model XML definitions, see the Trade model XML schema reference.

State diagram

The state diagram for the Amend trade model is shown below. To simplify the diagram, the Rejected and Error states have been omitted.

InitialDetailsRequestedDetailsProvidedClientCloseSentSubmittedExecuteSentQueuedExpiredPickedUpClientClosedExecutableExecutedWarningSentTradeConfirmedAcceptWarningSentDetailsRequestDetailsUpdateClientCloseSubmitRisklessSubmitClientCloseSubmitAckClientCloseExpireClientClosePickUpHoldClientCloseAckPriceUpdateWithdrawClientCloseExpirePriceUpdateExecuteResubmitClientCloseExecuteAckPriceUpdateWarningExpireTradeConfirmationAcceptWarningRejectWarningClientCloseAcceptWarningAckLegendTransitions initiated by the client are inyellow.Transitions initiated by the server are inblue.

Messages: client → server

Messages sent by StreamLink clients to the FX API DataSource.

For high-level information on message fields, see Message and record fields. For information about fields in specific messages, see the message specifications below.

DetailsRequest
MsgType
String
Example: DetailsRequest
Name of the transition
RequestID
String
The RequestID. A Unique identifier, must remain the same for each event in the trade model
AmendTradeID
The unique ID of the trade the client wants to Amend
Submit
RFSSubmission
RFSSubmissionLeg Ln
Ln_FixingDate
string
Example: 20150620
This is the day and time whereby the comparison between the NDF rate and the prevailing spot rate is made.
Ln_StartTenor
string
Example: 1W
Ln_StartDate
string
Example: 20150620
Ln_Account
string
Example: Garfields|GARF
The account a trade or order has been submitted against. The format is <description>|<name> or <name>|<name>
Ln_Amount
decimal
The amount of a trade or order in the DealtCurrency.
Ln_BuySell
string
The direction of the trade or trade leg. This always refers to the BaseCurrency, NOT the DealtCurrency.
Ln_SettlementDate
string
Ln_RequestedProfitCurrency
string
Ln_Tenor
string
Example: 1M
Supported types are [ON, [TODAY, TOD, TD], TN, [TOM, ND], SPOT, SN, 1D, 1W, 2W, 3W, 4W, 1M, 2M, 4M, 5M, 6M, 7M, 8M, 9M, 10M, 11M, [1Y, 12M], 15M, 18M, 21M, [2Y, 24M], [3Y, 36M], [4Y, 48M], [5Y, 60M], broken]. broken indicates that a SettlementDate must be sent
Ln_FixingDate
string
Example: 20150620
This is the day and time whereby the comparison between the NDF rate and the prevailing spot rate is made.
BuySell
string
The direction of the trade or trade leg. This always refers to the BaseCurrency, NOT the DealtCurrency.
OneWayDirection
string
CurrencyPair
string
The currency pair for the trade. For example, EURUSD
DealtCurrency
string
The currency of the Amount of a trade or order.
AssetClass
The asset class for the trade; used by permissioning and licensing. Example value: FX
TradingAssetClass
The trading asset class for the trade; used by permissioning and licensing. Example value: FX
TradingProtocol
The trade protocol, e.g, ESP or RFS. The Trading DataSource library needs this so that it knows which state model to use for the trade. Also used for permissioning.
TradingSubProtocol
string
Account
string
Example: Garfields|GARF
The account a trade or order has been submitted against. The format is <description>|<name> or <name>|<name>
TOBOUser
string
Example: client@customer.co.za
The user the trade is on behalf of. For example, if the logged in user dealer1@novobank.co.za wishes to make a trade on behalf of user client@customer.co.za, then the value of this field will be client@customer.co.za.
ControlAddLeg
This is a control field that the front end trading library adds automatically. The user code doesn't need to do anything with this.
TradingType
string
Caplin supported values are [SPOT, FWD, NDF, NDF_FIXING, TIME_OPTION, DRAWDOWN, SWAP, BLOCK]. See the constants defined within com.caplin.motif.fx.trading.FXTradingType for further details.
ForceReporting
boolean
Indicates whether a trade is flagged for reporting
MsgType
String
Example: Submit
Name of the transition
RequestID
String
The RequestID. A Unique identifier, must remain the same for each event in the trade model
Execute
Execution
ExecutionLeg Ln
Ln_BuySell
string
The direction of the trade or trade leg. This always refers to the BaseCurrency, NOT the DealtCurrency.
Ln_Price
string
Ln_FwdBidPoints
decimal
Example: 0.005390
The number of basis points added to or subtracted from the bid rate to determine the forward rate for delivery on a specific value date.
Ln_FwdAskPoints
decimal
Example: 0.005390
The number of basis points added to or subtracted from the ask rate to determine the forward rate for delivery on a specific value date.
Ln_AllInBidRate
decimal
Example: 1.091790
The bid rate used in charging customers for accepting banker's acceptances, consisting of the discount interest rate plus the commission.
Ln_AllInAskRate
decimal
Example: 1.091790
The ask rate used in charging customers for accepting banker's acceptances, consisting of the discount interest rate plus the commission.
Ln_AllInBidMargin
This is the user’s selected SpotBidMargin added to the selected FwdBidMargin
Ln_AllInAskMargin
This is the user’s selected SpotBidMargin added to the selected FwdBidMargin
Ln_FwdBidMargin
This field represents the Forward margin that the sales user has selected. This field should be sent raw and unformatted.
Ln_FwdAskMargin
This field represents the Forward margin that the sales user has selected. This field should be sent raw and unformatted.
Ln_FwdPips
string
Example: 11.98
Ln_FwdBidPips
string
Example: 53.90
Ln_FwdAskPips
string
Example: 53.90
QuoteID
string
The unique ID of the quote the client wants to trade on.
SpotBidRate
decimal
Example: 1.08341
For SPOT quotes this value will be identical to the L1_AllInBidRate. For forward quotes this will contain the SPOT rate that the forward all-in rate was derived from. For forward quotes the value in this field should always equal L1_AllInBidRate - L1_FwdBidPoints.
SpotAskRate
decimal
Example: 1.08349
For SPOT quotes this value will be identical to the L1_AllInAskRate. For forward quotes this will contain the SPOT rate that the forward all-in rate was derived from. For forward quotes the value in this field should always equal L1_AllInAskRate - L1_FwdAskPoints.
AssetClass
The asset class for the trade; used by permissioning and licensing. Example value: FX
TradingAssetClass
The trading asset class for the trade; used by permissioning and licensing. Example value: FX
TradingProtocol
The trade protocol, e.g, ESP or RFS. The Trading DataSource library needs this so that it knows which state model to use for the trade. Also used for permissioning.
SpotBidMargin
This field represents the spot margin that the sales user has selected. It should be sent as a raw value, and unformatted.
SpotAskMargin
This field represents the spot margin that the sales user has selected. It should be sent as a raw value, and unformatted.
SwapBidPoints
decimal
Example: 0.004171
SwapAskPoints
decimal
Example: 0.004934
SwapBidMargin
This field represents the swap margin to be applied to the bid side: L*_FwdAskMargin + L2_FwdBidMargin.
SwapAskMargin
This field represents the swap margin to be applied to the bid side: L*_FwdAskMargin + L2_FwdBidMargin.
IsAdvised
boolean
Indicates whether the trader gave the client advice
Remarks
string
The text content of a comment left on a leg of a trade or order.
TraderRemarks
string
The trader's comments on an order leg - visible to only the Trader
StreamingMode
string
Example: MANUAL, STREAMING
Indicates whether the rates/margins of this trade have been manually set
TraderSpotBidRate
decimal
Example: 1.08575
TraderSpotAskRate
decimal
Example: 1.08575
BidPips
string
Example: 11.98
AskPips
string
Example: 11.98
MsgType
String
Example: Execute
Name of the transition
RequestID
String
The RequestID. A Unique identifier, must remain the same for each event in the trade model
RisklessSubmit
Amend
AmendLeg Ln
Ln_AllInBidMargin
This is the user’s selected SpotBidMargin added to the selected FwdBidMargin
Ln_AllInAskMargin
This is the user’s selected SpotBidMargin added to the selected FwdBidMargin
Ln_FwdBidMargin
This field represents the Forward margin that the sales user has selected. This field should be sent raw and unformatted.
Ln_FwdAskMargin
This field represents the Forward margin that the sales user has selected. This field should be sent raw and unformatted.
Ln_FixingDate
string
Example: 20150620
This is the day and time whereby the comparison between the NDF rate and the prevailing spot rate is made.
Ln_StartTenor
string
Example: 1W
Ln_StartDate
string
Example: 20150620
Ln_Account
string
Example: Garfields|GARF
The account a trade or order has been submitted against. The format is <description>|<name> or <name>|<name>
Ln_Amount
decimal
The amount of a trade or order in the DealtCurrency.
Ln_BuySell
string
The direction of the trade or trade leg. This always refers to the BaseCurrency, NOT the DealtCurrency.
Ln_SettlementDate
string
Ln_RequestedProfitCurrency
string
Ln_Tenor
string
Example: 1M
Supported types are [ON, [TODAY, TOD, TD], TN, [TOM, ND], SPOT, SN, 1D, 1W, 2W, 3W, 4W, 1M, 2M, 4M, 5M, 6M, 7M, 8M, 9M, 10M, 11M, [1Y, 12M], 15M, 18M, 21M, [2Y, 24M], [3Y, 36M], [4Y, 48M], [5Y, 60M], broken]. broken indicates that a SettlementDate must be sent
Ln_FixingDate
string
Example: 20150620
This is the day and time whereby the comparison between the NDF rate and the prevailing spot rate is made.
SpotBidMargin
This field represents the spot margin that the sales user has selected. It should be sent as a raw value, and unformatted.
SpotAskMargin
This field represents the spot margin that the sales user has selected. It should be sent as a raw value, and unformatted.
SwapBidMargin
This field represents the swap margin to be applied to the bid side: L*_FwdAskMargin + L2_FwdBidMargin.
SwapAskMargin
This field represents the swap margin to be applied to the bid side: L*_FwdAskMargin + L2_FwdBidMargin.
BuySell
string
The direction of the trade or trade leg. This always refers to the BaseCurrency, NOT the DealtCurrency.
OneWayDirection
string
CurrencyPair
string
The currency pair for the trade. For example, EURUSD
DealtCurrency
string
The currency of the Amount of a trade or order.
AssetClass
The asset class for the trade; used by permissioning and licensing. Example value: FX
TradingAssetClass
The trading asset class for the trade; used by permissioning and licensing. Example value: FX
TradingProtocol
The trade protocol, e.g, ESP or RFS. The Trading DataSource library needs this so that it knows which state model to use for the trade. Also used for permissioning.
TradingSubProtocol
string
Account
string
Example: Garfields|GARF
The account a trade or order has been submitted against. The format is <description>|<name> or <name>|<name>
TOBOUser
string
Example: client@customer.co.za
The user the trade is on behalf of. For example, if the logged in user dealer1@novobank.co.za wishes to make a trade on behalf of user client@customer.co.za, then the value of this field will be client@customer.co.za.
ControlAddLeg
This is a control field that the front end trading library adds automatically. The user code doesn't need to do anything with this.
TradingType
string
Caplin supported values are [SPOT, FWD, NDF, NDF_FIXING, TIME_OPTION, DRAWDOWN, SWAP, BLOCK]. See the constants defined within com.caplin.motif.fx.trading.FXTradingType for further details.
ForceReporting
boolean
Indicates whether a trade is flagged for reporting
MsgType
String
Example: RisklessSubmit
Name of the transition
RequestID
String
The RequestID. A Unique identifier, must remain the same for each event in the trade model
Resubmit
RFSSubmission
RFSSubmissionLeg Ln
Ln_FixingDate
string
Example: 20150620
This is the day and time whereby the comparison between the NDF rate and the prevailing spot rate is made.
Ln_StartTenor
string
Example: 1W
Ln_StartDate
string
Example: 20150620
Ln_Account
string
Example: Garfields|GARF
The account a trade or order has been submitted against. The format is <description>|<name> or <name>|<name>
Ln_Amount
decimal
The amount of a trade or order in the DealtCurrency.
Ln_BuySell
string
The direction of the trade or trade leg. This always refers to the BaseCurrency, NOT the DealtCurrency.
Ln_SettlementDate
string
Ln_RequestedProfitCurrency
string
Ln_Tenor
string
Example: 1M
Supported types are [ON, [TODAY, TOD, TD], TN, [TOM, ND], SPOT, SN, 1D, 1W, 2W, 3W, 4W, 1M, 2M, 4M, 5M, 6M, 7M, 8M, 9M, 10M, 11M, [1Y, 12M], 15M, 18M, 21M, [2Y, 24M], [3Y, 36M], [4Y, 48M], [5Y, 60M], broken]. broken indicates that a SettlementDate must be sent
Ln_FixingDate
string
Example: 20150620
This is the day and time whereby the comparison between the NDF rate and the prevailing spot rate is made.
BuySell
string
The direction of the trade or trade leg. This always refers to the BaseCurrency, NOT the DealtCurrency.
OneWayDirection
string
CurrencyPair
string
The currency pair for the trade. For example, EURUSD
DealtCurrency
string
The currency of the Amount of a trade or order.
AssetClass
The asset class for the trade; used by permissioning and licensing. Example value: FX
TradingAssetClass
The trading asset class for the trade; used by permissioning and licensing. Example value: FX
TradingProtocol
The trade protocol, e.g, ESP or RFS. The Trading DataSource library needs this so that it knows which state model to use for the trade. Also used for permissioning.
TradingSubProtocol
string
Account
string
Example: Garfields|GARF
The account a trade or order has been submitted against. The format is <description>|<name> or <name>|<name>
TOBOUser
string
Example: client@customer.co.za
The user the trade is on behalf of. For example, if the logged in user dealer1@novobank.co.za wishes to make a trade on behalf of user client@customer.co.za, then the value of this field will be client@customer.co.za.
ControlAddLeg
This is a control field that the front end trading library adds automatically. The user code doesn't need to do anything with this.
TradingType
string
Caplin supported values are [SPOT, FWD, NDF, NDF_FIXING, TIME_OPTION, DRAWDOWN, SWAP, BLOCK]. See the constants defined within com.caplin.motif.fx.trading.FXTradingType for further details.
ForceReporting
boolean
Indicates whether a trade is flagged for reporting
MsgType
String
Example: Resubmit
Name of the transition
RequestID
String
The RequestID. A Unique identifier, must remain the same for each event in the trade model
ClientClose
Execution
ExecutionLeg Ln
Ln_BuySell
string
The direction of the trade or trade leg. This always refers to the BaseCurrency, NOT the DealtCurrency.
Ln_Price
string
Ln_FwdBidPoints
decimal
Example: 0.005390
The number of basis points added to or subtracted from the bid rate to determine the forward rate for delivery on a specific value date.
Ln_FwdAskPoints
decimal
Example: 0.005390
The number of basis points added to or subtracted from the ask rate to determine the forward rate for delivery on a specific value date.
Ln_AllInBidRate
decimal
Example: 1.091790
The bid rate used in charging customers for accepting banker's acceptances, consisting of the discount interest rate plus the commission.
Ln_AllInAskRate
decimal
Example: 1.091790
The ask rate used in charging customers for accepting banker's acceptances, consisting of the discount interest rate plus the commission.
Ln_AllInBidMargin
This is the user’s selected SpotBidMargin added to the selected FwdBidMargin
Ln_AllInAskMargin
This is the user’s selected SpotBidMargin added to the selected FwdBidMargin
Ln_FwdBidMargin
This field represents the Forward margin that the sales user has selected. This field should be sent raw and unformatted.
Ln_FwdAskMargin
This field represents the Forward margin that the sales user has selected. This field should be sent raw and unformatted.
Ln_FwdPips
string
Example: 11.98
Ln_FwdBidPips
string
Example: 53.90
Ln_FwdAskPips
string
Example: 53.90
QuoteID
string
The unique ID of the quote the client wants to trade on.
SpotBidRate
decimal
Example: 1.08341
For SPOT quotes this value will be identical to the L1_AllInBidRate. For forward quotes this will contain the SPOT rate that the forward all-in rate was derived from. For forward quotes the value in this field should always equal L1_AllInBidRate - L1_FwdBidPoints.
SpotAskRate
decimal
Example: 1.08349
For SPOT quotes this value will be identical to the L1_AllInAskRate. For forward quotes this will contain the SPOT rate that the forward all-in rate was derived from. For forward quotes the value in this field should always equal L1_AllInAskRate - L1_FwdAskPoints.
AssetClass
The asset class for the trade; used by permissioning and licensing. Example value: FX
TradingAssetClass
The trading asset class for the trade; used by permissioning and licensing. Example value: FX
TradingProtocol
The trade protocol, e.g, ESP or RFS. The Trading DataSource library needs this so that it knows which state model to use for the trade. Also used for permissioning.
SpotBidMargin
This field represents the spot margin that the sales user has selected. It should be sent as a raw value, and unformatted.
SpotAskMargin
This field represents the spot margin that the sales user has selected. It should be sent as a raw value, and unformatted.
SwapBidPoints
decimal
Example: 0.004171
SwapAskPoints
decimal
Example: 0.004934
SwapBidMargin
This field represents the swap margin to be applied to the bid side: L*_FwdAskMargin + L2_FwdBidMargin.
SwapAskMargin
This field represents the swap margin to be applied to the bid side: L*_FwdAskMargin + L2_FwdBidMargin.
IsAdvised
boolean
Indicates whether the trader gave the client advice
Remarks
string
The text content of a comment left on a leg of a trade or order.
TraderRemarks
string
The trader's comments on an order leg - visible to only the Trader
StreamingMode
string
Example: MANUAL, STREAMING
Indicates whether the rates/margins of this trade have been manually set
TraderSpotBidRate
decimal
Example: 1.08575
TraderSpotAskRate
decimal
Example: 1.08575
BidPips
string
Example: 11.98
AskPips
string
Example: 11.98
MsgType
String
Example: ClientClose
Name of the transition
RequestID
String
The RequestID. A Unique identifier, must remain the same for each event in the trade model
AcceptWarning
MsgType
String
Example: AcceptWarning
Name of the transition
RequestID
String
The RequestID. A Unique identifier, must remain the same for each event in the trade model
RejectWarning
MsgType
String
Example: RejectWarning
Name of the transition
RequestID
String
The RequestID. A Unique identifier, must remain the same for each event in the trade model

Messages: server → client

Messages sent by the FX API DataSource to StreamLink clients.

For high-level information on message fields, see Message and record fields. For information about fields in specific messages, see the message specifications below.

AcceptWarningAck
MsgType
String
Example: AcceptWarningAck
Name of the transition
RequestID
String
The RequestID. A Unique identifier, must remain the same for each event in the trade model
ClientCloseAck
MsgType
String
Example: ClientCloseAck
Name of the transition
RequestID
String
The RequestID. A Unique identifier, must remain the same for each event in the trade model
DetailsUpdate Spot Trade Details
CommonTradeDetailsFields
Account
string
Example: Garfields|GARF
The account a trade or order has been submitted against. The format is <description>|<name> or <name>|<name>
TOBOUser
string
Example: client@customer.co.za
The user the trade is on behalf of. For example, if the logged in user dealer1@novobank.co.za wishes to make a trade on behalf of user client@customer.co.za, then the value of this field will be client@customer.co.za.
OneWayDirection
string
LastActionDateTime
datetime
The time and date of the last action on an order.
RequestedDateTime
datetime
TraderUsername
string
Example: sales_trader@novobank.co.za
The user who entered the trade. This may be on behalf of themselves, or on behalf of someone else. For example, if the logged in user dealer1@novobank.co.za wishes to make a trade on behalf of user client@customer.co.za, then the value of this field will be dealer1@novobank.co.za. If the user client@customer.co.za makes a trade on behalf of themselves it will be client@customer.co.za.
TradeDetailsFields
CurrencyPair
string
The currency pair for the trade. For example, EURUSD
DealtCurrency
string
The currency of the Amount of a trade or order.
TradingType
string
Caplin supported values are [SPOT, FWD, NDF, NDF_FIXING, TIME_OPTION, DRAWDOWN, SWAP, BLOCK]. See the constants defined within com.caplin.motif.fx.trading.FXTradingType for further details.
InterventionTradeDetailsFields
InterventionStatus
string
Use the TradeStatus field instead
TradeStatus
string
Example: AWAITING-PRICE
The current status of the trade. Supported types are [AWAITING-TRADER, AWAITING-PRICE, PRICED, EXECUTING, CLOSED, REJECTED, ERRORED, COMPLETED]. CLOSED means the client cancelled the trade request, REJECTED indicates it was rejected by the dealer.
Dealable
boolean
Whether a trade request can be picked up by a sales trader
PricingMode
string
Example: AUTO
Whether the trade is being automatically or manually priced. Supported types are [AUTO, MANUAL]
Competition
boolean
Whether a quote request is in competition. For example, true for quotes from an ECN and false for quotes from an SDP
PrimaryReason
string
Example: This trade exceeds the GFA
The headline reason that a trade requires intervention.
Reasons
string
A JSON structure containing all the reasons and information about why the trade requires intervention. Please see the Sales Intervention Reasons documentation on the website for more information.
TradeRequestID
string
Source
string
The source of a quote request. The name or ID of an ECN, SDP or other channel
IntervenerUsername
string
Example: head_trader@novobank.co.za
The user who is currently intervening on and potentially pricing a trade.
LegTradeDetailsFields L1
L1_Amount
decimal
The amount of a trade or order in the DealtCurrency.
L1_SettlementDate
string
L1_Tenor
string
Example: 1M
Supported types are [ON, [TODAY, TOD, TD], TN, [TOM, ND], SPOT, SN, 1D, 1W, 2W, 3W, 4W, 1M, 2M, 4M, 5M, 6M, 7M, 8M, 9M, 10M, 11M, [1Y, 12M], 15M, 18M, 21M, [2Y, 24M], [3Y, 36M], [4Y, 48M], [5Y, 60M], broken]. broken indicates that a SettlementDate must be sent
L1_BuySell
string
The direction of the trade or trade leg. This always refers to the BaseCurrency, NOT the DealtCurrency.
L1_Account
string
Example: Garfields|GARF
The account a trade or order has been submitted against. The format is <description>|<name> or <name>|<name>
DetailsUpdate Forward Trade Details
CommonTradeDetailsFields
Account
string
Example: Garfields|GARF
The account a trade or order has been submitted against. The format is <description>|<name> or <name>|<name>
TOBOUser
string
Example: client@customer.co.za
The user the trade is on behalf of. For example, if the logged in user dealer1@novobank.co.za wishes to make a trade on behalf of user client@customer.co.za, then the value of this field will be client@customer.co.za.
OneWayDirection
string
LastActionDateTime
datetime
The time and date of the last action on an order.
RequestedDateTime
datetime
TraderUsername
string
Example: sales_trader@novobank.co.za
The user who entered the trade. This may be on behalf of themselves, or on behalf of someone else. For example, if the logged in user dealer1@novobank.co.za wishes to make a trade on behalf of user client@customer.co.za, then the value of this field will be dealer1@novobank.co.za. If the user client@customer.co.za makes a trade on behalf of themselves it will be client@customer.co.za.
TradeDetailsFields
CurrencyPair
string
The currency pair for the trade. For example, EURUSD
DealtCurrency
string
The currency of the Amount of a trade or order.
TradingType
string
Caplin supported values are [SPOT, FWD, NDF, NDF_FIXING, TIME_OPTION, DRAWDOWN, SWAP, BLOCK]. See the constants defined within com.caplin.motif.fx.trading.FXTradingType for further details.
InterventionTradeDetailsFields
InterventionStatus
string
Use the TradeStatus field instead
TradeStatus
string
Example: AWAITING-PRICE
The current status of the trade. Supported types are [AWAITING-TRADER, AWAITING-PRICE, PRICED, EXECUTING, CLOSED, REJECTED, ERRORED, COMPLETED]. CLOSED means the client cancelled the trade request, REJECTED indicates it was rejected by the dealer.
Dealable
boolean
Whether a trade request can be picked up by a sales trader
PricingMode
string
Example: AUTO
Whether the trade is being automatically or manually priced. Supported types are [AUTO, MANUAL]
Competition
boolean
Whether a quote request is in competition. For example, true for quotes from an ECN and false for quotes from an SDP
PrimaryReason
string
Example: This trade exceeds the GFA
The headline reason that a trade requires intervention.
Reasons
string
A JSON structure containing all the reasons and information about why the trade requires intervention. Please see the Sales Intervention Reasons documentation on the website for more information.
TradeRequestID
string
Source
string
The source of a quote request. The name or ID of an ECN, SDP or other channel
IntervenerUsername
string
Example: head_trader@novobank.co.za
The user who is currently intervening on and potentially pricing a trade.
LegTradeDetailsFields L1
L1_Amount
decimal
The amount of a trade or order in the DealtCurrency.
L1_SettlementDate
string
L1_Tenor
string
Example: 1M
Supported types are [ON, [TODAY, TOD, TD], TN, [TOM, ND], SPOT, SN, 1D, 1W, 2W, 3W, 4W, 1M, 2M, 4M, 5M, 6M, 7M, 8M, 9M, 10M, 11M, [1Y, 12M], 15M, 18M, 21M, [2Y, 24M], [3Y, 36M], [4Y, 48M], [5Y, 60M], broken]. broken indicates that a SettlementDate must be sent
L1_BuySell
string
The direction of the trade or trade leg. This always refers to the BaseCurrency, NOT the DealtCurrency.
L1_Account
string
Example: Garfields|GARF
The account a trade or order has been submitted against. The format is <description>|<name> or <name>|<name>
NDFLegTradeDetailsFields L1
L1_FixingDate
string
Example: 20150620
This is the day and time whereby the comparison between the NDF rate and the prevailing spot rate is made.
TimeOptionLegTradeDetailsFields L1
L1_StartDate
string
Example: 20150620
L1_StartTenor
string
Example: 1W
DetailsUpdate Swap Trade Details
CommonTradeDetailsFields
Account
string
Example: Garfields|GARF
The account a trade or order has been submitted against. The format is <description>|<name> or <name>|<name>
TOBOUser
string
Example: client@customer.co.za
The user the trade is on behalf of. For example, if the logged in user dealer1@novobank.co.za wishes to make a trade on behalf of user client@customer.co.za, then the value of this field will be client@customer.co.za.
OneWayDirection
string
LastActionDateTime
datetime
The time and date of the last action on an order.
RequestedDateTime
datetime
TraderUsername
string
Example: sales_trader@novobank.co.za
The user who entered the trade. This may be on behalf of themselves, or on behalf of someone else. For example, if the logged in user dealer1@novobank.co.za wishes to make a trade on behalf of user client@customer.co.za, then the value of this field will be dealer1@novobank.co.za. If the user client@customer.co.za makes a trade on behalf of themselves it will be client@customer.co.za.
TradeDetailsFields
CurrencyPair
string
The currency pair for the trade. For example, EURUSD
DealtCurrency
string
The currency of the Amount of a trade or order.
TradingType
string
Caplin supported values are [SPOT, FWD, NDF, NDF_FIXING, TIME_OPTION, DRAWDOWN, SWAP, BLOCK]. See the constants defined within com.caplin.motif.fx.trading.FXTradingType for further details.
InterventionTradeDetailsFields
InterventionStatus
string
Use the TradeStatus field instead
TradeStatus
string
Example: AWAITING-PRICE
The current status of the trade. Supported types are [AWAITING-TRADER, AWAITING-PRICE, PRICED, EXECUTING, CLOSED, REJECTED, ERRORED, COMPLETED]. CLOSED means the client cancelled the trade request, REJECTED indicates it was rejected by the dealer.
Dealable
boolean
Whether a trade request can be picked up by a sales trader
PricingMode
string
Example: AUTO
Whether the trade is being automatically or manually priced. Supported types are [AUTO, MANUAL]
Competition
boolean
Whether a quote request is in competition. For example, true for quotes from an ECN and false for quotes from an SDP
PrimaryReason
string
Example: This trade exceeds the GFA
The headline reason that a trade requires intervention.
Reasons
string
A JSON structure containing all the reasons and information about why the trade requires intervention. Please see the Sales Intervention Reasons documentation on the website for more information.
TradeRequestID
string
Source
string
The source of a quote request. The name or ID of an ECN, SDP or other channel
IntervenerUsername
string
Example: head_trader@novobank.co.za
The user who is currently intervening on and potentially pricing a trade.
LegTradeDetailsFields L1
L1_Amount
decimal
The amount of a trade or order in the DealtCurrency.
L1_SettlementDate
string
L1_Tenor
string
Example: 1M
Supported types are [ON, [TODAY, TOD, TD], TN, [TOM, ND], SPOT, SN, 1D, 1W, 2W, 3W, 4W, 1M, 2M, 4M, 5M, 6M, 7M, 8M, 9M, 10M, 11M, [1Y, 12M], 15M, 18M, 21M, [2Y, 24M], [3Y, 36M], [4Y, 48M], [5Y, 60M], broken]. broken indicates that a SettlementDate must be sent
L1_BuySell
string
The direction of the trade or trade leg. This always refers to the BaseCurrency, NOT the DealtCurrency.
L1_Account
string
Example: Garfields|GARF
The account a trade or order has been submitted against. The format is <description>|<name> or <name>|<name>
LegTradeDetailsFields L2
L2_Amount
decimal
The amount of a trade or order in the DealtCurrency.
L2_SettlementDate
string
L2_Tenor
string
Example: 1M
Supported types are [ON, [TODAY, TOD, TD], TN, [TOM, ND], SPOT, SN, 1D, 1W, 2W, 3W, 4W, 1M, 2M, 4M, 5M, 6M, 7M, 8M, 9M, 10M, 11M, [1Y, 12M], 15M, 18M, 21M, [2Y, 24M], [3Y, 36M], [4Y, 48M], [5Y, 60M], broken]. broken indicates that a SettlementDate must be sent
L2_BuySell
string
The direction of the trade or trade leg. This always refers to the BaseCurrency, NOT the DealtCurrency.
L2_Account
string
Example: Garfields|GARF
The account a trade or order has been submitted against. The format is <description>|<name> or <name>|<name>
ExecuteAck
MsgType
String
Example: ExecuteAck
Name of the transition
RequestID
String
The RequestID. A Unique identifier, must remain the same for each event in the trade model
Expire
MsgType
String
Example: Expire
Name of the transition
RequestID
String
The RequestID. A Unique identifier, must remain the same for each event in the trade model
Hold
MsgType
String
Example: Hold
Name of the transition
RequestID
String
The RequestID. A Unique identifier, must remain the same for each event in the trade model
PickUp
MsgType
String
Example: PickUp
Name of the transition
RequestID
String
The RequestID. A Unique identifier, must remain the same for each event in the trade model
PriceUpdate Spot Quote
ERROR: Missing definition for com.caplin.generated.motif.fx.rates.QuotePartsDef.CommonFields
ERROR: Missing definition for com.caplin.generated.motif.fx.rates.QuotePartsDef.LegFields
L1
PriceUpdate Sales Spot Quote
ERROR: Missing definition for com.caplin.generated.motif.fx.rates.QuoteTypesDef.SpotQuote
ERROR: Missing definition for com.caplin.generated.motif.fx.rates.QuotePartsDef.SalesCommonFields
ERROR: Missing definition for com.caplin.generated.motif.fx.rates.QuotePartsDef.SalesLegFields
L1
PriceUpdate Forward Quote
ERROR: Missing definition for com.caplin.generated.motif.fx.rates.QuotePartsDef.CommonFields
ERROR: Missing definition for com.caplin.generated.motif.fx.rates.QuotePartsDef.LegFields
L1
PriceUpdate Sales Forward Quote
ERROR: Missing definition for com.caplin.generated.motif.fx.rates.QuoteTypesDef.ForwardQuote
ERROR: Missing definition for com.caplin.generated.motif.fx.rates.QuotePartsDef.SalesCommonFields
ERROR: Missing definition for com.caplin.generated.motif.fx.rates.QuotePartsDef.SalesLegFields
L1
PriceUpdate Swap Quote
ERROR: Missing definition for com.caplin.generated.motif.fx.rates.QuotePartsDef.CommonFields
ERROR: Missing definition for com.caplin.generated.motif.fx.rates.QuotePartsDef.LegFields
L1
ERROR: Missing definition for com.caplin.generated.motif.fx.rates.QuotePartsDef.LegFields
L2
ERROR: Missing definition for com.caplin.generated.motif.fx.rates.QuotePartsDef.SwapQuoteFields
PriceUpdate Sales Swap Quote
ERROR: Missing definition for com.caplin.generated.motif.fx.rates.QuoteTypesDef.SwapQuote
ERROR: Missing definition for com.caplin.generated.motif.fx.rates.QuotePartsDef.SalesCommonFields
ERROR: Missing definition for com.caplin.generated.motif.fx.rates.QuotePartsDef.SalesLegFields
L1
ERROR: Missing definition for com.caplin.generated.motif.fx.rates.QuotePartsDef.SalesLegFields
L2
ERROR: Missing definition for com.caplin.generated.motif.fx.rates.QuotePartsDef.SalesSwapQuoteFields
Reject
MsgType (ERROR: missing field definition)
Example: Reject
Name of the transition
RequestID (ERROR: missing field definition)
SubmitAck
MsgType (ERROR: missing field definition)
Example: SubmitAck
Name of the transition
RequestID (ERROR: missing field definition)
TradeConfirmation Spot Trade Confirmation
ERROR: Missing definition for com.caplin.generated.motif.fx.tradeconfirmation.TradeConfPartsDef.CommonTradeConfirmationFields
ERROR: Missing definition for com.caplin.generated.motif.fx.tradeconfirmation.TradeConfPartsDef.LegTradeConfirmationFields
L1
TradeConfirmation Forward Trade Confirmation
ERROR: Missing definition for com.caplin.generated.motif.fx.tradeconfirmation.TradeConfPartsDef.CommonTradeConfirmationFields
ERROR: Missing definition for com.caplin.generated.motif.fx.tradeconfirmation.TradeConfPartsDef.LegTradeConfirmationFields
L1
ERROR: Missing definition for com.caplin.generated.motif.fx.tradeconfirmation.TradeConfPartsDef.NDFLegTradeConfirmationFields
L1
ERROR: Missing definition for com.caplin.generated.motif.fx.tradeconfirmation.TradeConfPartsDef.TimeOptionLegTradeConfirmationFields
L1
TradeConfirmation Swap Trade Confirmation
ERROR: Missing definition for com.caplin.generated.motif.fx.tradeconfirmation.TradeConfPartsDef.CommonTradeConfirmationFields
ERROR: Missing definition for com.caplin.generated.motif.fx.tradeconfirmation.TradeConfPartsDef.LegTradeConfirmationFields
L1
ERROR: Missing definition for com.caplin.generated.motif.fx.tradeconfirmation.TradeConfPartsDef.LegTradeConfirmationFields
L2
ERROR: Missing definition for com.caplin.generated.motif.fx.tradeconfirmation.TradeConfPartsDef.SwapTradeConfirmationFields
Warning
MsgType (ERROR: missing field definition)
Example: Warning
Name of the transition
RequestID (ERROR: missing field definition)
Withdraw
MsgType (ERROR: missing field definition)
Example: Withdraw
Name of the transition
RequestID (ERROR: missing field definition)