Session
Summary
Generic header and trailer fields
List of administrative messages
- Heartbeat (Client ↔ TDX)
- Test Request (Client ↔ TDX)
- Logon (Client → TDX)
- Logout (Client → TDX)
- Resend Request (Client ↔ TDX)
- Reject (Client ↔ TDX)
- Sequence Reset (Client ↔ TDX)
Standard Header
Unless marked otherwise every message sent or received must begin with those fields
Tag | Field name | Req'd | Data Type | Comments |
---|---|---|---|---|
8 | BeginString | Y | string | Identity begining of new message and protocol version. Unless discussed otherwise should be FIX.4.4 |
9 | BodyLength | Y | length | Message length (in bytes), forward to the CheckSum field |
35 | MsgType | Y | string | Define message type |
49 | SenderCompID | Y | String | Assigned value used to identify client sending messages. Provided by TDX. |
56 | TargetCompID | Y | String | Assigned value used to identify receiving party. Provided by TDX. |
34 | MsgSeqNum | Y | int | Message sequence number |
Standard Trailer
Unless marked otherwise every message sent or received must end with those fields
Tag | Field name | Req'd | Data Type | Comments |
---|---|---|---|---|
10 | Checksum | Y | String | Three bytes, simple checksum |
Heartbeat
The Heartbeat <0> monitors the status of the communication link and identifies when the last of a string of messages was not received.
When either end of a FIX connection has not sent any data for [HeartBtInt <108>] seconds, it will transmit a Heartbeat <0> message. When either end of the connection has not received any data for (HeartBtInt <108> + "some reasonable transmission time") seconds, it will transmit a Test Request <1> message. If there is still no Heartbeat <0> message received after (HeartBtInt <108> + "some reasonable transmission time") seconds then the connection should be considered lost and corrective action be initiated. If HeartBtInt <108> is set to zero then no regular Heartbeat <0> messages will be generated. Note that a Test Request <1> message can still be sent independent of the value of the HeartBtInt <108>, which will force a Heartbeat <0> message.
Heartbeats issued as the result of Test Request <1> must contain the TestReqID <112> transmitted in the Test Request <1> message. This is useful to verify that the Heartbeat <0> is the result of the Test Request <1> and not as the result of a regular timeout.
Tag | Field name | Req'd | Data Type | Comments |
---|---|---|---|---|
Standard Header | Y | MsgType = 0 | ||
112 | TestReqID | C | string | Requested when heartbeat is the result of a test request message |
Standard Trailer | Y |
Test Request
Tag | Field name | Req'd | Data Type | Comments |
---|---|---|---|---|
Standard Header | Y | MsgType = 1 | ||
112 | TestReqID | Y | string | A unique identifier to identify the expected corresponding heartbeat |
Standard Trailer | Y |
Logon
Tag | Field name | Req'd | Data Type | Comments |
---|---|---|---|---|
Standard Header | Y | MsgType = A | ||
98 | EncryptMethod | Y | char | Always 0 |
108 | HeartbtInt | Y | int | Heart beat interval in seconds |
141 | ResetSeqNumFlag | N | boolean | Indicates both sides of a FIX session should reset seq numbers. Valid values: Y = Yes, reset sequence numbers N = No |
553 | Username | Y | string | username (provided by TDX) |
554 | Password | Y | string | password (provided by TDX) |
Standard Trailer | Y |
Logout
Tag | Field name | Req'd | Data Type | Comments |
---|---|---|---|---|
Standard Header | Y | MsgType = 5 | ||
58 | Text | N | String | Reason for logout |
Standard Trailer | Y |
Resend request
Tag | Field name | Req'd | Data Type | Comments |
---|---|---|---|---|
Standard Header | Y | MsgType = 2 | ||
7 | BeginSeqNo | Y | SeqNum | Message sequence number of first message in range to be resent |
16 | EndSeqNo | Y | SeqNum | Message sequence number of last message in range to be resent. If request is for a single message BeginSeqNo = EndSeqNo. If request is for all messages subsequent to a particular message, EndSeqNo = 0 (infinity). |
Standard Trailer | Y |
Reject
Tag | Field name | Req'd | Data Type | Comments |
---|---|---|---|---|
Standard Header | Y | MsgType = 3 | ||
45 | RefSeqNum | Y | SeqNum | MsgSeqNum of rejected message |
371 | RefTagID | N | int | The tag number of the FIX field being referenced. |
372 | RefMsgType | N | String | The MsgType of the FIX message being referenced. |
373 | SessionRejectReason | N | int | Code to identify reason for a session-level |
Standard Trailer | Y |
Sequence reset
Tag | Field name | Req'd | Data Type | Comments |
---|---|---|---|---|
Standard Header | Y | MsgType = 4 | ||
123 | GapFillFlag | N | boolean | Indicates that the Sequence Reset message is replacing administrative or application messages which will not be resent. |
36 | NewSeqNo | Y | SeqNum | New sequence number |
Standard Trailer | Y |
Updated about 1 year ago