Admin messages
Logon<A>
Logon request should be sent by the client to start a FIX session. It must be the first message after establishing the connection. Only one session can be established per connection.
In the event of successful authorization the client receives Logon auth confirmation.
In case of authorization error, Logout<5> message will be sent to the client, with Text<58> field of the following format: Auth error: <FM_error_code>
, where FM_error_code
is FineryMarkets error code, e.g. Auth error: 6
.
Tag | Name | R | Example | Description |
---|---|---|---|---|
98 | EncryptMethod | Y | 0 | Should be set to 0 |
108 | HeartBtInt | Y | 30 | Should be set to 30 |
553 | Username | Y | fjQxw2IJGOeJ9dg1Raam5iudLQUz9mmew3CSVassPx2 | Should be set to the client’s API key Type |
554 | Password | Y | PA8Fh8Gu4OP7pvDPu42zqV29H2sZIPRnfQTnPq4J5mH | Signature(see below) |
95 | RawDataLength | N | 128 | Raw Data Length |
96 | RawData | N | See below | Login Data(see below) |
141 | ResetSeqNumFlag | Y | Y | Reset sequence num on establishing the new session. Should be set to Y. |
957 | CancelOnDisconnect | N | 1 | If >0 then all orders in this session will be marked as CancelOnDisconnect. Enabled by default. |
Signature
For security, the Logon message must be signed by the client. To compute the signature, take RawData<96> field contents and compute SHA384 HMAC using the API secret. The resulting hash should be Base64-encoded.
LoginData
Login data is json of the following structure:
timestamp is a Unix timestamp with a milliseconds precision.
nonce should be monotonically increasing across all the requests issued with particular API key(i.e. if using the same key for FIX as WS connections, nonce should be monotonic across all requests for both connections)
Although RawData<96> and RawDataLength<95> are not marked as required, the client should provide both of them for successful authentication.
Logout<5>
Logout request sent by either side to terminate the session. The other side should respond with another Logout message to acknowledge session termination. The connection will be closed afterwards.
Tag | Name | R | Example | Description |
---|---|---|---|---|
58 | Text | N | Shutdown | Can hold a reason of session termination |
Test Request<1>
Test request can be used by either side to force sending Heartbeat<0> message.
Tag | Name | R | Example | Description |
---|---|---|---|---|
112 | TestReqID | Y | 20220420T081324Z | Should contain request date and time in ISO 8601 format |
Heartbeat<0>
Sent by either side if a message has not been received in the past HeartBtInt<108> seconds. Should also be sent in response to a TestRequest<1>.
Tag | Name | R | Example | Description |
---|---|---|---|---|
112 | TestReqID | N | 20220420T081324Z | Required when the heartbeat is the result of a Test Request <1> message. If the case it should contain same value as TestReqID<112> in the TestRequest<1> message. |
Reject<3>
Sent by the server in response to an invalid message.
Tag | Name | R | Example | Description |
---|---|---|---|---|
45 | RefSeqNum | Y | 2 | MsgSeqNum<34> of the rejected message |
373 | SessionRejectReason | N | 1 | Code identifying session reject reason(see below) |
58 | Text | N | Missing quantity | Human-readable rejection reason description |
371 | RefTagID | N | 38 | The tag number of the FIX field being referenced. |
372 | RefMsgType | N | D | The MsgType<35> of the FIX message being referenced. |
Rejection codes:
Code | Reason |
---|---|
0 | Invalid tag number |
1 | Required tag missing |
2 | Tag not defined for this message type |
3 | Undefined Tag |
4 | Tag specified without a value |
5 | Value is incorrect (out of range) for this tag |
6 | Incorrect data format for value |
7 | Decryption problem |
8 | Signature<89> problem |
9 | CompID problem |
10 | SendingTime<52> accuracy problem |
11 | Invalid MsgType<35> |
Last updated