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") SBER_UID = "a78b8349-a1dc-447d-9277-1d75826d089a" print("\n--- ПОИСК РЕАЛЬНЫХ ТОРГОВЫХ СЧЕТОВ ---") try: with Client(TOKEN, target="invest-public-api.tbank.ru:443") as client: # 1. Запрашиваем цену и ВРЕМЯ этой цены из общего потока price_resp = client.market_data.get_last_prices(instrument_id=[SBER_UID]) lp = price_resp.last_prices[0] actual_price = lp.price.units + lp.price.nano / 1e9 price_date = lp.time print(f"🌍 ТЕКУЩАЯ ЦЕНА В API: {actual_price} руб.") print(f"📅 ДАТА ЭТОЙ ЦЕНЫ: {price_date.strftime('%Y-%m-%d %H:%M:%S')} UTC") if actual_price < 310: print("\n🚨 ВНИМАНИЕ: Сервер все еще выдает СТАРУЮ цену (симуляция).") else: print("\n✅ API выдает АКТУАЛЬНУЮ рыночную цену!") # 2. Получаем список всех доступных счетов accounts = client.users.get_accounts().accounts print("\n--- СПИСОК ВАШИХ СЧЕТОВ ---") for acc in accounts: try: # Проверяем баланс каждого счета portfolio = client.operations.get_portfolio(account_id=acc.id) balance = portfolio.total_amount_currencies.units except: balance = "Ошибка доступа" print(f"🔹 Имя: {acc.name:15} | ID: {acc.id}") print(f" Тип: {acc.type.name:20} | Баланс: {balance} руб.") print("-" * 50) except Exception as e: print(f"\n❌ ОШИБКА: {e}")