Hallo liebe Coinler,
ich habe mich die letzten Tage mit der API beschäftigt.
Um mal ein Projekt zu haben, bei dem ich ein wenig meine (begrenzten) Programmierkenntnisse zu nutzen fand ich das sehr spannend. - Erstmal geht es mir also nur um ein Get des Orderbooks und rumspielen mit dem Datensatz.
Mit dem Basic-Satz ist schon mal alles gut soweit. Ich bekomme den Ask und Bid Satz als dict of lists und kann die Daten darin verarbeiten.
Mit dem v4 stoße ich aber auf einen 400-Error. Mir werden aber credits beim ausführen abgezogen und die Trading-API Notaus-Link Mail kommt auch.
Also bin ich nicht voll auf dem Holzweg, oder?
Das hier soll keine Disskussion darüb sein, ob Python das richtige Tool ist o.ä. (es sei denn, dass es Systemseitig einfach damit nicht geht) da es wie gesagt ein Projekt ist um mit der Programmiersprache zu arbeiten, also der Weg das Ziel ist.
Anbei einmal mein Code zum Zweck der Hilfestellung
import hashlib
import hmac
import requests
import time
import json
api_key = "MEIN API KEY" # Entspricht dem eigenen API-Key
nonce = str(int(time.time())) # Das für den aktuellen Request verwendete Nonce
api_secret = "MEIN API SECRET" # Entspricht dem eigenen API-Secret
http_method = 'GET'
uri = 'https://api.bitcoin.de/v4/orders'
get_parameter_url_encoded_query_string = "type=buy"
uri = uri+'?'+ get_parameter_url_encoded_query_string
hmac_data = http_method+'#'+uri+'#'+api_key+'#'+nonce+'#'+ get_parameter_url_encoded_query_string
h = hmac.new(bytes(api_secret, 'utf-8'), b'', hashlib.sha256)
h.update(bytes(hmac_data, 'utf-8'))
get_parameter = {'type': 'buy'}
head ={'X-API-KEY': api_key, 'X-API-NONCE': nonce, 'X-API-SIGNATURE': h.hexdigest()}
r = requests.get('https://api.bitcoin.de/v4/btceur/orderbook', params=get_parameter, headers=head)
Ich bin kein Programmierer, oder überhaupt IT-ler, daher musste ich bereits viel über API und HTTP-Requests lernen, das bedeutet aber auch, dass mein Fehler vielleicht total offensichtlich und dämlich ist, weil ich z.B. immer noch nicht 100% verstehe was der Header bei dem API-Call ist und lediglich versuche es anzuwenden.
Es ist mir z.B. auch ein Rätsel, warum ich die ganzen Infos zu dem Link mit in den hmac-code einfließen lasse, verstehe es aber momentan als zusätzlcihe Sicherheitseinrichtung.