Delay Request using DSS
We are trying to get values for some instruments using the REST API and IntradayExtract. We used the OnlyNonEmbargoedData set to true in order to receive what is available when calling ExtractWithNotes.
The response, has all the non embargoed data, plus the embargoed ones, and it as a 200 OK as the response status. If we set the flag to False, then we get an 202 and a Location url at the header of the response, and then we can probe that url till we have all the data.
The problem is that this means we have to place two requests, the first with the flag set to true and then another one, with the embargoed ones and get the location url, and then probe that location in order to get the data of the embargoed ones.
We also found another solution, recomended by refinitiv, that by adding an / to the identifiertype, it would return us the last available data. We tried set the OnlyNonEmbargoedData both to true and false.
The problem, with this approach, is the response we receive, it just says that there are no valid identifiers.
The request:
@{ "ExtractionRequest": { "@odata.type": "#ThomsonReuters.Dss.Api.Extractions.ExtractionRequests.IntradayPricingExtractionRequest", "ContentFieldNames": [ "RIC", "Trade Date", "Trade Time", "Official Close Date", "Official Close Price", "Official Close Time", "Previous Close Date", "Previous Close Price", "Last Price", "Trade Price Currency Code", "Trade Price Currency Description", "Last Trade Price Timestamp", "Last Volume", "Volume", "Previous Day Volume", "Ask Price", "Bid Price", "High Price", "Low Price", "Mid Price", "Open Price", "Current Embargo Delay", "Embargo Times", "Exchange Requiring Embargo", "Maximum Embargo Delay", "Real Time Permitted", "Quote Time", "Exchange Code", "Exchange Description", "Last Update Time" ], "IdentifierList": { "@odata.type": "#ThomsonReuters.Dss.Api.Extractions.ExtractionRequests.InstrumentIdentifierList", "InstrumentIdentifiers": [ { "Identifier": "/CAL.GH", "IdentifierType": "Ric" }, { "Identifier": "/NBA.LS", "IdentifierType": "Ric" }, { "Identifier": "/LTM.SN", "IdentifierType": "Ric" } ] }, "Condition": { "ScalableCurrency": false, "OnlyNonEmbargoedData": false } } }
The response:
{ "Contents": [ { "IdentifierType": "Ric", "Identifier": "/CAL.GH", "RIC": null, "Trade Date": null, "Trade Time": null, "Official Close Date": null, "Official Close Price": null, "Official Close Time": null, "Previous Close Date": null, "Previous Close Price": null, "Last Price": null, "Trade Price Currency Code": null, "Trade Price Currency Description": null, "Last Trade Price Timestamp": null, "Last Volume": null, "Volume": null, "Previous Day Volume": null, "Ask Price": null, "Bid Price": null, "High Price": null, "Low Price": null, "Mid Price": null, "Open Price": null, "Current Embargo Delay": null, "Embargo Times": null, "Exchange Requiring Embargo": null, "Maximum Embargo Delay": null, "Real Time Permitted": null, "Quote Time": null, "Exchange Code": null, "Exchange Description": null }, { "IdentifierType": "Ric", "Identifier": "/NBA.LS", "RIC": null, "Trade Date": null, "Trade Time": null, "Official Close Date": null, "Official Close Price": null, "Official Close Time": null, "Previous Close Date": null, "Previous Close Price": null, "Last Price": null, "Trade Price Currency Code": null, "Trade Price Currency Description": null, "Last Trade Price Timestamp": null, "Last Volume": null, "Volume": null, "Previous Day Volume": null, "Ask Price": null, "Bid Price": null, "High Price": null, "Low Price": null, "Mid Price": null, "Open Price": null, "Current Embargo Delay": null, "Embargo Times": null, "Exchange Requiring Embargo": null, "Maximum Embargo Delay": null, "Real Time Permitted": null, "Quote Time": null, "Exchange Code": null, "Exchange Description": null }, { "IdentifierType": "Ric", "Identifier": "/LTM.SN", "RIC": null, "Trade Date": null, "Trade Time": null, "Official Close Date": null, "Official Close Price": null, "Official Close Time": null, "Previous Close Date": null, "Previous Close Price": null, "Last Price": null, "Trade Price Currency Code": null, "Trade Price Currency Description": null, "Last Trade Price Timestamp": null, "Last Volume": null, "Volume": null, "Previous Day Volume": null, "Ask Price": null, "Bid Price": null, "High Price": null, "Low Price": null, "Mid Price": null, "Open Price": null, "Current Embargo Delay": null, "Embargo Times": null, "Exchange Requiring Embargo": null, "Maximum Embargo Delay": null, "Real Time Permitted": null, "Quote Time": null, "Exchange Code": null, "Exchange Description": null } ], "Notes": [ "All identifiers were invalid. No extraction performed." ] }
What is the approach we can follow, as we really need the intraday prices, but we don't want to duplicate all requests (as per the first approach) and this approach (getting the delay data) isn't working.
Thanks
Best Answer
-
In a nutshell: the only way to get around making 2 requests is to make a single On Demand request without the OnlyNonEmbargoedData setting, but the data will only be delivered after all embargo delays have passed.
If you want to get the non-embargoed data first:
- With an On Demand request (which is the recommended way to go) you must make 2 requests: one for all instruments (with OnlyNonEmbargoedData set to true), and a subsequent one for all the RICs that were not returned (with OnlyNonEmbargoedData set to false). The second query will take longer as it will be subject to embargo.
- If you sort your instruments before the call (you can determine which ones will be embargoed, based on the RIC extension) you could also make 2 separate On Demand calls from the start, one for those that will not be embargoed, and the other for those that will be embargoed (both of these calls would not have the OnlyNonEmbargoedData setting).
- It is also possible to use a scheduled request; this is not the recommended way to go, and the workflow is a bit complicated.
For details, please refer to the accepted response in this query thread.
Please also note that if you want partial deliveries (non-embargoed data before embargoed data), you must enable the appropriate settings in the user preferences in the GUI.
0
Answers
-
Yeah... that's what I thought it would be the solution. Anyway, I've been told by a Refinitiv representant here in Portugal that I could use /{Identifier}, e.g. /CAL.GH in order to get the last delayed data available. But when I try to use ExtractWithNotes with this identifier (with the \) the response I get is always "Invalid identifier". Has the delayed data been deprecated?
Thanks
0 -
I'm an API specialist, not a content specialist, so I'm not sure about what coverage there is (if any) for RIC identifiers preceded with a /.
But considering what you observe when using them ("All identifiers were invalid"), and the fact that I observe the same with other equity RICs, I'd conclude that using a / is not a solution.
0 -
The "/{identifier}" is RIC structure for delay RIC provided by real-time feed. I have tried the extraction. It will returns data if you add "AllowOpenAccessInstruments" in ValidationOptions. Below is the description from DSS User Guide document.
Example:
{ "Identifier": "/LTM.SN", "IdentifierType": "Ric" } ] ,
"ValidationOptions": {
"AllowOpenAccessInstruments": true
},
"UseUserPreferencesForValidationOptions": false},
"Condition": { "ScalableCurrency": false, "OnlyNonEmbargoedData": false } } }1 -
veerapath.rungruengrayubkul, I was not aware of that, very interesting, thank you.
0
Categories
- All Categories
- 6 AHS
- 39 Alpha
- 161 App Studio
- 4 Block Chain
- 4 Bot Platform
- 16 Connected Risk APIs
- 47 Data Fusion
- 30 Data Model Discovery
- 608 Datastream
- 1.3K DSS
- 577 Eikon COM
- 4.9K Eikon Data APIs
- 7 Electronic Trading
- Generic FIX
- 7 Local Bank Node API
- Trading API
- 2.7K Elektron
- 1.3K EMA
- 236 ETA
- 519 WebSocket API
- 33 FX Venues
- 10 FX Market Data
- 1 FX Post Trade
- 1 FX Trading - Matching
- 12 FX Trading – RFQ Maker
- 5 Intelligent Tagging
- 2 Legal One
- 20 Messenger Bot
- 2 Messenger Side by Side
- 9 ONESOURCE
- 7 Indirect Tax
- 59 Open Calais
- 264 Open PermID
- 39 Entity Search
- 2 Org ID
- PAM
- PAM - Logging
- 8.4K Private Comments
- 6 Product Insight
- Project Tracking
- ProView
- ProView Internal
- 20 RDMS
- 1.4K Refinitiv Data Platform
- 367 Refinitiv Data Platform Libraries
- 3 Refinitiv Due Diligence
- LSEG Due Diligence Portal API
- 3 Refinitiv Due Dilligence Centre
- Rose's Space
- 1.1K Screening
- 18 Qual-ID API
- 13 Screening Deployed
- 23 Screening Online
- 10 World-Check Customer Risk Screener
- 990 World-Check One
- 44 World-Check One Zero Footprint
- 45 Side by Side Integration API
- Test Space
- 3 Thomson One Smart
- 1.2K TR Internal
- Global Hackathon 2015
- 2 Specialists Who Code
- 10 TR Knowledge Graph
- 150 Transactions
- 142 REDI API
- 1.7K TREP APIs
- 4 CAT
- 21 DACS Station
- 117 Open DACS
- 1.1K RFA
- 103 UPA
- 172 TREP Infrastructure
- 224 TRKD
- 886 TRTH
- 5 Velocity Analytics
- 5 Wealth Management Web Services
- 59 Workspace SDK
- 9 Element Framework
- 5 Grid
- 13 World-Check Data File
- Yield Book Analytics
- 46 中文论坛