Zum Inhalt springen

executeTransaction in btcde.py


stronzo28

Empfohlene Beiträge

Hallo zusammen,

 

ich habe versucht über btcde.py von peshay auf die TAPI zuzugreifen (https://github.com/peshay/btcde). Die get-Funktionen machen auch alle das was sie sollen, nur bei den post-Funktionen klappt das eben nicht. Es kommt immer der HTTP-Fehler 422 mit Error Code 26 "Invalid order_id". Da kann man auch machen was man will.

 

Mein Code:

import sys

import btcde

 

# create a object for the connection settings

api_key = 'XXX'

api_secret = 'XXXXX'

conn = btcde.Connection(api_key, api_secret)

 

# get command line parameters

orderID = sys.argv[1]

type    = sys.argv[2]

amount  = sys.argv[3]

 

 

print ('OrderID: %s\tType: %s\tAmount: %s\n') % (orderID, type, amount)

 

 

 

 

trade = btcde.executeTrade(conn, orderID, type, amount)

 

Api-Key und -Secret sind im Original korrekt... :-)

 

Meine Ausgabe:

OrderID: F7M28S Type: buy Amount: 0.1

 

INFO:urllib3.connectionpool:Starting new HTTPS connection (1): api.bitcoin.de

send: 'POST /v1/trades/:F7M28S?amount=0.1&order_id=F7M28S&type=buy HTTP/1.1\r\nHost: api.bitcoin.de\r\nContent-Length: 35\r\nAccept-Encoding: gzip, deflate\r\nX-API-SIGNATURE: 48099275a13a6aa1b4f9ca965d83e195885f433e3a736cf82b61d8cf2de5f0dd\r\nAccept: */*\r\nUser-Agent: python-requests/2.4.3 CPython/2.7.9 Linux/4.4.11+\r\nConnection: keep-alive\r\nX-API-KEY: db4e4c9fa78be322f7753bd07301a4cf\r\nX-API-NONCE: 1479151258\r\ncontent-type: application/x-www-form-urlencoded; charset=utf-8\r\n\r\namount=0.1&order_id=F7M28S&type=buy'

reply: 'HTTP/1.1 422 Unprocessable Entity\r\n'

header: Date: Mon, 14 Nov 2016 19:20:59 GMT

header: Content-Type: application/json; charset=utf-8

header: Transfer-Encoding: chunked

header: Connection: keep-alive

header: Set-Cookie: __cfduid=d8e88e179a0d61f84c325d13aeb5360091479151258; expires=Tue, 14-Nov-17 19:20:58 GMT; path=/; domain=.bitcoin.de; HttpOnly

header: Cache-Control: no-cache

header: Expires: Thu, 01 Jan 1970 00:00:00 GMT

header: X-Frame-Options: deny

header: X-Content-Type-Options: nosniff

header: Strict-Transport-Security: max-age=15552000; includeSubDomains; preload

header: X-XSS-Protection: 1; mode=block

header: X-Frame-Options: DENY

header: Server: cloudflare-nginx

header: CF-RAY: 301cd2e41ca50f93-FRA

DEBUG:urllib3.connectionpool:"POST /v1/trades/:F7M28S?amount=0.1&order_id=F7M28S&type=buy HTTP/1.1" 422 None

Code:     26

Message:  Invalid order_id

With URL: https://api.bitcoin.de/v1/trades/:F7M28S?amount=0.1&order_id=F7M28S&type=buy

 

Nachdem das nicht hingehauen hat, hab ich selbst versucht, das ganze in Perl ohne die Library nachzucoden. Das hat aber genauso wenig geklappt. Mir fallen in dem Zusammenhang folgende Fragen ein:

- Die order_id ist schon die 6-stellige alphanumerische Nummer, oder? Die Bezeichnung ist an den verschiedenen Stellen uneinheitlich und mit der 7-stelligen numerischen "Transaktion-Id" (366xxxx) klappts auch nicht...

- Der Pfad mit dem Doppelpunkt ist schon korrekt, oder?

- Müssen außer den X-API-BLABLABLA irgendwelche bestimmten Header übergeben werden?

- Hat irgendwer Erfahrungen mit der Lib von peshay? ...oder hat sogar ein Codeschnippsel, das er posten kann?

 

Danke vielmals!

Stronzo

 

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

 

send: 'POST /v1/trades/:F7M28S?amount=0.1&order_id=F7M28S&type=buy HTTP/1.1\r\nHost: api.bitcoin.de\r\nContent-Length: 35\r\nAccept-Encoding: gzip, deflate\r\nX-API-SIGNATURE:

 

Muss dieser Doppelpunkt da wirklich sein ? Hast du mal in die Doku geschaut ? Ich glaube mit dem Doppelpunkt als Präfix werden öfters Parameter gekennzeichnet, welche später durch den richtigen Wert ersetzt werden.

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 1 Monat später...

Hallo,

 

danke für den Hinweis auf die Github-Seite; jetzt hab ich meinen Mist schon selbstgeschrieben :D

 

Aaaaber: Ich habe genau das gleiche Problem, den undokumentierten Error Code 26 "Invalid order_id".

 

Hast du das inzwischen gefixt bekommen? Oder irgendwer anders? Habe sowohl mit als auch ohne den Doppelpunkt ausprobiert (ohne kommt ein "{'code': 422, 'message': 'Unprocessable Entity'}" bei rum).

 

Würde mich über einen Zaunpfahlwink in die richtige Richtung freuen.

 

viele Grüße

Equilibrium

Link zu diesem Kommentar
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
×
×
  • Neu erstellen...

Wichtige Information

Wir haben Cookies auf Deinem Gerät platziert. Das hilft uns diese Webseite zu verbessern. Du kannst die Cookie-Einstellungen anpassen, andernfalls gehen wir davon aus, dass Du damit einverstanden bist, weiterzumachen.