bitbank.ccのAPIでハマる

CCやZAIFがネガティブニュースの発信元になる中、bitbank.ccはクリーンなイメージで期待を寄せていた。

そして取引手数料無料。
ドキュメントはシンプルだが、必要にして充分。その場でパラメータを入力して試す事も出来る。これは良い感じだと思った。

そして、rubyの場合一通りの機能をもつgemまで公開している。
これです。
これはAPIを使った自動取引には格好のプラットフォームになると信じていた。

しかし実装を始めてみると、一筋縄には行かない。

まず配布されているコードを実行しようとすると、パブリックAPI(ティッカーや板情報など)は叩けるが、プライベート(オーダーや履歴など)はことごとくAPI認証で撥ねられるではないか。

ああ、これは古い仕様のまま放置されているライブラリだな、と使うのを諦め、自前でrubyで実装する事に。

リクエストには当然POSTとGETがあるが、なぜかPOSTの方はうまくいった。

ところがGETが全然通らない。エラーコードはいつも20001で、これはAPI認証エラーを意味する。

だめだこりゃ

サポートに問い合わせると、用意されていたようなテンプレの回答が来た。

当該エラーレスポンスに関しては、原因は以下のいずれかとなります。

1.署名生成処理に誤りがある

2.APIドキュメント(https://docs.bitbank.cc) 「署名作成」の項をご確認下さい。

3.GitHubリポジトリ(https://github.com/bitbankinc) にて、いくつかの言語にてSDKを公開しておりますので、ご参考にして頂けますでしょうか。

4.nonceが以前送信した値より若い

5.nonce値は、必ず前回のリクエスト時の値より大きな値をご指定下さい。

6.APIキーを画面から削除している

7.APIキーの文字列が誤っている

8.APIのアクセス権限が不足している(API登録時に「参照」「取引」「出金」をお選び頂けます)

だがこれはすべてクリアしている。厳密に言うと、署名生成は確かに間違っていたので直した(pathをフルパスで入れてしまっていた)
3.はそもそもライブラリが動かないっちゅうに・・・

そしてよく見てみたら同じGETでも通るものと通らないものがあることに気づいた。

具体的には、資産の確認は通るが、約定履歴は通らない。

これはおかしいと思って、APIページからも試してみた。

やはり結果は同じ・・・・

ということは、こちらのプログラムの問題ではない。

というわけで再度お問い合わせを投げているが、相手にしてくれるだろうか?サポート外ですと言われたらそれまで。潔く去るしかない。Bitmexでも行こうか。。。

#その後

どうも取引履歴のエンドポイントが負荷集中で落ちてしまったのが真相のようだ。

そして他のGETエンドポイントも接続できなくなった。これはAPIキーを更新すると一時的に治る・・・という不安定ぶり。しかもドキュメントサイトからは接続できたりする。

これは先が思いやられるな・・・

ちなみに、手数料はかかるがbitFlyerのAPIは使いやすくて、少なくとも認証の問題は起こった事がない。1日に1回くらいの取引なら0.15%は気にならないだろう。

コメント

タイトルとURLをコピーしました