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 FIX API responds to Trader Logons with the Trader Logon Response message. With this message, the FIX API client can determine the success or failure of the Trader Logon attempt by the Master User.
The Trader Logon Response indicates the success or failure of the Trader Logon attempt in the Text tag (Tag 58). The Trader/User (whose attempt would apply to) is indicated in the UserName tag (Tag 553).
Tag Name | Tag Number | Description |
---|---|---|
UserName | 553 | T4 User |
Text | 58 | Description of Trader Logon attempt |
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). Failure to provide the correct parameters in the Trader Logon message will result in a Trader Logon Response failure. A failed Trader Logon Response message will be sent to the client with a non-Success (i.e., Failed) description in the Text tag.
A failed Trader Logon Response 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.
For a successful Trader Logon, 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).
Tag | Field Name | Req'd | Comments |
---|---|---|---|
Standard Header | Y | MsgType = UCI | |
49 | SenderCompID | Y | T4 Application Name (inbound trader login into FIX API server). T4 Firm Name (outbound trader login response from FIX API server). |
56 | TargetCompID | Y | T4 Firm Name (inbound trader login into FIX API server). T4 Application Name (outbound trader login response from FIX API server). |
Body | Y | ||
553 | UserName | Y | T4 User |
58 | Text | Y | Description of Trader Logon Result |
Standard Trailer | Y |
In this example:
Login Request from T4 FIX API Client
>> 6/12/2015 10:34:35 AM [FIXLOGIN] 34=1|49=T4Test|56=test|50=MasterUser|52=20150612-15:34:35.865|91=64768859-3ACF-4224-A4E9-DA66901AFC63|90=36|98=None|108=25|553=MasterUser|554=_good_password_|384=3|372=BB|372=d|372=UCG| [FIXLOGIN] [MsgSeqNum] 34 = 1 [SenderCompID] 49 = T4Test [TargetCompID] 56 = test [SenderSubID] 50 = MasterUser [SendingTime] 52 = 20150612-15:34:35.865 [SecureData] 91 = 64768859-3ACF-4224-A4E9-DA66901AFC63 [SecureDataLen] 90 = 36 [EncryptMethod] 98 = None [HeartBtInt] 108 = 25 [UserName] 553 = MasterUser [Password] 554 = _good_password_ [NoMsgTypes] 384 = 3 [RefMsgType] 372 = BB (DISABLE_ACCOUNT_AUTOSUBSCRIPTION) [RefMsgType] 372 = d (DISABLE_PORTFOLIO_LISTING) [RefMsgType] 372 = UCG (ENABLE_TRADER_LOGINS)
Successful Login Response from T4 FIX API
<< 6/12/2015 10:34:36 AM [fixlogin] 34=1|49=test|56=T4Test|50=T4FIX|52=20150612-15:34:35.993|98=0|108=30|553=MasterUser|554=***|1408=4.3.34.5| [FIXLOGIN] [MsgSeqNum] 34 = 1 [SenderCompID] 49 = test [TargetCompID] 56 = T4Test [SenderSubID] 50 = T4FIX [SendingTime] 52 = 20150612-15:34:35.993 [EncryptMethod] 98 = 0 (NONE) [HeartBtInt] 108 = 30 [UserName] 553 = MasterUser [Password] 554 = *** [DefaultCstmApplVerID] 1408 = 4.3.34.5
Trader Logon Request from T4 FIX API Client - Bad Password
>> 6/12/2015 10:34:50 AM [FIXTRADERLOGIN] 34=2|49=T4Test|56=test|52=20150612-15:34:50.182|91=64768859-3ACF-4224-A4E9-DA66901AFC63|90=36|553=Trader1|554=_bad_password_| [FIXTRADERLOGIN] [MsgSeqNum] 34 = 2 [SenderCompID] 49 = T4Test [TargetCompID] 56 = test [SendingTime] 52 = 20150612-15:34:50.182 [SecureData] 91 = 64768859-3ACF-4224-A4E9-DA66901AFC63 [SecureDataLen] 90 = 36 [UserName] 553 = Trader1 [Password] 554 = _bad_password_
Failed Trader Logon Response from T4 FIX API
<< 6/12/2015 10:34:50 AM [fixtraderloginresponse] 34=2|49=test|56=T4Test|50=T4FIX|52=20150612-15:34:50.261|553=Trader1|58=Login failed: most likely incorrect trader and password combination| [FIXTRADERLOGINRESPONSE] [MsgSeqNum] 34 = 2 [SenderCompID] 49 = test [TargetCompID] 56 = T4Test [SenderSubID] 50 = T4FIX [SendingTime] 52 = 20150612-15:34:50.261 [UserName] 553 = Trader1 [Text] 58 = Login failed: most likely incorrect trader and password combination
Trader Logon Request from T4 FIX API Client - Good Password
>> 6/12/2015 10:35:03 AM [FIXTRADERLOGIN] 34=3|49=T4Test|56=test|52=20150612-15:35:03.186|91=64768859-3ACF-4224-A4E9-DA66901AFC63|90=36|553=Trader1|554=_good_password_| [FIXTRADERLOGIN] [MsgSeqNum] 34 = 3 [SenderCompID] 49 = T4Test [TargetCompID] 56 = test [SendingTime] 52 = 20150612-15:35:03.186 [SecureData] 91 = 64768859-3ACF-4224-A4E9-DA66901AFC63 [SecureDataLen] 90 = 36 [UserName] 553 = Trader1 [Password] 554 = _good_password_
Successful Trader Logon Response from T4 FIX API
<< 6/12/2015 10:35:03 AM [fixtraderloginresponse] 34=3|49=test|56=T4Test|50=T4FIX|52=20150612-15:35:03.725|553=Trader1|58=Success| [FIXTRADERLOGINRESPONSE] [MsgSeqNum] 34 = 3 [SenderCompID] 49 = test [TargetCompID] 56 = T4Test [SenderSubID] 50 = T4FIX [SendingTime] 52 = 20150612-15:35:03.725 [UserName] 553 = Trader1 [Text] 58 = Success
Logout Request from T4 FIX API Client
>> 6/12/2015 10:35:09 AM [FIXLOGOUT] 34=4|49=T4Test|56=test|52=20150612-15:35:09.786| [FIXLOGOUT] [MsgSeqNum] 34 = 4 [SenderCompID] 49 = T4Test [TargetCompID] 56 = test [SendingTime] 52 = 20150612-15:35:09.786
Successful Logout Response from T4 FIX API
<< 6/12/2015 10:35:09 AM [fixlogout] 34=4|49=test|56=T4Test|52=20150612-15:35:09.787|58=Successful logout upon request| [FIXLOGOUT] [MsgSeqNum] 34 = 4 [SenderCompID] 49 = test [TargetCompID] 56 = T4Test [SendingTime] 52 = 20150612-15:35:09.787 [Text] 58 = Successful logout upon request