Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
wiseplat
GitHub Repository: wiseplat/python-code
Path: blob/master/ invest-robot-contest_sirius-master/api_calls/sandbox_account.py
5932 views
1
import logging
2
3
from api_calls.common_requests import make_api_request
4
from utils.util import pretty_dict
5
6
sandbox_service_path = "tinkoff.public.invest.api.contract.v1.SandboxService/"
7
8
9
def get_sandbox_accounts():
10
res = make_api_request(sandbox_service_path + 'GetSandboxAccounts')
11
logging.debug("Sandbox accounts = {}\n".format(pretty_dict(res)))
12
return res
13
14
15
def open_sandbox_account():
16
res = make_api_request(sandbox_service_path + 'OpenSandboxAccount')
17
logging.debug("Account opened = {}".format(res))
18
return res
19
20
21
def close_sandbox_account(account_id):
22
res = make_api_request(sandbox_service_path + 'CloseSandboxAccount',
23
dict(accountId=account_id))
24
logging.debug("Account closed, AccountId = '{}', res = {}".format(account_id, res))
25
return res
26
27
28
def pay_sandbox_account(account_id, currency, units, nano):
29
res = make_api_request(sandbox_service_path + 'SandboxPayIn', {
30
'accountId': account_id,
31
'amount': dict(nano=nano, currency=currency, units=units)
32
})
33
logging.debug("Pay to account done, AccountId = '{}', res = {}".format(account_id, res))
34
return res
35
36
37
def get_sandbox_portfolio(account_id):
38
res = make_api_request(sandbox_service_path + 'GetSandboxPortfolio', {
39
'accountId': account_id
40
})
41
logging.debug("Sandbox portfolio for AccountId = '{}':\n{}".format(account_id, pretty_dict(res)))
42
return res
43
44
45
def get_sandbox_positions(account_id):
46
res = make_api_request(sandbox_service_path + 'GetSandboxPositions', {
47
'accountId': account_id
48
})
49
logging.debug("Sandbox positions for AccountId = '{}':\n{}".format(account_id, pretty_dict(res)))
50
return res
51
52