REF: WebSocket API to TRKD, i.e. TREP WebSockets using JSON message encoding.
A simple item request for MSFT.O with a QoS range against TRKD fails, despite matching the semantics of the documentation.
Request:
{"Domain":"MarketPrice","Service":"TRKDSERVICE","Key":{"Name":"MSFT.O"},"ID":2,"Qos":{"Rate":"TimeConflated","RateInfo":1000,"Timeliness":"Realtime"},"WorstQos":{"Rate":"TimeConflated","RateInfo":60000,"Timeliness":"DelayedUnknown"},"View":["MNEMONIC","LIST_MKT","TRDPRC_1","TRDTIM_1","TRADE_DATE","PRCTCK_1","PCTCHNG","NETCHNG_1","BID","BID_MMID1","QUOTE_DATE","QUOTIM","ASK","ASK_MMID1"]}
Response:
{"ID":2,"Type":"Status","Key":{"Service":"TRKDSERVICE","Name":"MSFT.O"},"State":{"Stream":"Closed","Data":"Suspect","Code":"SourceUnknown","Text":"Service Group: Unavailable Concrete Service."
If I assume the documentation is incorrect:
And thus explicitly specify the upper bounds of "Qos" value to be a real QoS within the TRKD infrastructure, then the query yields a valid response. Example,
Request:
{"Domain":"MarketPrice","Service":"TRKDSERVICE","Key":{"Name":"MSFT.O"},"ID":3,"Qos":{"Rate":"TimeConflated","RateInfo":5000,"Timeliness":"Realtime"},"WorstQos":{"Rate":"TimeConflated","RateInfo":60000,"Timeliness":"DelayedUnknown"},"View":["MNEMONIC","LIST_MKT","TRDPRC_1","TRDTIM_1","TRADE_DATE","PRCTCK_1","PCTCHNG","NETCHNG_1","BID","BID_MMID1","QUOTE_DATE","QUOTIM","ASK","ASK_MMID1"]}
Response:
{"ID":3,"Type":"Refresh","Key":{"Service":"TRKDSERVICE","Name":"MSFT.O"},"State":{"Stream":"Open","Data":"Ok","Text":"*All is well"},"Qos":{"Timeliness":"Realtime","Rate":"TimeConflated","RateInfo":5000},"PermData":"AwfQdMA=","SeqNumber":43664,"Fields":{"TRDPRC_1":214.650000,"NETCHNG_1":0.43,"PRCTCK_1":"⇧","TRADE_DATE":"2020-10-20","TRDTIM_1":"20:00:00","BID":215.24,"ASK":215.25,"PCTCHNG":0.2007,"BID_MMID1":"DEX","ASK_MMID1":"NAS","QUOTIM":"23:58:46","LIST_MKT":"Q","QUOTE_DATE":"2020-10-20","MNEMONIC":"MSFT"}}