Skip to content

Commit 294a4a1

Browse files
author
Wasin Waeosri
committed
do basic quote request
1 parent 82de511 commit 294a4a1

File tree

5 files changed

+108
-142
lines changed

5 files changed

+108
-142
lines changed

note.txt

Lines changed: 0 additions & 73 deletions
This file was deleted.

result.txt

Lines changed: 0 additions & 3 deletions
This file was deleted.

testpy.py

Lines changed: 0 additions & 21 deletions
This file was deleted.

testquote.py

Lines changed: 0 additions & 45 deletions
This file was deleted.

trkd_quote.py

Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
'''
2+
The TRKD API sample code is provided for informational purposes only
3+
and without knowledge or assumptions of the end users development environment.
4+
We offer this code to provide developers practical and useful guidance while developing their own code.
5+
However, we do not offer support and troubleshooting of issues that are related to the use of this code
6+
in a particular environment; it is offered solely as sample code for guidance.
7+
Please see the Thomson Reuters Knowledge Direct product page at http://customers.thomsonreuters.com
8+
for additional information regarding the TRKD API.'''
9+
10+
11+
import os
12+
import sys
13+
import requests
14+
import json
15+
import getpass
16+
17+
## Perform authentication
18+
def CreateAuthorization(username, password, appid):
19+
token = None
20+
##create authentication request URL, message and header
21+
authenMsg = {'CreateServiceToken_Request_1': { 'ApplicationID':appid, 'Username':username,'Password':password }}
22+
authenURL = 'https://api.trkd.thomsonreuters.com/api/TokenManagement/TokenManagement.svc/REST/Anonymous/TokenManagement_1/CreateServiceToken_1'
23+
headers = {'content-type': 'application/json;charset=utf-8'}
24+
print '############### Sending Authentication request message to TRKD ###############'
25+
try:
26+
##send request
27+
result = requests.post(authenURL, data = json.dumps(authenMsg), headers=headers)
28+
if result.status_code == 200:
29+
print 'Authen success'
30+
print 'response status %s'%(result.status_code)
31+
##get Token
32+
token = result.json()['CreateServiceToken_Response_1']['Token']
33+
elif result.status_code == 500:
34+
print 'Request fail'
35+
print 'response status %s'%(result.status_code)
36+
print 'Error: %s'%(result.json())
37+
except requests.exceptions.RequestException as e:
38+
print 'Exception!!!'
39+
print e
40+
sys.exit(1)
41+
42+
return token
43+
44+
## Perform Quote request
45+
def RetrieveQuotes(token,appid):
46+
quoteURL = 'https://api.trkd.thomsonreuters.com/api/Quotes/Quotes.svc/REST/Quotes_1/RetrieveItem_3'
47+
headers = {'content-type': 'application/json;charset=utf-8' ,'X-Trkd-Auth-ApplicationID': appid, 'X-Trkd-Auth-Token' : token}
48+
quoteRequestMsg = {
49+
'RetrieveItem_Request_3': {
50+
'TrimResponse': False,
51+
'ItemRequest': [
52+
{
53+
'Fields': 'CF_LAST:CF_HIGH:CF_LOW:CF_BID:CF_ASK:CF_YIELD:CF_DATE:CF_TIME:CF_VOLUME:CF_CLOSE:CF_OPEN:CF_NAME',
54+
'RequestKey': [
55+
{
56+
'Name': 'VOD.L',
57+
'NameType': 'RIC'
58+
}
59+
],
60+
'Scope': 'List',
61+
'ProvideChainLinks': True
62+
}
63+
]
64+
}
65+
}
66+
print '############### Sending Quote request message to TRKD ###############'
67+
try:
68+
##send request
69+
quoteresult = requests.post(quoteURL, data = json.dumps(quoteRequestMsg), headers=headers)
70+
if quoteresult.status_code == 200:
71+
print 'Quote request success'
72+
print quoteresult.json()
73+
else:
74+
print 'Request fail'
75+
print 'response status %s'%(quoteresult.status_code)
76+
print 'Error: %s'%(quoteresult.json())
77+
78+
except requests.exceptions.RequestException as e:
79+
print 'Exception!!!'
80+
print e
81+
sys.exit(1)
82+
83+
84+
## ------------------------------------------ Main App ------------------------------------------ ##
85+
##Get username, password and applicationid
86+
username = raw_input('Please input username: ')
87+
##use getpass.getpass to hide user inputted password
88+
password = getpass.getpass(prompt='Please input password: ')
89+
appid = raw_input('Please input appid: ')
90+
91+
token = CreateAuthorization(username,password,appid)
92+
print 'Token = %s'%(token)
93+
94+
RetrieveQuotes(token,appid)
95+
96+
97+
98+
99+
100+
101+
102+
103+
104+
105+
106+
107+
108+

0 commit comments

Comments
 (0)