Jump to content
mrzortrax

Trading API execute Trade Problem

Empfohlene Beiträge

Hi zusammen,

leider bekomme ich über den Support von Bitcoin.de wohl keine antwort.

Ich möchte über die Trading API eine execute Trade durchführen. Bekomme aber immer die Fehlermeldung invalid signature.

Ein Post Parameter zum erstellen eines Kaufangebots hat jedoch funktioniert. Ich nehme an, das irgendwas mit der URI nicht stimmt. Oder das da was fehlt. Kann mir da vielleicht jemand unter die Arme greifen?

 

Einen POST Parameter für ein Kaufangebot einstellen hat bei mir funktioniert! Execute trade jedoch nicht.
Leider ist wie ich finde die Anleitung etwas unverständlichbeschrieben. Wie genau muss denn der URI RequestI Link nun lauten um zum Beispiel ein Verkaufangebot anzunehmen?
 
In der Anleitung wird es so beschrieben...
https://api.bitcoin.de/v2/trades/:order_id
Der Postparameter sieht so aus:
 
type=sell&order_id=UN6N82&traiding_pair=btceur&amount=0,01984
 
Der MD5 Hash davon so: efb36dd06b961b8367f171cf21dad973
 
Ich erhalte immer den Fehler Invalid Signature.
 
Meine Vermutung ist, das irgendwas mit der Syntax der Request URI nicht stimmt.
Diese muss ja sicherlich identisch mit der URI sein, die auch im HMAC verwendet wird nehme ich an.

 

Vielen Dank vorab für eure Hilfe!

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Hi,

in den Post Parametern brauchst du die order_id ja nicht mehr.

Setzt du dann die richtigen Header?

X-API-KEY
X-API-NONCE
X-API-SIGNATURE

mit der Signatur als MD5 von den Parametern durch # getrennt wie in der API doc beschrieben.

Viele Grüße

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Bist du sicher das ich die Order_id nicht mehr in den Post Parameter übergeben muss? Ist das vielleicht der Fehler?

Ja Die 3 Header sind richtig wie gesagt ein Kaufangebot setzen funktioniert auf die Art das hab ich bereits erfolgreich getestet. Nur kein execute und ich weiß nicht warum.

Ist jedenfalls bei den Parametern mit aufgeführt...

Parameter

Name Type Values Default Notes
order_id String    

ID des Angebots.

trading_pair string    

Handelspaar (s. Tabelle Handelspaare)

type String

buy

sell

 

Angebots-Typ

amount Float    

Menge der Coins

bearbeitet von mrzortrax

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Die Signatur sollte ja sein:

<method>#<apikey>#<nonce>#<postParametersMD5>

Das ganze mit dem APISecret durch den Hmac gejagt. Dabei ist das postParametersMD5 ein MD5 von:

amount=<amount>&trading_pair=<trading_pair>&type=<type> 

Wichtig: Parameter alphabetisch sortiert..

 

 

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Soweit stimme ich überein. Bis auf die Alphabetische Sortierung des post parameters. Siehe oben. 

Das muss ich umstellen! Das könnte der Fehler sein.

Welche meiner Varianten der Uri ist richtig? 1 oder 2

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

die Doppelpunkte heißen nur, dass das Folgende ein Parameter ist.. Also ohne

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Also ich habs nun mal umgestellt aber leider immer noch der selbe fehler... Sieht nun wie folgt aus:

Post Parameter: amount=0,01984&order_id=5EUF9B&trading_pair=btceur&type=sell

HD5: 517277758b42c429d66e87f406dac195

HMACData: POST#https://api.bitcoin.de/v2/trades/5EUF9B#ZENSIERT#1526424418#517277758b42c429d66e87f406dac195

URI: https://api.bitcoin.de/v2/trades/5EUF9B

 

Ich habs bei den PostParameter sowohl mit order_id als auch ohne versucht... Leider immer noch nichts...

In dem entsprechenden Log der API Request steht der Postparameter so drin:

 
{
   "amount":"0,01984",
   "order_id":"5EUF9B",
   "trading_pair":"btceur",
   "type":"sell"
}
bearbeitet von mrzortrax

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Versuch nochmal für den MD5 wirklich nur:

amount=0,01984&trading_pair=btceur&type=sell

Dabei sichergehen, dass sell auch richtig ist. Wenn ich was kaufe, trage ich da buy ein..

Für die Signatur dann:

POST#https://api.bitcoin.de/v2/trades/5EUF9B#ZENSIERT#1526424418#<MD5>

und in den Body vom POST Request:

amount=0,01984&trading_pair=btceur&type=sell

 

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Ja... So hab ichs...

POSTParameter:

amount=0,01984&trading_pair=btceur&type=sell

PostParameter MD5:

c094c9aa6e5f18d84b697418e3fe156e

HMACData : POST#https://api.bitcoin.de/v2/trades/5EUF9B#ZENSIERT#1526467288#c094c9aa6e5f18d84b697418e3fe156e

Die wird dann Sha256 gehashed und im Header signatur übergeben.

BodyPost:

amount=0,01984&trading_pair=btceur&type=sell

 Log Datei von diesem Post bei Bitcoin sieht so aus:

API-Aktion: executeTrade
Request-URI: https://api.bitcoin.de/v2/trades/5EUF9B
HTTP-Methode:
POST

POST-Parameter:

{
   "amount":"0,01984",
   "trading_pair":"btceur",
   "type":"sell"
}

Auch die 3 Header sind übergeben...

Normalerweise sieht alles i.O. aus ich weiß wirklich nicht mehr woran das liegen soll. Ich hab schon überlegt ob es beim amount am Komma liegt, aber der Wert soll Float sein. Ist ja eine Kommazahl...

Ich wüsste jetzt nicht mehr woran das liegen könnte.

bearbeitet von mrzortrax

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

dann versuch mal ein . stat , wie im Beispiel:

url_encoded_query_string = 'max_amount=5.3&price=255.5&type=buy'

sonst nimmt der das als String

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

:-*

Auuu mann... Jepp das war es. Jetzt gehts durch mit anständigen Fehlermeldungen wie Order not posible!

Danke für die Unterstützung jetzt komm ich endlich weiter!

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden

×