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: | + |