Discover Refinitiv
MyRefinitiv Refinitiv Perspectives Careers
Created with Sketch.
All APIs Questions & Answers  Register |  Login
Ask a question
  • Questions
  • Tags
  • Badges
  • Unanswered
Search:
  • Home /
  • DSS /

For a deeper look into our DataScope Select REST API, look into:

Overview |  Quickstart |  Documentation |  Downloads |  Tutorials

avatar image
Question by ziucqea · Aug 21, 2021 at 09:38 AM · dss-rest-apidatascope-selectdsstick-history-rest-api

Tick History REST API: Error in handle_url(handle, url, ...) :can't find object 'location'

Hi. I'm following this tutorial (https://developers.refinitiv.com/en/article-catalog/article/using-tick-history-in-r-language-part-3) to use Refinitiv REST API in R. But I think the question should be general and apply to other languages (Python/C etc).

So I'm not able to get results within 30s time-out period so I'm polling the 'get' method. When running:


url <- "https://selectapi.datascope.refinitiv.com/RestApi/v1/Extractions/ExtractRaw"
r <- httr::GET(location,add_headers(prefer = "respond-async",Authorization = token))


I get the error:

Error in handle_url(handle, url, ...) : ccan't find object 'location'


But nowhere in the tutorial mentions how to define 'location'. So can I get some help on this issue? Thank you.

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.

4 Replies

  • Sort: 
avatar image
REFINITIV
Best Answer
Answer by Jirapongse · Aug 23, 2021 at 03:25 AM

@ziucqea

Refer to the source code in GitHub, the Location is in the HTTP's headers when the HTTP status code is 202.

RTHExtractRaw <- function(b,path,overwrite = FALSE) {
  url <- "https://selectapi.datascope.refinitiv.com/RestApi/v1/Extractions/ExtractRaw"
  token <- get("token",envir = cacheEnv)
  r <- httr::POST(url,add_headers(prefer = "respond-async",Authorization = token),content_type_json(),body = b,encode = "json")
  if (status_code(r) == 202) {
                 
    message("The request has been accepted but has not yet completed executing asynchronously.\r\nReturn monitor URL\r\n",r$headers$location)
    return(invisible(r$headers$location))
  } else if(status_code(r) == 200) {
    a<-content(r, "parsed", "application/json", encoding="UTF-8")
    message(a$Notes)
    return(RTHRawExtractionResults(a$JobId,path,overwrite))
  } else {
    warn_for_status(r)
    a<-content(r, "parsed", "application/json", encoding="UTF-8")
    return(a)
  }
}

1629689021730.png

Then, the URL in the Location is used with the HTTP get method to check the request status.

RTHCheckRequestStatus <- function(location,path,overwrite = FALSE) {
  token <- get("token",envir = cacheEnv)
  r <- GET(location,add_headers(prefer = "respond-async",Authorization = token))
  if (status_code(r) == 202) {
    message("The request has not yet completed executing asynchronously.\r\nPlease wait a bit and check the request status again.\r\n")
    return(invisible(r$headers$location))
  } else if(status_code(r) == 200) {
    a<-content(r, "parsed", "application/json", encoding="UTF-8")
    message(a$Notes)
    return(RTHRawExtractionResults(a$JobId,path,overwrite))
  } else {
    warn_for_status(r)
    a<-content(r, "parsed", "application/json", encoding="UTF-8")
    return(a)
  }
}

1629689021730.png (54.6 KiB)
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
ziucqea · Aug 23, 2021 at 09:45 AM 0
Share

Hi. Thank you. I'm now able to run the functions. However, should I define path as a csv file or something else? When I set path as a csv file and run RTHCheckRequestStatus(), I get some garbled codes as in the pic. What should I do?qq截图20210823193604.png

qq截图20210823194032.png

qq截图20210823193604.png (34.5 KiB)
qq截图20210823194032.png (51.5 KiB)
avatar image
Answer by ziucqea · Aug 23, 2021 at 09:49 AM

