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

Checking response error when placing an order #111

Closed Paulbatelaan closed 1 year ago

Paulbatelaan commented 1 year ago

Hi,

Did something change in the API since the new year? I can't place orders anymore

It returns the wonderful 500 internal server error.

My code snippit:

# SETUP TRADING API
trading_api = TradingAPI(credentials=credentials)

# CONNECT
trading_api.connect()

# SETUP ORDER

order = Order(
action=Order.Action.BUY,
order_type=Order.OrderType.MARKET,
product_id=86676,
size=1,
time_type=Order.TimeType.GOOD_TILL_DAY,
)    

    # FETCH CHECKING_RESPONSE
checking_response = trading_api.check_order(order=order)

print(checking_response)

    # EXTRACT CONFIRMATION_ID
confirmation_id = checking_response.confirmation_id

    # EXTRACT OTHER DATA
free_space_new = checking_response.free_space_new
response_datetime = checking_response.response_datetime
transaction_fees = checking_response.transaction_fees
transaction_opposite_fees = checking_response.transaction_opposite_fees
transaction_taxes = checking_response.transaction_taxes

    # SEND CONFIRMATION
confirmation_response = trading_api.confirm_order(
    confirmation_id=confirmation_id, order=order
)

   # print(str(row['Aantal']) + "x " + str(row['Product']) + " gekocht")
    #print("x ")
    #print(row['Product'])
    #print(" gekocht\n")
time.sleep(1)

Debugging:

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_favourite_list
DEBUG:degiro_connector.trading.api:setup_one_action : delete_favourite_list
DEBUG:degiro_connector.trading.api:setup_one_action : delete_favourite_list_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_agenda
DEBUG:degiro_connector.trading.api:setup_one_action : get_cash_account_report
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_favourites_list
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_update
DEBUG:degiro_connector.trading.api:setup_one_action : logout
DEBUG:degiro_connector.trading.api:setup_one_action : product_search
DEBUG:degiro_connector.trading.api:setup_one_action : put_favourite_list_product
DEBUG:degiro_connector.trading.api:setup_one_action : update_favourite_list
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" 200 None
INFO:degiro_connector.trading.actions.action_connect:get_session_id:response_dict: {'isPassCodeEnabled': True, 'locale': 'nl_NL', 'redirectUrl': 'https://trader.degiro.nl/beta-trader/', 'sessionId': '483E80837F7106744EC1EE9038A81DDE.prod_a_168_5', 'status': 0, 'statusText': 'success'}
DEBUG:degiro_connector.core.models.model_session:session:getter: MainThread
DEBUG:urllib3.connectionpool:https://trader.degiro.nl:443 "POST /trading/secure/v5/checkOrder;jsessionid=483E80837F7106744EC1EE9038A81DDE.prod_a_168_5?intAccount=1720287&sessionId=483E80837F7106744EC1EE9038A81DDE.prod_a_168_5 HTTP/1.1" 500 None
CRITICAL:degiro_connector.trading.actions.action_check_order:500
CRITICAL:degiro_connector.trading.actions.action_check_order:{"errors":[{"text":"Internal server error"}]}
Traceback (most recent call last):
  File "G:\Mijn Drive\Financien\Python\buying - kopie.py", line 72, in <module>
    confirmation_id = checking_response.confirmation_id
AttributeError: 'NoneType' object has no attribute 'confirmation_id'

Any idea? Am I doing something wrong?

123m321 commented 1 year ago

I can send orders - have a few executions today - but I don't use market orders. Does it work with a limit order?

Paulbatelaan commented 1 year ago

I think it is working now.. probably my bad..