while using websockets with Real-Time - Optimized, how do I get the chain information to even start?

Question:

while using websockets with Real-Time - Optimized, how do I get the chain information to even start?

- What service? "ELEKTRON_DD" seems to just return "not found" for everything; e.g, 0#C 0#/C, 0#.FTSE, etc.

- What URL do I use for the websocket connection?

I've modified a github sample (MarketPriceEdpGwServiceDiscoveryExample) and am successully getting an auth token and pricing after discovering

services with https://api.refinitiv.com/streaming/pricing/v1/.

When I send messages like this:

{

"ID": 2,

"Streaming": false,

"Key":

{

"Name":

[

"<#/C:",

"0#C:",

]

}

}

I get a resonse like this:

[

{

"ID": 3,

"Type": "Refresh",

"Key": {

"Service": "ELEKTRON_DD",

"Name": "0#/C:"

},

"State": {

"Stream": "NonStreaming",

"Data": "Ok"

},

"Qos": {

"Timeliness": "Realtime",

"Rate": "JitConflated"

},

"PermData": "AwEBSRDA",

"SeqNumber": 2655,

"Fields": {}

}

]

There is nothing in that response to expand chains with.

n.b. Despite having the right RIC, I really suspect that you cannot expand chains using the ELEKTRON_DD service or possibly not through the streaming price URL.

I am well aware of this code:

https://github.com/Refinitiv-API-Samples/Article.WebSocketAPI.DotNet.DotNetCoreChainExpanderApp

But it sure doesn't connect to anything directly in the "elektron cloud". I can of course point it at our local ADS (which we are trying to get rid of), but that isn't Cloud.

Thank you

Best Answer

  • Gurpreet
    Answer ✓

    I can subscribe and get data just fine (one of the instruments in your request is invalid). I used the service discovery example from github.

    SENT on session1:
    {
      "ID":2,
      "Key":{
        "Name":[
          "<#/C:",
          "0#C:"
        ],
        "Service":"ELEKTRON_DD"
      },
      "Streaming":false
    }
    RECEIVED on session1:
    [
      {
        "ID":2,
        "State":{
          "Data":"Ok",
          "Stream":"Closed",
          "Text":"Processed 2 total items from Batch Request.  2 Ok."
        },
        "Type":"Status"
      }
    ]
    RECEIVED on session1:
    [
      {
        "Fields":{
          "BCAST_REF":"GRA",
          "CONTEXT_ID":2540,
          "CURRENCY":"USc",
          "DDS_DSO_ID":8294,
          "DSPLY_NAME":"CORN",
          "DSPLY_NMLL":null,
          "LINK_1":"CH1",
          "LINK_10":"CZ2",
          "LINK_11":"CH3",
          "LINK_12":"CK3",
          "LINK_13":"CN3",
          "LINK_14":"CU3",
          "LINK_2":"CK1",
          "LINK_3":"CN1",
          "LINK_4":"CU1",
          "LINK_5":"CZ1",
          "LINK_6":"CH2",
          "LINK_7":"CK2",
          "LINK_8":"CN2",
          "LINK_9":"CU2",
          "MKT_SECTOR":"1",
          "NEWS":"YYYY",
          "NEWS_TIME":"22:29:05",
          "NEXT_LR":"1#C:",
          "PREF_LINK":"1#C:",
          "PREV_DISP":0,
          "PREV_LR":null,
          "PROD_PERM":91,
          "RDNDISPLAY":208,
          "RDN_EXCHD2":"CBT",
          "RDN_EXCHID":"CBT",
          "RECORDTYPE":200,
          "REF_COUNT":14,
          "SPS_SP_RIC":".[SPSCBOTVAE1"
        },
        "ID":4,
        "Key":{
          "Name":"0#C:",
          "Service":"ELEKTRON_DD"
        },
        "PermData":"AwEBkcA=",
        "Qos":{
          "Rate":"JitConflated",
          "Timeliness":"Realtime"
        },
        "SeqNumber":191,
        "State":{
          "Data":"Ok",
          "Stream":"NonStreaming"
        },
        "Type":"Refresh"
      }
    ]
    RECEIVED on session1:
    [
      {
        "ID":3,
        "Key":{
          "Name":"<#/C:",
          "Service":"ELEKTRON_DD"
        },
        "State":{
          "Code":"NotFound",
          "Data":"Suspect",
          "Stream":"Closed",
          "Text":"**The record could not be found"
        },
        "Type":"Status"
      }
    ]

    Similarly:

    SENT on session1:
    {
      "ID":2,
      "Key":{
        "Name":"0#.FTSE",
        "Service":"ELEKTRON_DD"
      }
    }
    RECEIVED on session1:
    [
      {
        "Fields":{
          "ACTIV_DATE":null,
          "ALIAS":null,
          "BCAST_REF":null,
          "CONTEXT_ID":6700,
          "CURRENCY":null,
          "DDS_DSO_ID":12488,
          "DSPLY_NAME":"FTSE 100 INDEX",
          "DSPLY_NMLL":null,
          "INSTU_NAME":null,
          "LONGLINK1":".FTSE",
          "LONGLINK10":"AVST.L",
          "LONGLINK11":"AVV.L",
          "LONGLINK12":"AZN.L",
          "LONGLINK13":"BAES.L",
          "LONGLINK14":"BARC.L",
          "LONGLINK2":".AD.FTSE",
          "LONGLINK3":"AAL.L",
          "LONGLINK4":"ABF.L",
          "LONGLINK5":"ADML.L",
          "LONGLINK6":"AHT.L",
          "LONGLINK7":"ANTO.L",
          "LONGLINK8":"AUTOA.L",
          "LONGLINK9":"AV.L",
          "LONGNEXTLR":"1#.FTSE",
          "LONGPREVLR":null,
          "MSG_VER":null,

    Please contact content-support at MyRefinitiv to understand it.

Answers

  • Thank you @Gurpreet @Maury.Hill response received, please review if this helped

  • Thanks. Seeing this response reminded me I had specified a View and the fields for the Chain were missing from that. I forgot I was applying a View.


    Effectively, I was embarrassingly filtering out the very fields I was looking for.