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
-
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
- 37 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 中文论坛