Comdirect API
This is an unofficial python wrapper for the comdirect API for private consumers (April 2020).
This package currently supports the following operations:
- Read balances and transactions
- Read depot information
- Read and download Documents
- Read and update orders
- Read instrument information
- Export and import the session
Use at your own risk.
Install
Install the package using pip
pip install comdirect-api-simple
Usage
Initialize the client:
from comdirect_api.comdirect_client import ComdirectClient
client_id = '<your_client_id>'
client_secret = '<your_client_secret>'
client = ComdirectClient(client_id, client_secret)
Login with your credentials like so:
user = 'your_zugangsnummer'
password = 'your_pin'
client.fetch_tan(user, password)
After confirming the login on your photoTAN app you can activate your session.
client.activate_session()
You can refresh your token with:
client.refresh_token()
The the client is now ready for use, for example:
balances = client.get_all_balances()
print(balances['values'])
It is also possible to send a GET request to a self defined endpoint, for example:
client.get('reports/participants/user/v1/allbalances', productType='ACCOUNT')
List all the complete order-book and filter for OPEN orders:
data = client.get_all_orders(depotId, order_status='OPEN')
print(data)
You can change an OPEN order as follows:
orderId = 'XXYYYAA...'
order = client.get_order(orderId)
order['triggerLimit']['value'] = '16.6'
[challenge_id, challenge] = client.set_order_change_validation(orderId, order)
orderChanged=client.set_order_change(orderId, data, challenge_id)
To export the session you can use
client.activate_session()
...
client.session_export()
To import it in another instance call:
client = ComdirectClient('client_id', 'client_secret', import_session=True)
More information about the official API can be found at https://developer.comdirect.de