# FIX API

### About FIX messages&#x20;

#### FIX 4.4 Message Reference&#x20;

This section lists the messages in detail and provides information on our use of these FIX 4.4 messages. Tags marked “Not supported” are not used by our server, but may be required to conform to FIX protocol. All field values must conform to FIX protocol definitions. For example, order quantity must be a float; a date must not contain alphabetical characters. Specifying invalid field values may cause unexpected behavior. The documentation at [www.fixprotocol.org](http://www.fixprotocol.org) provides information on field data types.&#x20;

### Charset Support&#x20;

If it is planned to send non-Latin characters (Arabic, for example), it is required to enable the UTF-8 encoding at the levels of TraderEvolution Server and the FIX client, which connects to the server:&#x20;

• For enabling the UTF-8 encoding on the server, in the tomcat/bin/setenv.sh you need to add the ‘-DFIX\_CHARSET=UTF-8’ option for the server start.&#x20;

{% hint style="danger" %}
Warning! Enabling this encoding affects all the FIX connections and all routes of the server&#x20;
{% endhint %}

• To enable the UTF-8 encoding in the FIX client, you need to call ‘CharsetSupport.setCharset("UTF-8");’&#x20;

Thus, both the server and the FIX client will have the same encoding, which will ensure correct interaction between them.&#x20;

### About message structure

The TraderEvolution FIX Trading Server expects and sends standard headers and trailers on each message. Our QuickFIX engine will reject messages not containing correct headers and trailers. Unsupported tags should not be specified but in general, if they are present, will be ignored. All fields should be specified in the order that the fields are specified in the message definition within the current document (for repeating data groups this rule is a must)

### Standard header

<table><thead><tr><th width="119">Tag</th><th width="219">Field Name</th><th width="110">Required</th><th>Comments</th></tr></thead><tbody><tr><td>8</td><td>BeginString</td><td>Y</td><td>FIX.4.4</td></tr><tr><td>9</td><td>BodyLength</td><td>Y</td><td></td></tr><tr><td>35</td><td>MsgType</td><td>Y</td><td></td></tr><tr><td>49</td><td>SenderCompID</td><td>Y</td><td>Clients should use TraderEvolution user login</td></tr><tr><td>56</td><td>TargetCompID</td><td>Y</td><td>By default clients should use TEPRICE for price connection and TEORDER for trade connection.</td></tr><tr><td>115</td><td>OnBehalfOfCompID</td><td>N</td><td>Not supported</td></tr><tr><td>128</td><td>DeliverToCompID</td><td>N</td><td>Not supported</td></tr><tr><td>90</td><td>SecureDataLen</td><td>N</td><td>Not supported</td></tr><tr><td>91</td><td>SecureData</td><td>N</td><td>Not supported</td></tr><tr><td>34</td><td>MsgSeqNum</td><td>Y</td><td></td></tr><tr><td>50</td><td>SenderSubID</td><td>N</td><td>Not supported</td></tr><tr><td>142</td><td>SenderLocationID</td><td>N</td><td>Not supported</td></tr><tr><td>57</td><td>TargetSubID</td><td>N</td><td>Not supported</td></tr><tr><td>143</td><td>TargetLocationID</td><td>N</td><td>Not supported</td></tr><tr><td>116</td><td>OnBehalfOfSubID</td><td>N</td><td>Not supported</td></tr><tr><td>144</td><td>OnBehalfOfLocationID</td><td>N</td><td>Not supported</td></tr><tr><td>129</td><td>DeliverToSubID</td><td>N</td><td>Not supported</td></tr><tr><td>145</td><td>DeliverToLocationID</td><td>N</td><td>Not supported</td></tr><tr><td>97</td><td>PossResend</td><td>N</td><td>Send when message may be duplicate of another message sent under a different sequence number. (As example for Execution report)</td></tr><tr><td>52</td><td>SendingTime</td><td>Y</td><td></td></tr><tr><td>122</td><td>OrigSendingTime</td><td>N</td><td>Required if message was resent as a result of a ResendRequest. Can set to SendingTime.</td></tr><tr><td>212</td><td>XmlDataLen</td><td>N</td><td>Only for xml messages</td></tr><tr><td>213</td><td>XmlData</td><td>N</td><td>Only for xml messages</td></tr><tr><td>347</td><td>MessageEncoding</td><td>N</td><td>Not supported</td></tr><tr><td>369</td><td>LastMsgSeqNumProcessed</td><td>N</td><td>Not supported</td></tr><tr><td>370</td><td>OnBehalfOfSendingTime</td><td>N</td><td>Not supported</td></tr></tbody></table>

### Standard trailer

| Tag | Field Name      | Required | Comments       |
| --- | --------------- | -------- | -------------- |
| 93  | SignatureLength | N        | Not supported. |
| 89  | Signature       | N        | Not supported. |
| 10  | CheckSum        | Y        |                |

Please refer to the FIX documentation available at checksum calculation algorithm specifications.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://guide.traderevolution.com/traderevolution-api/traderevolution-apis/fix-api.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
