developers:fixapi.traderlogon

Differences

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

Link to this comparison view

Next revision
Previous revision
developers:fixapi.traderlogon [2025/08/12 17:56] – created robdevelopers:fixapi.traderlogon [2025/08/12 18:05] (current) rob
Line 1: Line 1:
-====== Reject ======+====== TraderLogon ======
  
-FIX Session rule violations are manifested through the **Reject** message. The receipt of a Reject message signals a serious violation of FIX Session rulesAppropriate action must immediately be taken by the receiver of a Reject message. A rejected message may be retransmitted by the sending application if a correction is appropriate.+===== Multiple Traders ===== 
 +Under an established FIX Session, multiple traders/users can be authenticated with the Trader Logon message. Trader Logons allow order routing for multiple traders under the same physical connection of the FIX Session. Trader Logons must follow the successful FIX Logon of the initial Master User.
  
-The T4 FIX API can detect an extensive set of FIX session violations and will issue a Reject message. Even after a corrected retransmission, the T4 FIX API may choose to terminate the FIX Session per the gravity of the rejection.+To enter Multi-Trader mode, the Master User must explicitly request it as an option on the FIX Logon with **Tag 372 (RefMsgTypes) = UCG**.
  
-Where possible, the T4 FIX API will provide a Reject message with a **Reject Reason** (Tag [[373]]), **Reference Message Type** (Tag [[372]]) and **Reference Sequence Number** (Tag [[45]]). When a FIX session termination is forthcoming due to a FIX Session rejection, the T4 FIX API may provide a **Logout** message with further details of the violation.+===== Authentication Requirements ===== 
 +After establishing successful FIX Session, the Trader Logon authentication is achieved with the following input parameters in the client's Trader Logon message:
  
-FIX Session rejects can be generated for many reasons — including gross protocol violations such as empty tags, tags out of sequence, incorrect data types, etc.  +^ Tag Name  ^ Tag Number ^ Description   | 
 +| UserName  | 553        | T4 User       | 
 +| Password  | 554        | T4 Password   |
  
