question

Steven McCoy avatar image
1.2k 23 28 42

TRKD QoS range request yields "Unavailable Concrete Service."

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"}}



trepwebsocketsrkd-apirkd
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

wasin.w avatar image
14.3k 23 8 12

Hello @Steven McCoy

I have contacted the RKD team. The team suggest you use the following service names instead:

  • ELEKTRON_DD: provides optimized , 3 updates /sec , trade safe for consumer
  • ERT_FD3_LF1: (wealth default) provides 3 sec conflated, CF_-FIDS, non trade safe for consumers

The RKD team also mentioned that QoS only Realtime and Dealyed QoS are available for EAP.

Hope this help.

10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

wasin.w avatar image
14.3k 23 8 12

Hello @Steven McCoy

I can replicate the issue with my RKD account and your request messages. The Qos: RateInfo 1000 gets the same "Service Group: Unavailable Concrete Service." status message while Qos: RateInfo 5000 receives data successfully.


I will contact RKD team to clarify this issue.

10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.