Chavithra / degiro-connector

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

TradingAPI `check_order()` no longer returns `free_space_new` and the 3 `transaction_XXX` properties #56

Closed funnel20 closed 10 months ago

funnel20 commented 2 years ago

The create order docu shows that the response on check_order() has 6 parameters. I did see all of them in the past, but recently it only returns:

This behaviour is observed on both NASDAQ and Euronext Amsterdam.

Chavithra commented 2 years ago

Hello @funnel20,

you are right, I think they have changed their API.

The check_order response looks like this now :

{
    "confirmationId": "MOCK_CONFIRMATION_ID",
    "freeSpaceNew": 1.2345,
    "showExAnteReportLink": true,
    "transactionFee": 1.2
}

A new release let you access these new parameters.

funnel20 commented 2 years ago

Hi @Chavithra, Thanks, I'll test it tomorrow. I see you have it assigned to me. Do you want me to update the docu?

Chavithra commented 2 years ago

Hi @Chavithra, Thanks, I'll test it tomorrow. I see you have it assigned to me. Do you want me to update the docu?

The assignment thing as likely no meaning except: waiting for feedback.

Your contribution is always welcome.

Thanks for letting me know about this bug.

funnel20 commented 2 years ago

@Chavithra I'd like to test the update, but pip doesn't have version 2.0.14:

ERROR: Could not find a version that satisfies the requirement degiro-connector==2.0.14 (from versions: 0.0.4, 0.0.6, 0.0.7, 0.0.8, 0.0.9, 0.0.11, 0.1.0, 0.1.1, 0.1.3, 1.0.0, 1.0.1, 1.0.2, 1.0.3, 1.0.4, 1.0.5, 1.0.6, 1.0.7, 1.0.8, 1.0.9, 1.0.10, 2.0.0, 2.0.1, 2.0.2, 2.0.3, 2.0.4, 2.0.5, 2.0.6, 2.0.7, 2.0.8, 2.0.9, 2.0.10, 2.0.11, 2.0.12, 2.0.13) ERROR: No matching distribution found for degiro-connector==2.0.14

Can you please release it?

Chavithra commented 2 years ago

@Chavithra I'd like to test the update, but pip doesn't have version 2.0.14:

ERROR: Could not find a version that satisfies the requirement degiro-connector==2.0.14 (from versions: 0.0.4, 0.0.6, 0.0.7, 0.0.8, 0.0.9, 0.0.11, 0.1.0, 0.1.1, 0.1.3, 1.0.0, 1.0.1, 1.0.2, 1.0.3, 1.0.4, 1.0.5, 1.0.6, 1.0.7, 1.0.8, 1.0.9, 1.0.10, 2.0.0, 2.0.1, 2.0.2, 2.0.3, 2.0.4, 2.0.5, 2.0.6, 2.0.7, 2.0.8, 2.0.9, 2.0.10, 2.0.11, 2.0.12, 2.0.13) ERROR: No matching distribution found for degiro-connector==2.0.14

Can you please release it?

fixed

funnel20 commented 2 years ago

Cool. I'm working on improved docu for Chapter 4 (Orders). I'll send you a PR once ready for review.

funnel20 commented 2 years ago

@Chavithra I've tested check_order() with 2.0.14, but only see 3 of these parameters:

confirmation_id: "e2a1da94-aaaa-4f24-85c0-6c9320804534"
response_datetime {
  seconds: 1642520015
  nanos: 569196000
}
transactionFee: 2.5
showExAnteReportLink: true

freeSpaceNew is missing.

I also notice that these parameter names have camel case syntax, instead of the Pythonian underscores. Existing names are:

Can you update these please, to prevent breaking changes for users?

Regarding the docu, do you have any idea what show_ex_ante_report_link means?

funnel20 commented 2 years ago

Cool. I'm working on improved docu for Chapter 4 (Orders). I'll send you a PR once ready for review.

Update is pending as PR https://github.com/Chavithra/degiro-connector/pull/59

funnel20 commented 2 years ago

@Chavithra Did you see my feedback? And can you update please?

Chavithra commented 2 years ago

Hello @funnel20 I indeed didn’t see your feedback.

Thank you for this reminder.

Noted this point will work on it the following days.

funnel20 commented 2 years ago

@Chavithra Awesome. I already wrote the docu with the Pythonian names.

funnel20 commented 2 years ago

@Chavithra I've tried to solve this for you, but I've no clue how. Especially since I have no idea where the file 'trading.proto' is stored on my local machine. So any changes I made to 'degiro_connector/trading/models/trading_pb2.pyi' had no effect.

Could you please have a look into it?

Chavithra commented 2 years ago

Hey @funnel20,

REPORT EX-ANTE When you place an order the website probably displays a link called :

I think this is the report ex-ante, to know the cost before confirming the order.

FREE SPACE NEW I can't reproduce this issue :

Do you still have this issue ? if so with which product ?

Thanks

funnel20 commented 2 years ago

Hi @Chavithra . I'm using version 2.0.15 of the-connector. I have placed orders for a Dutch stock (ABN-AMRO) and Apple (APPL) on Nasdaq.

My code for AAPL:

order = Order(
    action=Order.Action.BUY,
    order_type=Order.OrderType.LIMIT,
    price=162.4,
    product_id=331868,
    size=1,
    time_type=Order.TimeType.GOOD_TILL_DAY,
)

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

This prints:

INFO - confirmation_id: "20033f1e-XXXXXXX"
response_datetime {
  seconds: 1644174683
  nanos: 987875000
}
transactionFee: 0.5
showExAnteReportLink: true

So still see the camel Case variable names and no free_space_new.

Chavithra commented 2 years ago

Just tried this same code and can't reproduce the issue.

1/ Do you have the Free new space when you try the same operation on the websit ? 2/ Would it be possible to try with version 2.0.16 ?

funnel20 commented 2 years ago

1) This is what I get in check order:

Screenshot 2022-02-06 at 21 02 29

2) With 2.0.16 I do see the name changes of the other 2 parameters, but still no free_space_new:

INFO - confirmation_id: "63e60fc3-XXXX"
response_datetime {
  seconds: 1644177327
  nanos: 82671000
}
transaction_fee: 0.5
show_ex_ante_report_link: true

However, please note that the original name was transaction_fees (plural, see last "s") instead of transaction_fee.

I used raw=True, but same missing output:

INFO - {'data': {'confirmationId': '272670c4-XXXX', 'transactionFee': 0.5, 'showExAnteReportLink': True}}
funnel20 commented 2 years ago

@Chavithra Are you sure that you don't have an old version of the connector somewhere on your machine? What is your raw output?

Chavithra commented 10 months ago

The free_space_new seems to work in the current version.

Closing this issue for now.

Thanks