====== Logon 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 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.
===== Relevant Tags =====
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.
===== Trader/User Configuration =====
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**).
===== Message Dictionary =====
^ 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 | |
===== 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 sends a Trader Logon to authenticate a new Trader/User under the current FIX Session.
* The Trader Logon attempt fails due to an incorrect password (as shown in the Trader Logon Response message).
* The client retries the Trader Logon with the correct password.
* The FIX API responds with a Trader Logon Response message describing its success.
* Finally, the client requests the termination of the FIX Session with a FIX Logout message, and the FIX API responds confirming the logout.
----
**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
[[developers:legacy_fix_api|T4 FIX API Home]]