If at anytime you require assistance from CTS you must send in your FIX messages to
API@ctsfutures.com.
Our API support will not answer if the messages aren't delimited in a reasonable way for readability
Session InitiationAfter a successful SSL connection, the T4 FIX API basic requirement is to have both the Initiator and Acceptor start with sequence number 1. The client will initiate the FIX Session by sending a Logon Message to the T4 FIX API server. Successful authentication will be responded with a Logon message echo. The Password field (Password - Tag 554) of the API server logon message will be identified with an asterisk.
Drop of a physical connection will result in the end of a FIX Session. Upon reconnection, the client is required to start a new FIX Session with sequence number 1. The T4 API server will appropriately respond with messages starting with sequence number 1.
Authentication RequirementsAfter a successful physical connection to the T4 FIX API server, authenticated access is achieved with the following T4 input parameters in the client's Logon message:
Tag Name | Tag Number | Description |
---|
TargetCompId | 56 | T4 Firm assigned in registration email or by firm |
UserName | 553 | T4 User |
Password | 554 | T4 Password |
| | |
SenderCompId | 49 | T4 Application Name if using the simulator enter T4Example for app name |
SecureData | 91 | License Code for the T4 Application IF your are using the T4Example use 112A04B0-5AAF-42F4-994E-FA7CB959C60B |
SecureDataLen | 90 | Length of License Code string |
Failure to provide the correct parameters in the Logon message will result in an logon failure. Appropriately, a
Logout message will be sent to the client. The
Logout message will contain a short description of the failure to help determine the cause of failed authentication. Thereafter, a physical disconnection will occur. As the FIX Session failed, the T4 FIX API will expect a new attempt for a new FIX session. The next Logon message (from the client) must start with sequence number 1.
Setting FIX Session Properties upon LogonThe T4 FIX API provides enhanced control of FIX Session functionalities. Upon successful authentication, the optional RefMsgType group allows the user to set FIX Session properties. The T4 FIX API processes such RefMsgTypes and applies the requested connection characteristics. The functionalities include the ability to control the messages transmitted during order entry (i.e. pending reports), the market data and order pricing format (i.e. decimal or ticks), disabling auto subscribtion to all user accounts and listing of the current portfolio orders, fills, positions and account details.
Default Logon PropertiesA successful FIX Session is acknowledged with the expected (echo) Logon message. In addition, if no RefMsgTypes (Tag 372) are specified in the Logon request, the T4 FIX API will automatically return the account portfolio (as
Execution Reports) and account details (as
Collateral Reports). To disable automatic portfolio/account-details listing (a.k.a. AutoPortfolio Refresh), the Logon request message must explicitly include a RefMsgType equal to "d" (Tag 372=d). This option (Tag 372=d) provides minimum login message flow at the expense of potentially missing order/fill updates that occurred while disconnected. By default, the T4 FIX API will also automatically subscribe to
all accounts authorized for the logon user (unless disabled with RefMsgType equal to "BB" - Tag 372=BB).
User ConfigurationFor a successful Login, the T4 FIX API requires the Logon User to have previously assigned accounts and exchanges. Before FIX API usage, the user is required to complete Market Data Requirements through its Firm set up page. Lack of proper configuration will result in a FIX Logout - indicating the lack of account or exchange assignment for the violating User. This requirement is not applied for Chart data logins (Tag 372=V).
Message DictionaryTag | Field Name | Req'd | Comments |
---|
| Standard Header | Y | MsgType = A |
91 | SecureData | Y | License Code for the T4 Application |
90 | SecureDataLen | Y | Length of License Code string |
49 | SenderCompID | Y | T4 Application Name (inbound login into FIX API server). T4 Firm Name (outbound login from FIX API server). |
56 | TargetCompID | Y | T4 Firm Name (inbound login into FIX API server). T4 Application Name (outbound login from FIX API server). |
| Body | Y | |
98 | EncryptMethod | Y | Value = 0 (none). Always Unencrypted. |
108 | HeartBtInt | Y | Heartbeat interval. Set to 30 seconds. |
553 | UserName | Y | T4 User |
554 | Password | Y | T4 Password |
925 | NewPassword | N | T4 New password to change. Future sessions will be authenticated under this new password (using Tag 554). Must follow password complexity requirements. |
1408 | DefaultCstmApplVerID | N | The application version for this FIX API release. Version Id consists of the 4 octets: (1) Major Version (2) Minor Version (3) Build Number and (4) Revision. |
1407 | DefaultApplExtID | N | The application fingerprint for client logon. |
| Start Repeating Group | |
384 | NoMsgTypes | N | Number of referenced MsgTypes (35) in repeating group. |
372 | RefMsgType | N | Sets MsgTypes for various FIX Session functionalities. Required if NoMsgTypes is > 0. The following MsgTypes set FIX Session properties as described below: |
| | | d = Disables listing of portfolio orders, positions and account details (AutoPortfolio Refresh) - upon successful login. |
| | | BB = Disables automatic subscription to all accounts of the logon user. |
| | | c = Enables security definitions requests. |
| | | 8 = Enables Pending Execution reports for order submittal, cancel replaces and cancel requests. |
| | | D = Enables Decimal pricing in order entry, market and chart data. This is required to use the 8 decimal place 2yr Note prices from January 2019 onwards. |
| | | BA = Enables Drop Copies only. All account events are reported but order submittal is disabled. |
| | | BG = Enables dynamic account notifications. Position and Account collateral reports will be generated automatically. |
| | | CB = Disables User Notifications. Account notices, exchange notices and market RFQs are not received. |
| | | V = Enables Chart Data requests. |
| | | UCG = Enables Multi-Trader mode with Trader Logons. |
| End Repeating Group | |
| Standard Trailer | Y |
SampleIn this example, the T4 FIX API client requests the start of a FIX Session. The client disables portfolio lists (Tag 372=d). Subsequently, the login request is successful as signaled by a Login message response from the T4 FIX API.
Login Request from T4 FIX API Client
>> 6/7/2013 9:47:22 AM [FIXLOGIN] 34=1|49=T4Example|56=T4|52=20130607-14:47:22.872|91=112A04B0-5AAF-42F4-994E-FA7CB959C60B|90=36|98=0|108=30|553=_username_|554=_password_|384=1|372=d|
[FIXLOGIN]
[MsgSeqNum] 34 = 1
[SenderCompID] 49 = T4Example
[TargetCompID] 56 = T4 Firm assigned in registration email or by firm
[SendingTime] 52 = 20130607-14:47:22.872
[SecureData] 91 = 112A04B0-5AAF-42F4-994E-FA7CB959C60B
[SecureDataLen] 90 = 36
[EncryptMethod] 98 = 0
[HeartBtInt] 108 = 30
[UserName] 553 = _username_
[Password] 554 = _password_
[NoMsgTypes] 384 = 2
[RefMsgType] 372 = d (DISABLE_PORTFOLIO_LISTING)
[RefMsgType] 372 = D (DECIMAL PRICING)
Successful Login Response from T4 FIX API
<< 6/7/2013 9:47:24 AM [fixlogin] 34=1|49=T4|56=T4Example|50=T4FIX|52=20130607-14:47:24.085|98=0|108=30|553=_username_|554=***|1408=4.1.1.1|
[FIXLOGIN]
[MsgSeqNum] 34 = 1
[SenderCompID] 49 = T4
[TargetCompID] 56 = T4Example
[SenderSubID] 50 = T4FIX
[SendingTime] 52 = 20130607-14:47:24.085
[EncryptMethod] 98 = 0
[HeartBtInt] 108 = 30
[UserName] 553 = _username_
[Password] 554 = ***
[DefaultCstmApplVerID] 1408 = 4.1.1.1
FIX API Home Page.