question

Upvotes
Accepted
1 1 2 4

Unable to download the extracted data using Tick History in R language

Client has followed the instructions on the below, however they are still unable to download the extracted data.


https://developers.refinitiv.com/en/article-catalog/article/using-tick-history-in-r-language-part-3


Below screenshot shows where they get 200 status, but when downloaded the data they get garbled code; below screenshot and their API details:







b='{

"ExtractionRequest": {

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

"ContentFieldNames": [

"Close Ask",

"Close Bid",

"Volume"

],

"IdentifierList": {

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

"InstrumentIdentifiers": [

{ "Identifier": "IBM.N", "IdentifierType": "Ric" }

],

"ValidationOptions": null,

"UseUserPreferencesForValidationOptions": false

},

"Condition": {

"MessageTimeStampIn": "LocalExchangeTime",

"ReportDateRangeType": "Range",

"QueryStartDate": "2021-08-16T11:00:00.000Z",

"QueryEndDate": "2021-08-16T15:30:00.000Z",

"SummaryInterval": "OneMinute",

"TimebarPersistence": true,

"DisplaySourceRIC": true

}

}

}'



#define a function to use later

RTHRawExtractionResults <- function(token,jobid,Path,Overwrite = TRUE) {

url <- paste0("https://selectapi.datascope.refinitiv.com/RestApi/v1/Extractions/RawExtractionResults('",jobid,"')/$value")

r <- httr::GET(url,add_headers(prefer = "respond-async",Authorization = token),config(http_content_decoding=0),write_disk(Path,Overwrite),progress())

stop_for_status(r)

return(r)

}


#now define:

RTHExtractRaw <- function(token,b,path,overwrite = FALSE) {

url <- "https://selectapi.datascope.refinitiv.com/RestApi/v1/Extractions/ExtractRaw"

r <- httr::POST(url,add_headers(prefer = "respond-async",Authorization = token),content_type_json(),body = b,encode = "json")

if (httr::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(token,a$JobID,path,overwrite))

} else {

warn_for_status(r)

a<-content(r, "parsed", "application/json", encoding="UTF-8")

return(a)

}

}

RTHExtractRaw(token,b,"C:/Users/Qi/OneDrive - UTS/_essay 2/Reuters sample/test.gzip")


#extraction not successful within 30s; get location url

path="C:/Users/Qi/OneDrive - UTS/_essay 2/Reuters sample/test.gzip"

location="https://selectapi.datascope.refinitiv.com/RestApi/v1/Extractions/ExtractRawResult(ExtractionId='0x07ae2e2eb9fd0eee')"



#check for status until 200

r <- httr::GET(location,add_headers(prefer = "respond-async",Authorization = token))

r


RTHCheckRequestStatus <- function(token,location,path,overwrite = FALSE) {

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(token,a$JobId,path,overwrite))

} else {

warn_for_status(r)

a<-content(r, "parsed", "application/json", encoding="UTF-8")

return(a)

}

}


RTHCheckRequestStatus(token,location,path,overwrite = TRUE)




@vinod.amarnath @Beera.Rajesh

tick-history-rest-api
icon clock
10 |1500

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

1 Answer

Upvotes
Accepted
23k 22 9 14

Hello @Vinod A ,

Please see this discussion thread and the last answer from @jirapongse.phuriphanvichai ,

does this help?

I think this may be a similar, of not the same, issue, i.e. try processing the result as a zip file?

icon clock
10 |1500

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

Click below to post an Idea Post Idea