This message is used to establish a FIX connection. The Logon message must be the first message sent by the application attempting to initiating a FIX session.
Upon receipt of a Logon message, the session acceptor will authenticate the requester and respond with a Logon message as acknowledgment that the connection request has been accepted. The acknowledgment Logon can be used by the initiator for validation purposes.
The session acceptor must be prepared to immediately begin processing messages after receipt of the Logon. The session initiator can choose to begin transmission of FIX messages before receipt of the confirmation Logon, however it is recommended that normal message delivery wait until after the return Logon is received.
The confirmation Logon can be used for encryption key negotiation. If a session key is deemed to be weak, a stronger session key can be suggested by returning a Logon message with a new key. This is only valid for encryption protocols that allow for key negotiation. See the FIX website's Application notes for more information on a method for encryption and key passing.
The Logon message can be used to specify the MaxMessageSize (383) supported, which can be used to control fragmentation rules for very large messages which support fragmentation. The Logon message can also be used to specify which MsgType (35)s are supported.
The HeartBtInt (108) field is used to declare the interval for generating heartbeats. See Heartbeat <35=0>.
Tag | Name | Type | Required | Description |
---|---|---|---|---|
Component | ||||
98 | Int Enum | Always unencrypted | ||
108 | Int | Note same value used by both sides | ||
95 | Length | Required for some authentication methods | ||
96 | Data | Required for some authentication methods | ||
141 | Boolean Enum | Indicates both sides of a FIX session should reset sequence numbers | ||
789 | SeqNum | Optional, alternative via counterparty bi-lateral agreement message gap detection and recovery approach (see "Logon Message NextExpectedMsgSeqNum Processing" section) | ||
383 | Length | Can be used to specify the maximum number of bytes supported for messages received | ||
Component | ||||
464 | Boolean Enum | Can be used to specify that this FIX session will be sending and receiving "test" vs. "production" messages | ||
553 | String | |||
554 | String | Minimal security exists without transport-level encryption | ||
925 | String | Specifies a new password for the FIX Logon. The new password is used for subsequent logons | ||
1400 | Int | |||
1401 | Length | |||
1402 | Data | |||
1403 | Length | |||
1404 | Data | Encrypted new password- encrypted via the method specified in the field EncryptedPasswordMethod(1400) | ||
1409 | Int Enum | Session status at time of logon. Field is intended to be used when the logon is sent as an acknowledgement from acceptor of the FIX session | ||
1137 | String Enum | The default version of FIX messages used in this session | ||
1407 | Int | The default extension pack for FIX messages used in this session | ||
1408 | String | The default custom application version (dictionary) for FIX messages used in this session | ||
58 | String | Available to provide a response to logon when used as a logon acknowledgement from acceptor back to the logon initiator | ||
354 | Length | Must be set if EncodedText field is specified and must immediately precede it | ||
355 | Data | Encoded (non-ASCII characters) representation of the Text field in the encoded format specified via the MessageEncoding field | ||
Component |