Session level messages
The following messages are session-level messages and are processed by our server using the QuickFIX engine. Some of these messages can be generated as well as accepted by our server, and some messages are expected to be received only.
Heartbeat
Heartbeat messages can be initiated by either the client or the server.
Standard Header
Y
MsgType = 0
112
TestReqID
Y
Set by the server when responding to a Test Request message. Data type: string
Standard Trailer
Y
Test request
Test Request messages may be initiated by the client or the server. The server may initiate this message under the control of the QuickFIX engine if it believes there is a problem with the socket.
Upon receipt of this message, the server will respond with a Heartbeat message.
Standard Header
Y
MsgType = 1
112
TestReqID
Y
Will be returned in tag 112 of Heartbeat. Data type: string
Standard Trailer
Y
Resend request
Either the client or the server, in response to a detected gap in the message sequences, can initiate a Resend Request message. It requests a resend of the messages from BeginSeqNo through to and including EndSeqNo.
Standard Header
Y
MsgType = 2
7
BeginSeqNo
Y
16
EndSeqNo
Y
Standard Trailer
Y
A Resend Request will be responded to by retransmitting the requested messages, or by transmitting a Sequence Reset (Gap Fill) to skip some of those messages.
Reject (Session)
A message reject is issued when an incoming message fails session-level validation. Either the client or the server can produce this message, although the client is very unlikely to do so, as all fix messages produced by the server are supposed to be FIX-compliant.
When this type of message is produced by the server, the error will have been detected by the QuickFIX engine and suitable text will be found in tag 58. The field in error is found in tag 371 and the sequence number of the message in error is found in tag 45.
Standard Header
Y
MsgType = 3
45
RefSeqNum
Y
MsgSeqNum of rejected message
371
RefTagID
Y
The tag failing validation
372
RefMsgType
Y
MsgType of the message in error
373
SessionRejectReason
Y
Refer to FIX documentation
58
Text
Y
Message to explain the error
Standard Trailer
Y
Sequence reset
The client may generate a Sequence Reset message when responding to a Resend Request in order to skip messages. Please read the information on the importance of proper sequence number reset co-ordination and sequence number processing in section This is a recommended mechanism to ensure that stale orders are not re-transmitted in the event that the connection has been down for an extended period.
This message is not produced by the server, when the server responds to Resend Requests all requested messages are re-sent.
Standard Header
Y
MsgType = 4
123
GapFillFlag
N
Normally present and set to “Y”
36
NewSeqNo
Y
Must only increase expected SeqNo
Standard Trailer
Y
The GapResetFlag (tag 123) should normally be present and set to “Y” in order to skip the messages. This is called a Sequence Reset (Gap Fill) and the server will set the next expected sequence number to the value of NewSeqNo (tag 36), thus skipping intervening messages. It is important to note that the sequence number of this message should be the sequence number of the first message to be skipped.
Logon
FIX logon authentication requires a valid application user SenderID name and a password. The user must have rights for logon as “FIX client”.
Logon can be rejected for a number of reasons:
the login name or password are invalid
the user is already logged in the system in a different FIX session or via other means
Logon request message sequence number is smaller than the last received FIX message (MsgSeqNum too low) – manual intervention on the client side is required to correct the sequence numbers and/or reset them via ResetSeqNumFlag field.
You have connected to wrong Cluster Node – it’s required to recconect to another node (required IP adress and port you can find in Logout message).
A Logout message is sent in all these cases with the Text(58) field containing the error description.
Standard Header
Y
MsgType = 5
58
Text
N
20005
NoClusterNodes
N
Total number of nodes in cluster
20009
NodeID
Y
Id of the cluster node
20008
ConnectionMode
Y
1 – Quote stream 2 – Trade stream 3 – Quote & Trade stream
20007
NodeLoad
Y
Load of the cluster node
20001
NoServerURLs
N
These data group provides information how you can connect to cluster node
20002
NodeHost
Y
IP or URL of the node
20003
NodePort
Y
port number
20004
NodeProtocol
Y
FIX API = 2
Standard Trailer
Y
Logout
This message is created by the client application when it wishes to disconnect a session.
Standard Header
Y
MsgType = 5
58
Text
N
20005
NoClusterNodes
N
Total number of nodes in cluster
20009
NodeID
Y
Id of the cluster node.
1 – Quote stream 2 – Trade stream 3 – Quote & Trade stream
20008
ConnectionMode
Y
20007
NodeLoad
Y
Load of the cluster node
20001
NoServerURLs
N
These data group provides information how you can connect to cluster node
20002
NodeHost
Y
IP or URL of the node
20003
NodePort
Y
port number
20004
NodeProtocol
Y
FIX API = 2
Standard Trailer
Y
Last updated