Discover Refinitiv
MyRefinitiv Refinitiv Perspectives Careers
Created with Sketch.
All APIs Questions & Answers  Register |  Login
Ask a question
  • Questions
  • Tags
  • Badges
  • Unanswered
Search:
  • Home /
  • Elektron /
avatar image
Question by amar.a.panigrahi · Aug 15, 2018 at 05:48 AM · websocketelectron api

Receiving duplicate update messages with Webscoket

Hi Team,

We are using Websocket for getting message updates. We are interested to receive json update messages for RICs only if any of the 3 fields ASK, BID and MID_PRICE changes.

To limit the fields in update message we have used "Views" in request where we have mentioned the above required fields. However we are still getting duplicate messages(having same bid, ask and midprice as before) for RICs.

So is it something that other fields which we have not mentioned in Views, but it is still considered as an Update even if clients don't need those fields update.

Request:

{
"ID": 2,
"View": [
  "ASK",
  "BID",
  "MID_PRICE"
],
"Key": {"Name": [
  "JPY="
]}
} 

Below is the response format that we received:

{
  "Type": "Update",
  "Fields": {
    "ASK": 111.52,
    "BID": 111.49,
    "MID_PRICE": 111.51
  },
  "DoNotConflate": true,
  "ID": 59,
  "SeqNumber": 59310,
  "UpdateType": "Unspecified",
  "Key": {
    "Service": "ELEKTRON_DD",
    "Name": "JPY="
  }
}

People who like this

0 Show 0
Comment
10 |1500 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

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

2 Replies

  • Sort: 
avatar image
REFINITIV
Best Answer
Answer by wasin.waeosri · Aug 16, 2018 at 05:23 AM

Hello @amar.a.panigrahi

This is an expected behavior of ADS and TREP infrastructure. The Views feature just lets ADS/TREP (in this case is the amer-3.pricing.streaming.edp.thomsonreuters.com server) to “filter out” uninterested fields out of Refresh and Update messages to the application.

When the application receives duplicate View update messages from TREP, it means there are other “uninterested updated fields” from Feed/Exchange, but TREP filter out those fields from the message to API.

Example of All Fields Update messages:

RECEIVED: //Update 1 
[
  {
    "ID": 2,
    "Type": "Update",
    "UpdateType": "Unspecified",
    "DoNotConflate": true,
    "Key": {
      "Service": "ELEKTRON_DD",
      "Name": "JPY="
    },
    "SeqNumber": 4094,
    "Fields": {
      "BID": 111.13, #BID
      "PRIMACT_1": 111.13,
      "ASK": 111.15, #ASK
      ...
      "ACVOL_1": 62802, #Updated Field
      "BID_TICK_1": "⇧",
      "MID_PRICE": 111.14, #MIDPrice
    }
  }
]
RECEIVED: //Update 2
[
  {
    "ID": 2,
    "Type": "Update",
    "UpdateType": "Unspecified",
    "DoNotConflate": true,
    "Key": {
      "Service": "ELEKTRON_DD",
      "Name": "JPY="
    },
    "SeqNumber": 4158,
    "Fields": {
      "BID": 111.13,    #BID
      "PRIMACT_1": 111.13,
      "ASK": 111.15,    #ASK
      ...
      "ACVOL_1": 62803, #Updated Field
      "MID_PRICE": 111.14 #MIDPrice
    }
  }
]

When TREP receives the above update messages from Feed/Exchange, TREP will send just BID, ASK and MID_PRICE fields for the View consumer.

Example of View Update messages:

RECEIVED: //Update 1
[
  {
    "ID": 2,
    "Type": "Update",
    "UpdateType": "Unspecified",
    "DoNotConflate": true,
    "Key": {
      "Service": "ELEKTRON_DD",
      "Name": "JPY="
    },
    "SeqNumber": 4094,
    "Fields": {
      "BID": 111.13,
      "ASK": 111.15,
      "MID_PRICE": 111.14
    }
  }
]
RECEIVED: // Update 2
[
  {
    "ID": 2,
    "Type": "Update",
    "UpdateType": "Unspecified",
    "DoNotConflate": true,
    "Key": {
      "Service": "ELEKTRON_DD",
      "Name": "JPY="
    },
    "SeqNumber": 4158,
    "Fields": {
      "BID": 111.13,
      "ASK": 111.15,
      "MID_PRICE": 111.14
    }
  }
]
Comment

