*

APIでZAIFとbitFlyerのアカウント情報を取得する 仮想通貨の自動売買開発⑤

公開:2017/7/2

さて、そろそろ他の取引所のAPIも触っていきます。

ビットフライヤーとZAIFのPRIVATE API

ビットフライヤーのPRIVATE APIを使う場合

WEB APIは各取引所によって、微妙に仕様が異なります。

コインチェックの場合、phpのfile_get_contentsで取得できましたが、
BitFlyerはfile_get_contentでは上手くいきません。
(PUBLIC APIは問題ありません。)

原因は”謎”です。

というよりも、そもそもfile_get_contentでうまくいくことの方が昨今めずらしいです。
この周辺のワードで検索するとそういった記事が結構でてきます。

PHPのバージョンにもよるのですが、今回はCURLというものを使います。CURLというのはPHPから細かくWEBリクエストするための割と新しい関数群みたいなものです。

現在利用しているPHPのバージョンは5.3ですが、(古い?)CURLは問題なく利用できます。

CURLの基本的な使い方に関しては、詳しく書いているブログがたくさんありますので、そちらを参照してください。

bitFlyerは、ハッシュ化の際に
(タイムスタンプ)+(POSTかGET)+アクセスするパス+HTMLボディ
を連結させます。

ドキュメントを見ると、エンドポイントURLがhttps://api.bitflyer.jp/v1/で、
各メソッドのパスが/v1/me/getbalanceのようになっていますが、

最終的なアクセス先は
https://api.bitflyer.jp/v1/v1/me/getbalance
ではなく、
https://api.bitflyer.jp/v1/me/getbalance
です。

(当たり前と言えば当たり前ですが、変数に代入すると、ここら辺の表記が分かりにくくなるので…)

ハッシュ方式はコインチェックと同じsha256なので、関数はそのまま使えます。

正直、WEBAPIまわりは専門ではないので、詳しい方からみたら冗長な箇所あるかと思いますが、
これで一応動きます。

トレードする際にはボディに各パラメータを指定してください。

ZAIFのPRIVATE APIを使う場合

ZAIFの場合は、Githubにあるサンプルがちゃんと動くので、それを使うのもありかと思います。

また、ハッシュは
nonce=”タイムスタンプ”&method=”リクエストする情報タイプ”&その他情報…
でHMAC-SHA512で署名します

前回までの関数がそのまま使えます。

ちなみにドキュメントの説明

「signはPOSTする全てのパラメータ(nonceとmethodおよびメソッド毎のパラメータ)を URLエンコードしたクエリ形式(param1=val1&param2=val2)のメッセージとして、Secret Keyを用いてHMAC-SHA512で署名します。」

が滅茶滅茶わかりにくいと思ったのは、私だけではないはず。
日本語のパラメータはないので、URLエンコードする必要はないと思います。

あとZAIFはタイムスタンプに小数点以下も使えるので、この際小数点以下のタイムスタンプにします。

これによってどんな違いが生まれるかというと、一秒間に2回以上のアクセスが可能になるわけです。
(整数の場合、一秒以内に2回以上アクセスすると、タイムスタンプが同数なので、エラーになります。)

これでコインチェックとビットフライヤーとZAIFのWEB APIが使えるようになったので、業者間アービトラージの前段階が完了です。

Message

メールアドレスが公開されることはありません。

このコメントはWEBに公開されるので、問い合わせ等はメールでお願いします。

関連記事

ZAIFでAPIを使ってオーダーを出す 仮想通貨の自動売買開発⑥

公開:2017/7/10 今回はWEB APIを使って取引注文を出します。 ここまではコイン

記事を読む

ビットコインアービトラージがなぜ深夜にばかり動くのか

今も細々とビットコインのアービトラージを自動で動かしているのですが、 どうやら深夜帯に動くことが多

記事を読む

ビットコインの業者間アービトラージでわかったこと

ちゃんと約定する FXの場合、業者間アービトラージをやろうとしても、約定拒否だったり、スリップした

記事を読む

ビットコイントレードができるMT4/MT5業者

前に調べたときは1社くらいしかヒットしなかったのですが、 知らぬ間に結構取り扱ってくれている業者が

記事を読む

【ビットコイン】板情報で自動売買

面倒臭がって今まで見て見ぬふりをしてきたのですが、 APIで板情報が取れるんですよね。 最近

記事を読む

 
  • ブログ管理人の横瀬兼元(ペンネーム)です。

    各トピックに対するコメントは各記事のコメント欄にお願いします。それ以外のご質問、ご相談などは
    infoあっとfxantenna.com
    まで
    私の偽物がいるらしいので偽物にご注意ください。
no image
AWSでWebサーバ構築 (EC2xUbuntu) その6

■メールサーバーの設置 ■AWSにメール用のポート開放の申請

AWSでWebサーバ構築 (EC2xUbuntu) その5

■■FTPサーバーを入れる■■ AWSではちょっと特殊な作業が必要で

AWSでWebサーバ構築 (EC2xUbuntu) その4

■■SSHでサーバに入る■■ いよいよサーバーに入ります。ここからの

AWSでWebサーバ構築 (EC2xUbuntu) その3

■■SSLで接続できるようにする■■ 昨今ではいろいろな理由からSS

AWSでWebサーバ構築 (EC2xUbuntu) その2

■(オプション)Elastic Beanstalk(インスタンスの自動

→もっと見る

PAGE TOP ↑