Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision | |||
developers:fixapi:reject [2025/09/12 01:16] – ↷ Page moved and renamed from developers:fixapi.reject to developers:fixapi:reject chad | developers:fixapi:reject [2025/09/12 02:24] (current) – chad | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== | + | ====== |
- | FIX Session rule violations are manifested through the **Reject** message. | + | The Reject message |
- | The T4 FIX API can detect an extensive set of FIX session violations and will issue a Reject message. Even after a corrected retransmission, | + | ===== Rejection Reasons |
- | + | ^ Code ^ Description ^ | |
- | Where possible, the T4 FIX API will provide a Reject message with: | + | | 0 | Invalid tag number | |
- | * **Reject Reason** (Tag 373) | + | | 1 | Required tag missing | |
- | * **Reference Message Type** (Tag 372) | + | | 2 | Tag not defined for message type | |
- | * **Reference Sequence Number** (Tag 45) | + | | 3 | Undefined tag | |
- | + | | 4 | Tag without value | | |
- | When a FIX session termination is forthcoming due to a FIX Session rejection, the T4 FIX API may provide a **Logout** message with further details of the violation. | + | | 5 | Value out of range | |
- | + | | 6 | Incorrect data format | | |
- | FIX Session rejects can be generated for many reasons — including gross protocol violations such as empty tags, tags out of sequence, incorrect data types, etc. Following are common **Rejection Reasons** (Tag 373) detected by the T4 FIX API: | + | | 9 | CompID problem | |
- | + | ||
- | ^ Rejection Reason | + | |
- | | 0 | Invalid tag number | | + | |
- | | 1 | Required tag missing | | + | |
- | | 2 | Tag not defined for this message type | | + | |
- | | 3 | Undefined tag | | + | |
- | | 4 | Tag specified | + | |
- | | 5 | Value is incorrect (out of range) for this tag# | | + | |
- | | 6 | Incorrect data format | + | |
- | | 7 | Decryption problem | | + | |
- | | 8 | Signature problem | + | |
- | | 9 | CompID problem | | + | |
| 10 | SendingTime accuracy problem | | | 10 | SendingTime accuracy problem | | ||
| 11 | Invalid MsgType | | | 11 | Invalid MsgType | | ||
- | | 12 | XML Validation error | | + | | 13 | Duplicate tag | |
- | | 13 | Tag appears more than once | | + | | 14 | Tag out of order | |
- | | 14 | Tag specified | + | | 15 | Repeating group out of order | |
- | | 15 | Repeating group fields | + | | 16 | Incorrect NumInGroup count | |
- | | 16 | Incorrect NumInGroup count for repeating group | | + | | 17 | Field delimiter |
- | | 17 | Non “data” value includes field delimiter | + | | 18 | Invalid/missing trader |
- | | 18 | Invalid | + | |
- | When the FIX Session is terminated due to a FIX Session reject, the T4 FIX API will expect a restart with a new FIX Session and sequence numbers reset to **1**. | + | ===== Message Specification ===== |
- | ===== Message | + | **Message |
- | ^ Tag ^ Field Name ^ Req'd ^ Comments | | + | |
- | | {{:fix: | + | |
- | | 45 | RefSeqNum | + | |
- | | 371 | RefTagID | + | |
- | | 372 | RefMsgType | + | |
- | | 373 | SessionRejectReason | + | |
- | | 58 | Text | N | Where possible, message to explain reason for rejection | | + | |
- | | {{: | + | |
- | ===== Sample Messages ===== | + | ^ Tag ^ Field Name ^ Type ^ Req'd ^ Description ^ |
+ | | | **Message Header** | | Y | MsgType | ||
+ | | 45 | RefSeqNum | Int | Y | Sequence of rejected message | | ||
+ | | 371 | RefTagID | Int | O | Referenced tag number | | ||
+ | | 372 | RefMsgType | String | O | Referenced message type | | ||
+ | | 373 | SessionRejectReason | Int | O | Rejection code (see table) | | ||
+ | | 58 | Text | String | O | Rejection explanation | | ||
+ | | | **Message Trailer** | | Y | | | ||
+ | ===== Sample Message ===== | ||
- | **Reject message generated by the receipt of an old Cancel Request message:** | + | **SendingTime accuracy rejection:** |
< | < | ||
- | 34=12|49=T4Example|50=TraderName|52=20120828-20: | + | 8=FIX.4.2|9=120|35=3|49=T4|56=T4Example|50=T4FIX|52=20120905-21: |
- | + | 45=12|372=F|373=10|58=Sending Time Accuracy problem|10=234| | |
- | [FIXCANCEL] | + | |
- | [MsgSeqNum] 34 = 12 | + | |
- | [SenderCompID] 49 = T4Example | + | |
- | [SenderSubID] 50 = TraderName | + | |
- | [SendingTime] 52 = 20120828-20: | + | |
- | [TargetCompID] 56 = T4 | + | |
- | [TargetSubID] 57 = G | + | |
- | [LastMsgSeqNumProcessed] 369 = 11 | + | |
- | [Account] 1 = 123456 | + | |
- | [ClOrdID] 11 = 11FE | + | |
- | [OrderID] 37 = 533408825203 | + | |
- | [OrigClOrdID] 41 = 11AN | + | |
- | [SecurityID] 48 = CME_20121200_6EZ2 | + | |
- | [Side] 54 = 2 (SELL) | + | |
- | [Symbol] 55 = 6E | + | |
- | [SecurityExchange] 207 = CME_Fo | + | |
- | [TransactTime] 60 = 20120828-19: | + | |
- | [SecurityDesc] 107 = Euro FX Dec12 | + | |
- | [SecurityType] 167 = FUT (FUTURE) | + | |
- | + | ||
- | + | ||
- | + | ||
- | 34=12|49=T4|56=T4Example|50=T4FIX|52=20120905-21: | + | |
- | + | ||
- | [REJECT] | + | |
- | [MsgSeqNum] 34 = 12 | + | |
- | [SenderCompID] 49 = T4 | + | |
- | [TargetCompID] 56 = T4Example | + | |
- | [SenderSubID] 50 = T4FIX | + | |
- | [SendingTime] 52 = 20120905-21: | + | |
- | [RefSeqNum] 45 = 12 | + | |
- | [RefMsgType] 372 = F | + | |
- | [SessionRejectReason] 373 = 10 (SENDINGTIME_ACCURACY_PROBLEM) | + | |
- | [Text] 58 = Sending Time Accuracy problem | + | |
</ | </ | ||
- | + | ===== Notes ===== | |
- | [[developers: | + | * Requires immediate corrective action |
+ | * May lead to session termination | ||
+ | * New session starts with sequence 1 |