People who like this

0 Show 0 · Share
10 |1500 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

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

avatar image
REFINITIV
Answer by wasin.waeosri · Aug 15, 2018 at 07:14 AM

@amar.a.panigrahi

Basically, the Elektron WebSocket API just receives an incoming data from ADS server and passes it to the application as it is.

I can replicate the issue with ADS 3.2.1 and your JSON request message. The application receives duplicate update messages.

RECEIVED: 
[
  {
    "ID": 2,
    "Type": "Update",
    "UpdateType": "Unspecified",
    "DoNotConflate": true,
    "Key": {
      "Service": "ELEKTRON_DD",
      "Name": "JPY="
    },
    "SeqNumber": 4094,
    "Fields": {
      "BID": 111.13,
      "ASK": 111.15,
      "MID_PRICE": 111.14
    }
  }
]
RECEIVED: 
[
  {
    "ID": 2,
    "Type": "Update",
    "UpdateType": "Unspecified",
    "DoNotConflate": true,
    "Key": {
      "Service": "ELEKTRON_DD",
      "Name": "JPY="
    },
    "SeqNumber": 4158,
    "Fields": {
      "BID": 111.13,
      "ASK": 111.15,
      "MID_PRICE": 111.14
    }
  }
]

To let us verify this behavior in detail could you please give us your ADS version that encounter the problem?

Comment

People who like this

0 Show 1 · Share
10 |1500 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

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

avatar image
amar.a.panigrahi · Aug 15, 2018 at 07:19 AM 0
Share

I am not sure about the ADS version, but below are some configuration that we use to get the Market price:

reuters.host=amer-3.pricing.streaming.edp.thomsonreuters.com
reuters.port=443
reuters.scope=trapi

Watch this question

Add to watch list
Add to your watch list to receive emailed updates for this question. Too many emails? Change your settings >
9 People are following this question.

Related Questions

Filtering Pre & After hours pricing from websocket

ERT in cloud websocket login failed

Elektron Real Time in Cloud connection errors using Python and websocket.

Help in setting global variables for websocket API in R

How can I integrate Reuters electron service with a C# console application to fetch the latest currency rates?

  • Feedback
  • Copyright
  • Cookie Policy
  • Privacy Statement
  • Terms of Use
  • Careers
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Alpha
  • App Studio
  • Block Chain
  • Bot Platform
  • Calais
  • Connected Risk APIs
  • DSS
  • Data Fusion
  • Data Model Discovery
  • Datastream
  • Eikon COM
  • Eikon Data APIs
  • Elektron
    • EMA
    • ETA
    • WebSocket API
  • Legal One
  • Messenger Bot
  • Messenger Side by Side
  • ONESOURCE
    • Indirect Tax
  • Open PermID
    • Entity Search
  • Org ID
  • PAM
    • PAM - Logging
  • ProView
  • ProView Internal
  • Product Insight
  • Project Tracking
  • Refinitiv Data Platform
    • Refinitiv Data Platform Libraries
  • Rose's Space
  • Screening
    • Qual-ID API
    • Screening Deployed
    • Screening Online
    • World-Check One
    • World-Check One Zero Footprint
  • Side by Side Integration API
  • TR Knowledge Graph
  • TREP APIs
    • CAT
    • DACS Station
    • Open DACS
    • RFA
    • UPA
  • TREP Infrastructure
  • TRIT
  • TRKD
  • TRTH
  • Thomson One Smart
  • Transactions
    • REDI API
  • Velocity Analytics
  • Wealth Management Web Services
  • World-Check Data File
  • Explore
  • Tags
  • Questions
  • Badges