Message: Logon

File: WebAPI/user_session_2.proto

Description

Logon into the system and opening a new session. Clients should either use user_name/password or access_token or partner_token to enter the system.

Response: LogonResult.

Used in

ClientMsg

Fields

user_name

Type: string

Description: User login name. It is not used along with the access_token.

password

Type: string

Description: User’s password. It is not used along with the access_token.

one_time_password

Type: string

Description: User’s one time password, might be required according to the user’s settings.

access_token

Type: string

Description: Access token. It is not used along with the user_name, password and one_time_password.

partner_token

Type: string

Description: Token of the user externally authenticated by CQG partner. It is not used along with the user_name, password and one_time_password. Mutually exclusive with access_token.

private_label

Type: string

Description: Private label identifies the Firm or Vendor that connects to the server. The value is ignored and taken from access_token if it’s specified. If neither access_token nor private_label is specified, the private_label is set equal to client_app_id field value.

client_app_id

Type: string

Description: Identifier of the client application as assigned by CQG. The value is ignored and taken from access_token if it’s specified; otherwise, the field value is required to be provided.

client_version

Type: string

Description: Version of a client application.

drop_concurrent_session

Type: bool

Description: Optional field that indicates if possible concurrent sessions for this user should be forcedly dropped. If it is set to false then Logon may fail with CONCURRENT_SESSION code. If it is omitted or set to true, then concurrent sessions for this user will be dropped.

max_collapsing_level

Type: uint32

Description: Maximum allowed real-time market data collapsing level. REAL_TIME_COLLAPSING_LEVEL_DOM_BBA_TRADES is the default allowed collapsing level. This field is associated with the RealTimeCollapsingLevel enum type. Only one of max_collapsing_level and market_data_bandwidth can be specified.

Source: RealTimeCollapsingLevel

market_data_bandwidth

Type: uint32

Description: Real-time market data bandwidth limit (in KB per second). Only one of max_collapsing_level and market_data_bandwidth can be specified.

protocol_version_minor

Type: uint32

Description: Current protocol version that is used by the client application. It is strongly recommended for client applications to put PROTOCOL_VERSION_MAJOR and PROTOCOL_VERSION_MINOR values from a used protocol file. If version information is not provided, then the server assumes client uses 0.x version of the protocol and may disable some new protocol features.

Source: ProtocolVersionMinor

protocol_version_major

Type: uint32

Description: See: protocol_version_minor

Source: ProtocolVersionMajor

session_settings

Type: uint32

Description: List of settings for a new session. This field is associated with the Logon.SessionSetting enum type.

dialect_id

Type: string

Description: Dialect ID for used symbols. CQG dialect is used if omitted. ID for CQG dialect is “0”. Please contact CQG to get the list of supported dialects.

fingerprint

Type: string

Description: Fingerprint of a client application installation on a particular device. This is just a string from the server perspective. Clients should make sure it stays the same across runs of the application installation on a specific device or Web application in a specific browser on this device. Possible approaches to get the value on the client side: http://clientjs.org/, https://developer.android.com/training/articles/user-data-ids.html

operating_system

Type: string

Description: Client’s operating system (with version, e.g., “Windows 7” or “Android”).

browser

Type: string

Description: Client’s browser name (if applicable, without version, e.g., “Chrome” or “Firefox”).

device_model

Type: string

Description: Client’s device model (specific names for mobile, like “iPhone 7”, or “PC” if not mobile/tablet).

Enum SessionSetting

Values

      SESSION_SETTING_ALLOW_SESSION_RESTORE = 1

     Allows restoring session in case of an accidental disconnect (see RestoreOrJoinSession message). If the setting is not specified, then termination of the last connection also terminates the session without ability to restore it. For security reasons clients should not specify this setting without using the restore session functionality.

      SESSION_SETTING_ALLOW_SESSION_JOIN = 2

     Allows other new connections to join the session (see RestoreOrJoinSession message) and work concurrently. If the setting is not specified, then the session can have only one connection at each moment and a new connection pushes the old one out (if the session restore is allowed). For security reasons clients should not specify this setting without using join session functionality.