TRTH ExtractRawResult returns Error 404

I'm creating a python sample around TRTH starting from the tutorial and I'm getting this 404 error in the last step of the process. Would anyone have a working python sample ?
- Getting the token works fine
import requests
import json
requestUrl = "https://hosted.datascopeapi.reuters.com/RestApi/v1/Authentication/RequestToken"
requestHeaders={
"Prefer":"respond-async",
"Content-Type":"application/json"
}
requestBody={
"Credentials": {
"Username": "XXXXX",
"Password": "*****"
}
}
r = requests.post(requestUrl, json=requestBody,headers=requestHeaders)
jsonResponse = json.loads(r.text.encode('ascii', 'ignore'))
token = jsonResponse["value"]
print token
returns succesfully the token
- then I can successfuly post a request
Url='https://hosted.datascopeapi.reuters.com/RestApi/v1/Extractions/ExtractRaw'
requestUrl=Url
requestHeaders={
"Prefer":"respond-async",
"Content-Type":"application/json",
"Authorization": "token " + token
}
requestBody={
"ExtractionRequest": {
"@odata.type": "#ThomsonReuters.Dss.Api.Extractions.ExtractionRequests.TickHistoryIntradaySummariesExtractionRequest",
"ContentFieldNames": [
"Close Ask",
"Close Bid",
"High",
"High Ask",
"High Bid",
"Last",
"Low",
"Low Ask",
"Low Bid",
"No. Asks",
"No. Bids",
"No. Trades",
"Open",
"Open Ask",
"Open Bid",
"Volume"
],
"IdentifierList": {
"@odata.type": "#ThomsonReuters.Dss.Api.Extractions.ExtractionRequests.InstrumentIdentifierList",
"InstrumentIdentifiers": [{
"Identifier": "CARR.PA",
"IdentifierType": "Ric"
}],
"UseUserPreferencesForValidationOptions":"false"
},
"Condition": {
"MessageTimeStampIn": "GmtUtc",
"ReportDateRangeType": "Range",
"QueryStartDate": "2016-09-29T00:00:00.000Z",
"QueryEndDate": "2016-09-30T00:00:00.000Z",
"SummaryInterval": "OneHour",
"TimebarPersistence":"true",
"DisplaySourceRIC":"true"
}
}
}
r = requests.post(requestUrl, json=requestBody,headers=requestHeaders)
print r
print r.headers
print r.headers["location"]
and get as expected
<Response [202]>
{'Status': 'InProgress', 'Content-Length': '0', 'X-Request-Execution-Correlation-Id': 'c9034ca7-94d4-4c5a-a4ee-75e499b88457', 'X-App-Id': 'Custom.RestApi', 'Set-Cookie': 'DSSAPI-COOKIE=R3479498792; path=/', 'Expires': '-1', 'Server': 'Microsoft-IIS/7.5', 'X-App-Version': '11.0.492.64', 'Location': "https://hosted.datascopeapi.reuters.com/RestApi/v1/Extractions/ExtractRawResult(ExtractionId='0x05b94284924b3016')", 'Pragma': 'no-cache', 'Cache-Control': 'no-cache', 'Date': 'Fri, 19 May 2017 09:42:01 GMT', 'Progress': ''}
https://hosted.datascopeapi.reuters.com/RestApi/v1/Extractions/ExtractRawResult(ExtractionId='0x05b94284924b3016')
- I can then pull the status
requestUrl = r.headers["location"]
print requestUrl
requestHeaders={
"Prefer":"respond-async",
"Content-Type":"application/json",
"Authorization":"token " + token
}
r2 = requests.get(requestUrl,headers=requestHeaders)
print r2
print r2.headers
until I get
<Response [200]>
- However, when I try to retrieve the content using
requestUrl = r.headers["location"] + "/$value"
requestHeaders={
"Prefer":"respond-async",
"Content-Type":"application/json",
"Accept-Encoding":"gzip, deflate",
"Authorization": "token " + token
}
r3 = requests.get(requestUrl,headers=requestHeaders)
print r3
I get
<Response [400]>
would anyone have a working python sample ?
Many thanks
Best Answer
-
400 is a bad request, 404 indicates that the resource specified by the request URL does not exist (see status codes here).
The issue is with the URL when you try to retrieve the content. It is not the location URL. Instead, you must use this URL:
https://hosted.datascopeapi.reuters.com/RestApi/v1/Extractions/RawExtractionResults('0x05b94284924b3016')/$value
This URL contains the JobId (0x05b94284924b3016) which was returned in the body of the previous 200 response.
You can find the details of the On Demand request workflow in this tutorial, and this particular step is described here.
0
Answers
-
Many thanks @Christiaan Meihsl
Indeed with the right url it works better!
requestUrl = "https://hosted.datascopeapi.reuters.com/RestApi/v1/Extractions/RawExtractionResults" + "('" + jobId + "')" + "/$value"
requestHeaders={
"Prefer":"respond-async",
"Content-Type":"text/plain",
"Accept-Encoding":"gzip",
"Authorization": "token " + token
}
r3 = requests.get(requestUrl,headers=requestHeaders)
extract = r3.text
print r3
print extractor with a panda dataframe
rom StringIO import StringIO
import pandas as pd
timeSeries = pd.read_csv(StringIO(r3.text))
timeSeriesMany thanks
Samuel
0 -
no problem. I'm using jypiter notebook, so it may have to be converted to another editor. in any case I'm happyto share it.
regards
0 -
Great, good to know
0 -
thank for the info. this is done.
0
Categories
- All Categories
- 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
- 613 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
- 248 ETA
- 552 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
- 629 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
- 191 TREP Infrastructure
- 228 TRKD
- 915 TRTH
- 5 Velocity Analytics
- 9 Wealth Management Web Services
- 86 Workspace SDK
- 11 Element Framework
- 5 Grid
- 18 World-Check Data File
- 1 Yield Book Analytics
- 46 中文论坛