-Following are common **Rejection Reasons** (Tag [[373]]detected by the T4 FIX API:+A successful authentication of a Trader Logon is acknowledged with a Trader Logon Response that contains a **Success** description in the Text tag (Tag 58).
  
-^ Rejection Reason ^ Description ^ +Failure to provide the correct parameters in the Trader Logon message will result in Trader Logon Response failure. A failed Trader Logon Response message will be sent to the client and may contain a short description of the failure in its Text tag (Tag 58).   
-| 0 | Invalid tag number | +A failed Trader Logon **does not** result in a physical disconnection — the FIX Session continues with the participation of the Master User and other traders that were previously authenticated and remained logged in.
-| 1 | Required tag missing | +
-| 2 | Tag not defined for this message type | +
-| 3 | Undefined Tag | +
-| 4 | Tag specified without value | +
-| 5 | Value is incorrect (out of range) for this tag# | +
-| 6 | Incorrect data format for value | +
-| 7 | Decryption problem | +
-| 8 | Signature problem | +
-| 9 | CompID problem | +
-| 10 | SendingTime accuracy problem | +
-| 11 | Invalid MsgType | +
-| 12 | XML Validation error | +
-| 13 | Tag appears more than once | +
-| 14 | Tag specified out of required order | +
-| 15 | Repeating group fields out of order | +
-| 16 | Incorrect NumInGroup count for repeating group | +
-| 17 | Non “data” value includes field delimiter (SOH character| +
-| 18 | Invalid Trader or No Trader specified |+
  
-When the FIX Session is terminated due to a FIX Session reject, the T4 FIX API will expect restart with new FIX Session and sequence numbers reset to 1.+A logged-on Trader may also be explicitly logged out with a Trader Logout message. The logout of a Trader maintains the FIX Session. The FIX Session can only be terminated by FIX Logout message. Separate Trader Logouts are not required before ending the FIX Session with a FIX Logout message. All logged-in traders are logged out automatically from the system. 
 + 
 +===== FIX Session Properties Under Multi-Trader Mode ===== 
 +Under Multi-Trader modeall FIX Session functionalities (as established with RefMsgTypes (Tag 372) of the FIX Logon message) are applied to all traders including the Master User. 
 + 
 +All application messages (e.g., New Order Single, Cancel Replace Request, Order Cancel Request, etc.) must also be identified with its originating trader.   
 +The trader's name (as entered into the UserName tag of the corresponding Trader Logon) must be specified in the **SenderSubID (Tag 50)** of the application message. 
 + 
 +Failure to identify the trader in the application message will result in FIX Reject message.   
 +Under Multi-Trader mode, SenderSubID (Tag 50) identifies the target trader for which the client's message is intended. Order Routing responses from the FIX API (Execution Reports, Cancel Rejects) also identify the corresponding trader in the **TargetSubID (Tag 57)**. 
 + 
 +===== User Configuration ===== 
 +For successful trader login, the T4 FIX API requires the Trader/User to have previously assigned accounts and exchanges. Before FIX API usage, the Trader/User is required to complete Market Data Requirements through its firm setup page. 
 + 
 +Lack of proper configuration will result in a failed Trader Logon Response — 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 ===== ===== Message Dictionary =====
-^ Tag ^ Field Name ^ Req'd ^ Comments ^ +^ Tag  ^ Field Name          ^ Req'd ^ Comments | 
-[[StandardHeader]] | Standard Header | Y | MsgType = +     | Standard Header     | Y     | MsgType = UCG 
-[[45]] RefSeqNum | Y | MsgSeqNum of rejected message +91   SecureData          | Y     License Code for the T4 Application 
-[[371]] RefTagID The tag number of the FIX field being referenced +90   SecureDataLen       Y     Length of License Code string | 
-[[372]] RefMsgType The MsgType of the FIX message being referenced +| 49   | SenderCompID        | Y     | T4 Application Name (inbound trader login into FIX API server). T4 Firm Name (outbound trader login response from FIX API server). 
-[[373]] SessionRejectReason Code to identify reason for a session-level Reject message +56   TargetCompID        Y     T4 Firm Name (inbound trader login into FIX API server). T4 Application Name (outbound trader login response from FIX API server). 
-[[58]] Text | N | Where possible, message to explain reason for rejection +     Body                Y     | | 
-[[StandardTrailer]] | Standard Trailer | Y | |+109  ClientID            | N     ID of organization the Trader/User pertains to | 
 +553  | UserName            | Y     | T4 User | 
 +| 554  | Password            | Y     | T4 Password | 
 +|      | Standard Trailer    | Y     | |
  
-===== Sample Messages =====+===== Sample ===== 
 +In this example, the T4 FIX API client requests the start of a FIX Session.   
 +The client enables the Multi-Trader mode (**Tag 372=UCG**).   
 +The login request's success is signaled by a Login message response from the T4 FIX API — establishing the FIX Session with the Master User.   
 +The client then sends a Trader Logon to authenticate a new Trader/User under the current FIX Session.   
 +Finally, the client requests the termination of the FIX Session with a FIX Logout message.
  
-Reject message generated by the receipt of an old Cancel Request message:+----
  
 +**Login Request from T4 FIX API Client**
 <code> <code>
-34=12|49=T4Example|50=TraderName|52=20120828-20:20:14.417|56=T4|57=G|369=11|1=123456|11=11FE|37=533408825203|41=11AN|48=CME_20121200_6EZ2|54=2|55=6E|60=20120828-20:20:14.376|107=Euro FX Dec12|167=FUT|+>> 6/11/2015 12:41:56 PM   [FIXLOGIN] 34=1|49=T4Test|56=test|50=MasterUser|52=20150611-17:41:56.934|91=64768859-3ACF-4224-A4E9-DA66901AFC63|90=36|98=None|108=25|553=MasterUser|554=_password_|1407=58BD-B00F-5805-98AA-BD46-0417-C2B8-9C5F|384=2|372=d|372=UCG| 
 +[FIXLOGIN] 
 +[MsgSeqNum] 34 
 +[SenderCompID] 49 = T4Test 
 +[TargetCompID] 56 = test 
 +[SenderSubID] 50 = MasterUser 
 +[SendingTime] 52 = 20150611-17:41:56.934 
 +[SecureData] 91 64768859-3ACF-4224-A4E9-DA66901AFC63 
 +[SecureDataLen] 90 36 
 +[EncryptMethod] 98 = None 
 +[HeartBtInt] 108 = 25 
 +[UserName] 553 = MasterUser 
 +[Password] 554 = _password_ 
 +[DefaultApplExtID] 1407 = 58BD-B00F-5805-98AA-BD46-0417-C2B8-9C5F 
 +[NoMsgTypes] 384 = 2 
 +[RefMsgType] 372 = d (DISABLE_PORTFOLIO_LISTING) 
 +[RefMsgType] 372 = UCG (ENABLE_TRADER_LOGINS)
 </code> </code>
  
-[FIXCANCEL]   +**Successful Login Response from T4 FIX API**
-[MsgSeqNum] 34 = 12   +
-[SenderCompID] 49 = T4Example   +
-[SenderSubID] 50 = TraderName   +
-[SendingTime] 52 = 20120828-20:20:14.417   +
-[TargetCompID] 56 = T4   +
-[TargetSubID] 57 = G   +
-[LastMsgSeqNumProcessed] 369 = 11   +
-[Account] 1 = 123456   +
-[ClOrdID] 11 = 11FE   +
-[OrderID] 37 = 533408825203   +
-[OrigClOrdID] 41 = 11AN   +
-[SecurityID] 48 = CME_20121200_6EZ2   +
-[Side] 54 = 2 (SELL)   +
-[Symbol] 55 = 6E   +
-[SecurityExchange] 207 = CME_Fo   +
-[TransactTime] 60 = 20120828-19:20:14.376   +
-[SecurityDesc] 107 = Euro FX Dec12   +
-[SecurityType] 167 = FUT (FUTURE)  +
  
 <code> <code>
-34=12|49=T4|56=T4Example|50=T4FIX|52=20120905-21:07:45.472|45=12|372=F|373=10|58=Sending Time Accuracy problem|+<< 6/11/2015 12:41:57 PM  [fixlogin] 34=1|49=test|56=T4Test|50=T4FIX|52=20150611-17:41:57.110|98=0|108=30|553=MasterUser|554=***|1408=4.3.34.4| 
 +[FIXLOGIN] 
 +[MsgSeqNum] 34 = 1 
 +[SenderCompID] 49 = test 
 +[TargetCompID] 56 = T4Test 
 +[SenderSubID] 50 = T4FIX 
 +[SendingTime] 52 = 20150611-17:41:57.110 
 +[EncryptMethod] 98 = 0 (NONE) 
 +[HeartBtInt] 108 = 30 
 +[UserName] 553 = MasterUser 
 +[Password] 554 = *** 
 +[DefaultCstmApplVerID] 1408 = 4.3.34.4
 </code> </code>
  
-[REJECT  +**Trader Logon Request from T4 FIX API Client** 
-[MsgSeqNum] 34 = 12   +<code> 
-[SenderCompID] 49 = T4   +>> 6/11/2015 12:42:02 PM   [FIXTRADERLOGIN] 34=2|49=T4Test|56=test|52=20150611-17:42:02.813|91=64768859-3ACF-4224-A4E9-DA66901AFC63|90=36|553=Trader1|554=_TraderPassword_| 
-[TargetCompID] 56 = T4Example   +[FIXTRADERLOGIN
-[SenderSubID] 50 = T4FIX   +[MsgSeqNum] 34 = 2 
-[SendingTime] 52 = 20120905-21:07:45.472   +[SenderCompID] 49 = T4Test 
-[RefSeqNum45 = 12   +[TargetCompID] 56 = test 
-[RefMsgType372 F   +[SendingTime] 52 = 20150611-17:42:02.813 
-[SessionRejectReason373 10 (SENDINGTIME_ACCURACY_PROBLEM)   +[SecureData] 91 = 64768859-3ACF-4224-A4E9-DA66901AFC63 
-[Text] 58 = Sending Time Accuracy problem  +[SecureDataLen] 90 = 36 
 +[UserName] 553 = Trader1 
 +[Password] 554 = _TraderPassword_ 
 +</code> 
 + 
 +**Successful Trader Logon Response from T4 FIX API** 
 +<code> 
 +<< 6/11/2015 12:42:03 PM  [fixtraderloginresponse] 34=2|49=test|56=T4Test|50=T4FIX|52=20150611-17:42:03.486|553=Trader1|58=Success| 
 +[FIXTRADERLOGINRESPONSE] 
 +[MsgSeqNum] 34 = 2 
 +[SenderCompID] 49 = test 
 +[TargetCompID] 56 = T4Test 
 +[SenderSubID] 50 = T4FIX 
 +[SendingTime] 52 = 20150611-17:42:03.486 
 +[UserName553 Trader1 
 +[Text] 58 = Success 
 +</code> 
 + 
 +**Logout Request from T4 FIX API Client** 
 + 
 +<code> 
 +>> 6/11/2015 12:42:11 PM   [FIXLOGOUT] 34=3|49=T4Test|56=test|52=20150611-17:42:11.133| 
 +[FIXLOGOUT] 
 +[MsgSeqNum] 34 3 
 +[SenderCompID49 T4Test 
 +[TargetCompID] 56 = test 
 +[SendingTime] 52 = 20150611-17:42:11.133 
 +</code> 
 + 
 +**Successful Logout Response from T4 FIX API** 
 +<code> 
 +<< 6/11/2015 12:42:11 PM  [fixlogout] 34=3|49=test|56=T4Test|52=20150611-17:42:11.134|58=Successful logout upon request| 
 +[FIXLOGOUT] 
 +[MsgSeqNum] 34 = 3 
 +[SenderCompID] 49 = test 
 +[TargetCompID] 56 = T4Test 
 +[SendingTime] 52 = 20150611-17:42:11.134 
 +[Text] 58 = Successful logout upon request 
 +</code>
  
 +[[developers:legacy_fix_api|T4 FIX API Home]]
  • developers/fixapi.traderlogon.1755021368.txt.gz
  • Last modified: 2025/08/12 17:56
  • by rob