Chavithra / degiro-connector

This is yet another library to access Degiro's API.
BSD 3-Clause "New" or "Revised" License
205 stars 46 forks source link

CRITICAL:degiro_connector.trading.actions.action_connect:1 validation error for LoginError #145

Closed SjoerdTimovanVliet closed 3 weeks ago

SjoerdTimovanVliet commented 4 weeks ago

Hello All,

My program stopped working suddenly. Even the examples give this error now:

DEBUG:degiro_connector.trading.api:setup_one_action : check_order
DEBUG:degiro_connector.trading.api:setup_one_action : confirm_order
DEBUG:degiro_connector.trading.api:setup_one_action : connect
DEBUG:degiro_connector.trading.api:setup_one_action : create_favorite
DEBUG:degiro_connector.trading.api:setup_one_action : delete_favorite
DEBUG:degiro_connector.trading.api:setup_one_action : delete_favorite_product
DEBUG:degiro_connector.trading.api:setup_one_action : delete_order
DEBUG:degiro_connector.trading.api:setup_one_action : get_account_info
DEBUG:degiro_connector.trading.api:setup_one_action : get_account_overview
DEBUG:degiro_connector.trading.api:setup_one_action : get_account_report
DEBUG:degiro_connector.trading.api:setup_one_action : get_agenda
DEBUG:degiro_connector.trading.api:setup_one_action : get_client_details
DEBUG:degiro_connector.trading.api:setup_one_action : get_company_profile
DEBUG:degiro_connector.trading.api:setup_one_action : get_company_ratios
DEBUG:degiro_connector.trading.api:setup_one_action : get_config
DEBUG:degiro_connector.trading.api:setup_one_action : get_estimates_summaries
DEBUG:degiro_connector.trading.api:setup_one_action : get_favorite
DEBUG:degiro_connector.trading.api:setup_one_action : get_financial_statements
DEBUG:degiro_connector.trading.api:setup_one_action : get_latest_news
DEBUG:degiro_connector.trading.api:setup_one_action : get_news_by_company
DEBUG:degiro_connector.trading.api:setup_one_action : get_orders_history
DEBUG:degiro_connector.trading.api:setup_one_action : get_position_report
DEBUG:degiro_connector.trading.api:setup_one_action : get_products_config
DEBUG:degiro_connector.trading.api:setup_one_action : get_products_info
DEBUG:degiro_connector.trading.api:setup_one_action : get_top_news_preview
DEBUG:degiro_connector.trading.api:setup_one_action : get_transactions_history
DEBUG:degiro_connector.trading.api:setup_one_action : get_underlyings
DEBUG:degiro_connector.trading.api:setup_one_action : get_update
DEBUG:degiro_connector.trading.api:setup_one_action : logout
DEBUG:degiro_connector.trading.api:setup_one_action : move_favorite
DEBUG:degiro_connector.trading.api:setup_one_action : product_search
DEBUG:degiro_connector.trading.api:setup_one_action : put_favorite_product
DEBUG:degiro_connector.trading.api:setup_one_action : rename_favorite
DEBUG:degiro_connector.trading.api:setup_one_action : update_order
DEBUG:degiro_connector.core.models.model_session:session:getter: MainThread
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): trader.degiro.nl:443
DEBUG:urllib3.connectionpool:https://trader.degiro.nl:443 "POST /login/secure/login/totp HTTP/1.1" 405 None
CRITICAL:degiro_connector.trading.actions.action_connect:1 validation error for LoginError
  Invalid JSON: expected value at line 1 column 1 [type=json_invalid, input_value='<html>\r\n<head><title>4...ndly error page -->\r\n', input_type=str]
    For further information visit https://errors.pydantic.dev/2.7/v/json_invalid
Traceback (most recent call last):
  File "/home/sjoerd/Documents/projects/projects/DeGiro/degirotest.py", line 20, in <module>
    trading_api.connect()
  File "/home/sjoerd/anaconda3/envs/degirorv2/lib/python3.11/site-packages/degiro_connector/core/abstracts/abstract_action.py", line 69, in __call__
    return self.call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/sjoerd/anaconda3/envs/degirorv2/lib/python3.11/site-packages/degiro_connector/trading/actions/action_connect.py", line 125, in call
    connection_storage.session_id = self.get_session_id(
                                    ^^^^^^^^^^^^^^^^^^^^
  File "/home/sjoerd/anaconda3/envs/degirorv2/lib/python3.11/site-packages/degiro_connector/trading/actions/action_connect.py", line 110, in get_session_id
    raise ConnectionError("No session id returned.")
ConnectionError: No session id returned.
import logging
from datetime import date

from degiro_connector.trading.api import API as TradingAPI
from degiro_connector.trading.models.credentials import build_credentials
from degiro_connector.trading.models.account import OverviewRequest

logging.basicConfig(level=logging.DEBUG)

credentials = build_credentials(
    location="config/config.json",
    override={
        "username": 
        "password": 
        "int_account": 
        "totp_secret_key": # For 2FA
    }
)
trading_api = TradingAPI(credentials=credentials)
trading_api.connect()

# FETCH ACCOUNT OVERVIEW
overview_request = OverviewRequest(
    from_date=date(year=date.today().year - 1, month=1, day=1),
    to_date=date.today(),
)

account_overview = trading_api.get_account_overview(
    overview_request=overview_request,
    raw=False,
)

print(account_overview)`
Chavithra commented 4 weeks ago

Hi @SjoerdTimovanVliet,

looks like Degiro is down for maintenance.

You can see this message in their website: Planned maintenance this weekend