34 lines
1.6 KiB
Python
34 lines
1.6 KiB
Python
import os
|
||
from dotenv import load_dotenv
|
||
from t_tech.invest import Client
|
||
|
||
# Настройка SSL
|
||
os.environ['SSL_CERT_FILE'] = '/etc/ssl/certs/ca-certificates.crt'
|
||
os.environ['GRPC_DEFAULT_SSL_ROOTS_FILE_PATH'] = '/etc/ssl/certs/ca-certificates.crt'
|
||
|
||
load_dotenv("tok.env")
|
||
TOKEN = os.getenv("TINKOFF_TOKEN")
|
||
|
||
with Client(TOKEN, target="invest-public-api.tbank.ru:443") as client:
|
||
# Получаем цену из котировок (MarketData)
|
||
price_resp = client.market_data.get_last_prices(instrument_id=["a78b8349-a1dc-447d-9277-1d75826d089a"])
|
||
market_price = price_resp.last_prices[0].price
|
||
actual_price = market_price.units + market_price.nano / 1e9
|
||
|
||
print(f"\n--- ПРОВЕРКА РЫНКА ---")
|
||
print(f"Текущая цена SBER в API: {actual_price} руб.")
|
||
|
||
# Получаем список всех счетов
|
||
accounts = client.users.get_accounts().accounts
|
||
print("\n--- ВАШИ СЧЕТА ---")
|
||
for acc in accounts:
|
||
# Запрашиваем баланс по каждому счету
|
||
portfolio = client.operations.get_portfolio(account_id=acc.id)
|
||
balance = portfolio.total_amount_currencies.units
|
||
print(f"Счет: {acc.name:15} | ID: {acc.id} | Баланс: {balance} руб. | Тип: {acc.type.name}")
|
||
|
||
print("\n--- ИНСТРУКЦИЯ ---")
|
||
print("1. Если цена выше 310 — API отдает реальные данные.")
|
||
print("2. Найдите счет, где ваш РЕАЛЬНЫЙ баланс (не 0 и не 1 000 000 виртуальных рублей).")
|
||
print("3. Скопируйте его ID в tok.env.")
|