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="
}
}
Best Answer
-
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
}
}
]0
Answers
-
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?
0 -
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=trapi0
Categories
- All Categories
- 3 Polls
- 6 AHS
- 36 Alpha
- 166 App Studio
- 6 Block Chain
- 4 Bot Platform
- 18 Connected Risk APIs
- 47 Data Fusion
- 34 Data Model Discovery
- 684 Datastream
- 1.4K DSS
- 615 Eikon COM
- 5.2K Eikon Data APIs
- 10 Electronic Trading
- Generic FIX
- 7 Local Bank Node API
- 3 Trading API
- 2.9K Elektron
- 1.4K EMA
- 249 ETA
- 554 WebSocket API
- 37 FX Venues
- 14 FX Market Data
- 1 FX Post Trade
- 1 FX Trading - Matching
- 12 FX Trading – RFQ Maker
- 5 Intelligent Tagging
- 2 Legal One
- 23 Messenger Bot
- 3 Messenger Side by Side
- 9 ONESOURCE
- 7 Indirect Tax
- 60 Open Calais
- 275 Open PermID
- 44 Entity Search
- 2 Org ID
- 1 PAM
- PAM - Logging
- 6 Product Insight
- Project Tracking
- ProView
- ProView Internal
- 22 RDMS
- 1.9K Refinitiv Data Platform
- 643 Refinitiv Data Platform Libraries
- 4 LSEG Due Diligence
- LSEG Due Diligence Portal API
- 4 Refinitiv Due Dilligence Centre
- Rose's Space
- 1.2K Screening
- 18 Qual-ID API
- 13 Screening Deployed
- 23 Screening Online
- 12 World-Check Customer Risk Screener
- 1K World-Check One
- 46 World-Check One Zero Footprint
- 45 Side by Side Integration API
- 2 Test Space
- 3 Thomson One Smart
- 10 TR Knowledge Graph
- 151 Transactions
- 143 REDI API
- 1.8K TREP APIs
- 4 CAT
- 26 DACS Station
- 121 Open DACS
- 1.1K RFA
- 104 UPA
- 192 TREP Infrastructure
- 228 TRKD
- 915 TRTH
- 5 Velocity Analytics
- 9 Wealth Management Web Services
- 90 Workspace SDK
- 11 Element Framework
- 5 Grid
- 18 World-Check Data File
- 1 Yield Book Analytics
- 46 中文论坛