developers:fixapi:orderstatusrequest

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
developers:fixapi:orderstatusrequest [2025/09/12 01:35] – removed - external edit (Unknown date) 127.0.0.1developers:fixapi:orderstatusrequest [2025/09/12 02:09] (current) chad
Line 1: Line 1:
 +====== ORDER STATUS REQUEST [35=H] ======
  
 +The Order Status Request message queries the current state of an order.
 +
 +===== Order Identification =====
 +**Required:**
 +  * OrderID (37) - T4-assigned unique ID
 +  * SecurityID (48) - T4 Market ID  
 +  * Side (54) - Buy/Sell direction
 +
 +**Optional:**
 +  * ClOrdID (11) - Client order ID
 +  * ClientID (109) - Echoed as MassStatusReqID in response
 +
 +===== Response Behavior =====
 +  * Returns Execution Report (35=8) with ExecType=I, PossResend=Y
 +  * Unknown orders return OrdStatus=U
 +  * Maximum 50 requests per session
 +
 +===== Message Specification =====
 +
 +**Message Direction:** Client → T4
 +
 +^ Tag ^ Field Name ^ Type ^ Req'd ^ Description ^
 +| | **Message Header** | | Y | MsgType = H |
 +| 1 | Account | String | O | Account code |
 +| 11 | ClOrdID | String | O | Client order ID (max 20 chars) |
 +| 37 | OrderID | String | Y | T4-assigned order ID |
 +| 48 | SecurityID | String | Y | T4 Market ID |
 +| 55 | Symbol | String | O | T4 Contract ID |
 +| 207 | SecurityExchange | String | O | T4 Exchange ID |
 +| 167 | SecurityType | String | O | FUT, OPT, STK, SYN, BIN |
 +| 54 | Side | Char | Y | 0=None, 1=Buy, 2=Sell |
 +| 109 | ClientID | String | O | Echoed as MassStatusReqID |
 +| 107 | SecurityDesc | String | O | Security description |
 +| 1028 | ManualOrderIndicator | Boolean | O | Y=Manual, N=Automated |
 +| | **Message Trailer** | | Y | |
 +
 +===== Sample Messages =====
 +
 +**Note:** Pipe (|) used for readability. Actual FIX messages use SOH (ASCII 01) delimiter.
 +
 +**Status Request:**
 +<code>
 +8=FIX.4.2|9=200|35=H|49=T4Test|56=test|52=20160725-20:39:01.415|
 +1=_Account_|11=fc-636050440308221244|37=D33CF7F0-206A-48F8-8C8E-22745339FA05|
 +48=XCME_Eq ES (U16)|54=1|55=ES|207=CME_Eq|109=osr-636050579414153893|
 +167=FUT|10=123|
 +</code>
 +
 +**Status Response:**
 +<code>
 +8=FIX.4.2|9=450|35=8|49=test|56=T4Test|50=T4FIX|52=20160725-20:39:01.417|
 +143=US,IL|97=Y|1=_Account_|11=fc-636050440308221244|41=fr-636050433226127451|
 +17=D33CF7F0-206A-48F8-8C8E-22745339FA05_9_U|150=I|
 +37=D33CF7F0-206A-48F8-8C8E-22745339FA05|39=4|48=XCME_Eq ES (U16)|55=ES|
 +207=CME_Eq|200=201609|59=0|107=E-mini S&P 500 Sep16|54=1|167=FUT|38=1|
 +40=2|44=215375|912=Y|60=20160725-16:47:19.425|21=1|204=0|
 +584=osr-636050579414153893|10=234|
 +</code>
 +
 +===== Notes =====
 +  * Malformed messages rejected with Session Reject (35=3)
 +  * Unknown orders return OrdStatus=U if account unsubscribed or order expired
 +  * Can query orders from any source (FIX, Front-End, API) using OrderID
 +  * Complements Order Mass Status Request for bulk queries