@jirapongse.phuriphanvichai

Hi. Just repeating my question in the comment for a better readability... I'm now able to run the functions thanks a lot. However, should I define path as a csv file or something else? When I set path as a csv file and run RTHCheckRequestStatus(), I get some garbled codes as in the pic. What should I do?

qq截图20210823193604.png

qq截图20210823194032.png


qq截图20210823193604.png (34.5 KiB)
qq截图20210823194032.png (51.5 KiB)
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
REFINITIV
Jirapongse ♦♦ · Aug 23, 2021 at 10:34 AM 0
Share

@ziucqea

Please share the request's body (b) used with the RTHExtractRaw function.

avatar image
Answer by ziucqea · Aug 23, 2021 at 11:00 AM

@jirapongse.phuriphanvichai

Hi, my body is:

b='{

"ExtractionRequest": {

"@odata.type": "#DataScope.Select.Api.Extractions.ExtractionRequests.TickHistoryIntradaySummariesExtractionRequest",

"ContentFieldNames": [

"Close Ask",

"Close Bid"


],

"IdentifierList": {

"@odata.type": "#DataScope.Select.Api.Extractions.ExtractionRequests.InstrumentIdentifierList",

"InstrumentIdentifiers": [

{ "Identifier": "AAPL.O", "IdentifierType": "Ric" }

],

"ValidationOptions": null,

"UseUserPreferencesForValidationOptions": false

},

"Condition": {

"MessageTimeStampIn": "LocalExchangeTime",

"ReportDateRangeType": "Range",

"QueryStartDate": "2020-08-17T11:00:00.000Z",

"QueryEndDate": "2020-08-19T11:30:00.000Z",

"SummaryInterval": "OneMinute",

"TimebarPersistence": true,

"DisplaySourceRIC": true

}

}

}'


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 Jirapongse · Aug 24, 2021 at 04:40 AM

@ziucqea

From my test, the output is the gzip file. Therefore, we need to save it as a gzip file.

result = RTHCheckRequestStatus(location,"c:\\d_drive\\test.csv.gz")

Then, uncompress it to get the csv file.


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
ziucqea · Aug 24, 2021 at 06:11 AM 0
Share
Thank you. I seem to be able to run the extraction now... Many thanks again

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 >
13 People are following this question.

Related Questions

How to get FX Rates from DataScope Select Rest API in Python?

TRCLASSIFICATIONSCHEME

Retrieving Tick History Time and Sales & Raw data DSS reports via API

TRTH / DSS Timeseries Extraction 10-Year Bond 'Close Yield' Column is Empty

why is a simple retrieval taking so long?

  • Copyright
  • Cookie Policy
  • Privacy Statement
  • Terms of Use
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Alpha
  • App Studio
  • Block Chain
  • Bot Platform
  • Connected Risk APIs
  • DSS
  • Data Fusion
  • Data Model Discovery
  • Datastream
  • Eikon COM
  • Eikon Data APIs
  • Electronic Trading
    • Generic FIX
    • Local Bank Node API
    • Trading API
  • Elektron
    • EMA
    • ETA
    • WebSocket API
  • Intelligent Tagging
  • Legal One
  • Messenger Bot
  • Messenger Side by Side
  • ONESOURCE
    • Indirect Tax
  • Open Calais
  • Open PermID
    • Entity Search
  • Org ID
  • PAM
    • PAM - Logging
  • ProView
  • ProView Internal
  • Product Insight
  • Project Tracking
  • RDMS
  • 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
  • TRKD
  • TRTH
  • Thomson One Smart
  • Transactions
    • REDI API
  • Velocity Analytics
  • Wealth Management Web Services
  • Workspace SDK
    • Element Framework
    • Grid
  • World-Check Data File
  • 中文论坛
  • Explore
  • Tags
  • Questions
  • Badges