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

Overview |  Quickstart |  Documentation |  Downloads |  Tutorials

question

Upvotes
Accepted
3 3 2 3

Get End of Day data, subsequent request after a timeout - HTTP request python example

Hello All,

I trying to retrieve an end of day request using python.

urlGetToken = 'https://hosted.datascopeapi.reuters.com/RestApi/v1/Authentication/RequestToken'
header1 = {'Content-Type': 'application/json'}
tokenRequestBody = json.dumps({'Credentials':{'Password':psswd,'Username':username}})
print('Request String: ' + tokenRequestBody)
response = requests.post(urlGetToken, tokenRequestBody, headers=header1)

token = response.json()['value']

header3 = {'Content-Type': 'application/json', 'Authorization': 'Token ' + token, 'Prefer': 'respond-async, wait=5'}

data = json.dumps({
  "ExtractionRequest": {
    "@odata.type": "#ThomsonReuters.Dss.Api.Extractions.ExtractionRequests.EndOfDayPricingExtractionRequest",
    "ContentFieldNames": [
      "RIC",
      "Ticker",
      "Universal Ask Price",
      "Universal Bid Ask Date",
      "Universal Bid Price",
      "Universal Close Price",
      "Volume",
    ],
    "IdentifierList": {
      "@odata.type": "#ThomsonReuters.Dss.Api.Extractions.ExtractionRequests.InstrumentIdentifierList",
      "InstrumentIdentifiers": [{
        "Identifier": "Cc1",
        "IdentifierType": "Ric"
      }]
    },
    "Condition": None
  }
})
url = 'https://hosted.datascopeapi.reuters.com/RestApi/v1/Extractions/Extract'
resp = requests.post(url, data, headers=header3)

After I run the above code.

I get a 202 response and I an unable to use the location url from the header to retrieve the data.

Does anyone have an example to Get End of Day data, subsequent request after a timeout - HTTP request using python and the request module. I am using python3.6

pythondss-rest-apidatascope-selectdsspricingresponse
icon clock
10 |1500

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

Upvotes
Accepted
13.7k 26 8 12

@Patrick.Trierweiler, to add to Zoya's response:

The On Demand request workflow and its logic are described in REST API Tutorial 3.

In the downloads there is a set of Python samples, tested with Python 3.6, and using the requests library. You will find a short description of the samples here. One of them, TRTH_OnDemand_IntradayBars, is an On Demand request. The only difference between that sample and what you ask for is the type of data that is requested. You can take the sample and replace the Intraday Bar request by your End of Day request, and you have the required code.

icon clock
10 |1500

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

Upvotes
32.2k 40 11 19

Hello @Patrick.Trierweiler,

If you receive 202 status response, it means "accepted".

When the request is completed, the status will become 200, "completed".

You can either keep trying to retrieve till you are successful,

Or you can keep checking status periodically as described in this tutorial

and retrieve the result when status have changed to 200.

icon clock
10 |1500

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

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

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