Path: blob/master/ invest-robot-contest_sirius-master/api_calls/sandbox_account.py
5932 views
import logging12from api_calls.common_requests import make_api_request3from utils.util import pretty_dict45sandbox_service_path = "tinkoff.public.invest.api.contract.v1.SandboxService/"678def get_sandbox_accounts():9res = make_api_request(sandbox_service_path + 'GetSandboxAccounts')10logging.debug("Sandbox accounts = {}\n".format(pretty_dict(res)))11return res121314def open_sandbox_account():15res = make_api_request(sandbox_service_path + 'OpenSandboxAccount')16logging.debug("Account opened = {}".format(res))17return res181920def close_sandbox_account(account_id):21res = make_api_request(sandbox_service_path + 'CloseSandboxAccount',22dict(accountId=account_id))23logging.debug("Account closed, AccountId = '{}', res = {}".format(account_id, res))24return res252627def pay_sandbox_account(account_id, currency, units, nano):28res = make_api_request(sandbox_service_path + 'SandboxPayIn', {29'accountId': account_id,30'amount': dict(nano=nano, currency=currency, units=units)31})32logging.debug("Pay to account done, AccountId = '{}', res = {}".format(account_id, res))33return res343536def get_sandbox_portfolio(account_id):37res = make_api_request(sandbox_service_path + 'GetSandboxPortfolio', {38'accountId': account_id39})40logging.debug("Sandbox portfolio for AccountId = '{}':\n{}".format(account_id, pretty_dict(res)))41return res424344def get_sandbox_positions(account_id):45res = make_api_request(sandbox_service_path + 'GetSandboxPositions', {46'accountId': account_id47})48logging.debug("Sandbox positions for AccountId = '{}':\n{}".format(account_id, pretty_dict(res)))49return res505152