Differences
This shows you the differences between two versions of the page.
| developers:fixapi:testrequest [2025/09/12 01:10] – created chad | developers:fixapi:testrequest [2025/09/12 02:22] (current) – chad | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== | + | ====== |
| + | The Test Request message forces a Heartbeat response to verify session connectivity. | ||
| - | ===== Session Integrity Check ===== | + | ===== Message Specification |
| - | A Test Request message forces a response from the counterparty to acknowledge the continuation of FIX Session connectivity. Test requests can occur at any time during the FIX Session. When a test request is received, the party is obligated to respond to the Test Request message with a Heartbeat. Such heartbeat must also contain the **TestRequestID** (Tag 112) that originated in the Test Request message. | + | **Message Direction:** Bidirectional |
| - | Test Request messages also provide an opportunity to check for out-of-sequence conditions. It permits checking for the expected outgoing sequence number (**Tag 34** of the Test Request) and expected incoming sequence number (**Tag 34** of the mandatory Heartbeat response). | + | ^ Tag ^ Field Name ^ Type ^ Req'd ^ Description |
| - | + | | | **Message | |
| - | The **TestRequestID** (Tag 112) can be text of any form. A unique string is recommended (e.g., the current time string) for pairing the Test Request with its corresponding Heartbeat. | + | | 112 | TestReqID |
| - | + | | | **Message | |
| - | ===== Message Dictionary ===== | + | |
| - | + | ||
| - | ^ Tag ^ Field Name | + | |
| - | | **Standard | + | |
| - | | 112 | + | |
| - | | **Standard | + | |
| ===== Sample Messages ===== | ===== Sample Messages ===== | ||
| - | **Test Request | + | **Test Request:** |
| < | < | ||
| - | 34=123|49=T4Example|56=T4|50=TraderName|52=20120905-18: | + | 8=FIX.4.2|9=80|35=1|49=T4Example|56=T4|50=TraderName|52=20120905-18: |
| + | 112=treqid.09.05.2012-13.09.12|10=123| | ||
| </ | </ | ||
| + | **Required Heartbeat Response:** | ||
| < | < | ||
| - | [FIXTESTREQUEST] | + | 8=FIX.4.2|9=80|35=0|49=T4|56=T4Example|50=T4FIX|52=20120905-18: |
| - | [MsgSeqNum] 34 = 123 | + | 112=treqid.09.05.2012-13.09.12|10=234| |
| - | [SenderCompID] | + | |
| - | [TargetCompID] | + | |
| - | [SenderSubID] | + | |
| - | [SendingTime] | + | |
| - | [TestReqID] | + | |
| </ | </ | ||
| - | **Heartbeat response to the client' | + | ===== Notes ===== |
| - | < | + | * Response must be Heartbeat with matching |
| - | 34=72|49=T4|56=T4Example|50=T4FIX|52=20120905-18: | + | * Can be sent anytime to verify connectivity |
| - | </ | + | * Checks sequence number synchronization |
| - | + | * Failure | |
| - | < | + | |
| - | [FIXHEARTBEAT] | + | |
| - | [MsgSeqNum] 34 = 72 | + | |
| - | [SenderCompID] 49 = T4 | + | |
| - | [TargetCompID] 56 = T4Example | + | |
| - | [SenderSubID] 50 = T4FIX | + | |
| - | [SendingTime] 52 = 20120905-18: | + | |
| - | [TestReqID] 112 = treqid.09.05.2012-13.09.12 | + | |
| - | </ | + | |
| - | + | ||
| - | **Test Request generated by the T4 FIX API Server:** | + | |
| - | < | + | |
| - | 34=122|49=T4|56=T4Example|50=T4FIX|52=20120905-18: | + | |
| - | </ | + | |
| - | + | ||
| - | < | + | |
| - | [FIXTESTREQUEST] | + | |
| - | [MsgSeqNum] 34 = 122 | + | |
| - | [SenderCompID] 49 = T4 | + | |
| - | [TargetCompID] 56 = T4Example | + | |
| - | [SenderSubID] 50 = T4FIX | + | |
| - | [SendingTime] 52 = 20120905-18: | + | |
| - | [TestReqID] 112 = cts-20120905-18: | + | |
| - | </ | + | |
| - | + | ||
| - | **Client Heartbeat response | + | |
| - | < | + | |
| - | 34=173|49=T4Example|56=T4|52=20120905-18: | + | |
| - | </ | + | |
| - | + | ||
| - | < | + | |
| - | [FIXHEARTBEAT] | + | |
| - | [MsgSeqNum] 34 = 173 | + | |
| - | [SenderCompID] 49 = T4Example | + | |
| - | [TargetCompID] 56 = T4 | + | |
| - | [SendingTime] 52 = 20120905-18: | + | |
| - | [TestReqID] 112 = cts-20120905-18: | + | |
| - | </ | + | |
| - | + | ||
| - | + | ||
| - | [[developers: | + | |