developers:fixapi:logon

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

developers:fixapi:logon [2025/09/12 01:09] – created chaddevelopers:fixapi:logon [2025/09/12 02:20] (current) chad
Line 1: Line 1:
-==== Logon ====+====== LOGON [35=A] ======
  
-If at anytime you require assistance from CTS you must send in your FIX messages to [email protected]  +The Logon message initiates FIX session with authentication and session configuration.
-Our API support will not answer if the messages aren't delimited in reasonable way for readability.+
  
-===== Session Initiation =====+===== Authentication ===== 
 +**Required credentials:** 
 +^ Tag ^ Field ^ Description ^ 
 +| 49 | SenderCompID | T4 Application Name (use "T4Example" for simulator) | 
 +| 56 | TargetCompID | T4 Firm Name | 
 +| 553 | UserName | T4 User | 
 +| 554 | Password | T4 Password | 
 +| 91 | SecureData | License Code (use 112A04B0-5AAF-42F4-994E-FA7CB959C60B for T4Example) | 
 +| 90 | SecureDataLen | Length of license code |
  
-After 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 554of the API server logon message will be identified with an asterisk.+===== Session Properties (RefMsgType) ===== 
 +^ Value ^ Function ^ 
 +| d | Disable AutoPortfolio refresh | 
 +| BB | Disable auto account subscription | 
 +| c | Enable security definitions | 
 +| 8 | Enable pending execution reports | 
 +| D | Enable decimal pricing (required for 8-decimal instruments
 +| BA | Drop copy mode (reporting only) | 
 +| BG | Dynamic account notifications | 
 +| CB | Disable user notifications | 
 +| V | Chart data requests | 
 +| UCG | Multi-Trader mode |
  
-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.+===== Message Specification =====
  
-===== Authentication Requirements =====+**Message Direction:** Client → T4
  
-After 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 ^ Field Name ^ Type ^ Req'd ^ Description ^ 
 +| | **Message Header** | | Y | MsgType = A | 
 +| 91 | SecureData | String | Y | Application license code | 
 +| 90 | SecureDataLen | Int | Y | License code length | 
 +| 98 | EncryptMethod | Int | Y | Always 0 (none) | 
 +| 108 | HeartBtInt | Int | Y | Heartbeat interval (30 seconds) | 
 +| 553 | UserName | String | Y | T4 User | 
 +| 554 | Password | String | Y | T4 Password | 
 +| 925 | NewPassword | String | O | Change password | 
 +| 1408 | DefaultCstmApplVerID | String | O | API version | 
 +| 1407 | DefaultApplExtID | String | O | Application fingerprint | 
 +| 384 | NoMsgTypes | Int | O | Number of RefMsgTypes | 
 +| →372 | RefMsgType | String | C | Session properties (see table) | 
 +| | **Message Trailer** | | Y | |
  
-^ Tag Name        ^ Tag Number  ^ Description                                                                                      ^ +===== Sample Messages =====
-| 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 you 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 a 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 Logon ===== +
- +
-The 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 subscription to all user accounts and listing of the current portfolio orders, fills, positions and account details. +
- +
-===== Default Logon Properties ===== +
- +
-A 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 Configuration ===== +
- +
-For 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 setup 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 Dictionary ===== +
- +
-^ Tag    ^ Field Name           ^ Req' ^ 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) +
-| 56     | TargetCompID         | Y      | T4 Firm Name (inbound login). T4 Application Name (outbound login)                      | +
-| (Body) |                            |                                                                                        | +
-| 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 4 octets: Major Version, Minor Version, Build Number, Revision. | +
-| 1407   | DefaultApplExtID     | N      | The application fingerprint for client logon.                                         | +
- +
-===== Start Repeating Group ===== +
- +
-^ Tag   ^ Name         ^ Req'd ^ Description                                                                                                    ^ +
-| 384   | NoMsgTypes    | N     | Number of referenced MsgTypes (35) in repeating group.                                                        | +
-| 372   | RefMsgType    | N     | Sets MsgTypes for various FIX Session functionalities. Required if NoMsgTypes > 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. Required for 8 decimal place 2yr Note prices from January 2019 onwards. | +
-|                    |       | BA = Enables Drop Copies only. All account events reported but order submittal disabled.                        | +
-|                    |       | BG = Enables dynamic account notifications. Position and Account collateral reports generated automatically.    | +
-|                    |       | CB = Disables User Notifications. Account notices, exchange notices and market RFQs not received.              | +
-|                    |       | V = Enables Chart Data requests.                                                                                | +
-|                    |       | UCG = Enables Multi-Trader mode with Trader Logons.                                                            | +
- +
-===== End Repeating Group ===== +
- +
-(Standard Trailer) - Y +
- +
-===== Sample ===== +
- +
-In 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 ====+
  
 +**Logon Request:**
 <code> <code>
-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|+8=FIX.4.2|9=200|35=A|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=2|372=d|372=D|10=123|
 </code> </code>
  
 +**Logon Response:**
 <code> <code>
-[FIXLOGIN]   +8=FIX.4.2|9=150|35=A|49=T4|56=T4Example|50=T4FIX|52=20130607-14:47:24.085| 
-[MsgSeqNum] 34 1   +98=0|108=30|553=username|554=***|1408=4.1.1.1|10=234|
-[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)  +
 </code> </code>
  
-==== Successful Login Response from T4 FIX API ==== +===== Notes ===== 
- +  * Session must start with sequence number 
-<code> +  * Dropped connections require new session (sequence 1) 
-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| +  * Default behaviorAutoPortfolio refresh and account subscription enabled 
-</code> +  * User must have assigned accounts and exchanges before API usage 
- +  * Failed authentication returns Logout with error description
-<code> +
-[FIXLOGIN]   +
-[MsgSeqNum] 34 =   +
-[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 +
-</code> +
- +
- +
-[[developers:legacy_fix_api|T4 FIX API Home]] +
- +
- +
  • developers/fixapi/logon.1757639345.txt.gz
  • Last modified: 2025/09/12 01:09
  • by chad