bitbank (ビットバンク) の公式「API」取得方法!!様々なプログラミングでAPIを活用しよう

1分で理解する要約
  • APIとはプログラム同士の「接続部分」のこと
  • APIキーを取得することで、他のプログラムからbitbankの情報を取得できる
  • プログラムの知識があれば、自動売買のプログラムの作成も可能

bitbank (ビットバンク) のAPIの取得方法と、APIを活用したプログラムの作成手順について解説します。

この記事を読むことで、bitbankのAPIの取得方法だけでなく、どういった情報をAPIから取得できるのかがわかります

API (Application Programming Interface) とは

API (エーピーアイ) とは、「アプリケーション・プログラミング・インターフェイス」の略称で、「プログラムを別のプログラムから操作する」ときの接続部分を指します

連携させたいプログラムから発行される、英数字の羅列である「APIキー」をもう一方のプログラムへ入力することで、プログラム同士がを連携させることができます。例えば、GoogleカレンダーをWebサイトに表示させたい場合、GoogleのAPIを利用して「googleカレンダー」と「Webサイト」を連携させます。

プログラムに「APIキー」を入力する部分があれば、プログラミングの知識がなくても簡単に連携が可能です。

bitbank (ビットバンク) で利用できる公式API

bitbankでは、APIを利用することで以下のことを行えるようになります。

  • 気配値 (板情報) ・チャートデータ等のパブリック情報の取得
  • 注文や取引履歴の取得
  • 資産の引出しリクエスト等

発行されるAPIキーは「パブリックAPI」と「プライベートAPI (APIシークレット) 」の2種類があります。連携させたいプログラムによって、入力すべきAPIキーは変わります。

パブリックAPI

パブリックAPIは、次のような「一般的に公開されている情報」を取得するときに利用します。

関数説明引数
get_ticker市場価格を取得pair
get_depth板情報を取得pair
get_transactions最新の全約定履歴を取得または、指定日の全約定履歴を取得pair/yyyymmdd=None
get_candlestick指定日のロウソク足データを取得pair/candle_type/yyyymmdd

bitbankのパブリックAPIを連携することで、bitbankへアクセスしなくてもこれらの情報を他のプログラムから見ることができます。

プライベートAPI

プライベートAPIは、以下の「ユーザー認証しないと取得できない情報」を得るときに使います。

関数説明引数
get_asset資産の一覧を取得
get_ordersオーダー情報を取得pair/order_id
get_active_ordersアクティブなオーダー情報を取得pair/options=None
orderオーダーを入れるpair/price/amount/side/order_type
cancel_orderオーダーをキャンセルするpair/order_id
cancel_orders複数のオーダーをキャンセルするpair/order_ids
get_orders_info複数のオーダー情報を取得pair/order_ids
get_trade_history約定履歴を取得pair/order_count
get_withdraw_account出金アカウントを取得asset
request_withdraw出金をリクエストasset/uuid/amount/token

プライベートAPIを実装することで、bitbankにログインしたりアプリを使ったりしなくても、他のプログラムを通して新規注文し出金させることが可能となります。

bitbank (ビットバンク) のAPI連携で出来ること

APIがあることで「全く別のプログラム同士が連携できるようになる」ため、ユーザーがより便利に使えるようになります。

例えば家計簿アプリ「Money Forward (マネーフォワード) 」では、銀行口座や証券口座、仮想通貨取引所の口座に入っている資産をまとめて管理できますが、これも「API」を活用しています。

従来、銀行は銀行のアプリへログインして残高を確認し、証券会社は証券会社のサイトへログインして資産状況を確認する・・・というように、自分の資産状況を把握するにはいちいち別のアプリを開く必要がありました。

これを、銀行アプリから取得した「APIキー」をMoney Forwardへ入力することで、Money Foward上で銀行残高を確認できるようになります。bitbankも連携できるようになっており、bitbankの「APIキー」を入力することでbitbankの残高がMoney Forward上で確認できます。

いちいちアプリを立ち上げないと利用できなかった機能を、「ひとつのアプリ」から利用できるようになるためユーザーの利便性が上がります。

bitbank (ビットバンク) で利用できるAPI

APIは「プログラム同士をつなぐもの」ということはご理解いただけたと思います。では、その「APIキー」を入力する「器」であるプログラムは、どのようにして作られるのでしょうか?

実は、bitbankではプログラム開発者向けに、汎用性の高いプログラムコードの「まとまり」をライブラリに公開しています。プログラミングコードを記述するための言語は様々ありますが、bitbankでは以下の4種類のプログラミング言語のライブラリを公開しています。

  • node.js
  • Java
  • Python (パイソン)
  • Ruby

「node.js」とは?

node.jpは、サーバーサイドのJavaScript言語です。JavaScript自体はブラウザ上で動きWebページに動きを加えるために使われますが、その動作環境の多くはクライアントでした。これを、サーバーサイドでも同じ言語で書けるとしたのがnode.jpです。

node.jpの用途は、Webサービスやスマホアプリ、IoT製品です。

「Java」とは?

Javaは、OS環境に依存しないことが特徴のプログラミング言語です。つまり、WindowsやMac、iOS、Linuxなどの異なる環境下でも動作します。

Webサービスやスマホアプリ、家電製品、IoT製品などに使われます。

「Python」とは?

Python (パイソン) は、人工知能 (AI) や深層学習に使われるプログラミング言語です。文法がシンプルで書きやすいことが特徴です。YouTubeやインスタグラム、EvernoteはPythonから作成されています。

「Ruby」とは?

Ruby (ルビー) とは、Webサービスに活用されているプログラミング言語です。フレームワークのRuby on Railsがあるため、アプリの作成工数を少なく開発できることが特徴です。食べログやクックパッドはRubyで開発されています。

bitbank (ビットバンク) からAPIキーとシークレットキーを取得する方法

bitbankからAPIキーを発行する手順は、次の2ステップです。

STEP1APIキーを発行する
STEP2APIキーを確認する

STEP1 APIキーを発行する

bitbankへログイン後、①左のメニューから「API」をクリックし、②本画面に表示された「APIキーの発行」ボタンを押しましょう。

そうすると、「ラベル名」と「権限の種類」、「二段階認証コード」を入力する画面に変わります。

「ラベル名」には、何の用途で取得するのかを記入するとよいでしょう。例えば、Money Forwardに使うのであれば、「Money Forward」と入力します。

「権限の種類」については、APIを入力するアプリでどの権限のAPIが必要か明記されているはずです。利用するアプリの説明をご確認ください。

二段階認証コード」を入力し、「確認する」をクリックしましょう。そして「発行する」ボタンをクリックしてください。

STEP2 APIキーを確認する

発行された「APIキー」を確認するには、次の手順を踏む必要があります。

API発行の画面で、確認したいAPIの取得日時をチェックし、「確認ボタン」を押してください。

「二段階認証コード」を入力する画面が表示されますので、コードを入力し、「確認する」ボタンを押しましょう。そうすると、「APIキー」が表示されます。

シークレットキーは、「表示」ボタンを押して確認してください。

Pythonを使ったbitbank (ビットバンク) 公式APIの連携方法

Pythonを使ってAPI経由で情報を取得する手順は、次のとおりです。

STEP1bitbankのAPIを取得
STEP2pythonをインストール
STEP3Anacondaをインストール
STEP4エディターをインストール
STEP5bitbankの公式ライブラリをインストール
STEP6エディターでコードを入力

STEP1 bitbankのAPIを取得

前の章で解説した手順に従い、bitbankからAPIを取得しましょう。

STEP2 Pythonをインストール

Python公式サイトへアクセスし、Pythonをダウンロードしましょう。
ダウンロードするときは、コツが必要なのでPython3のインストール - python.jp>を見ながら行ってください。

STEP3 Anacondaをインストール

ディストリビューション「Anaconda」をインストールしますAnaconda Distributionのページからダウンロードできます。

STEP4 エディターをインストール

ソースプログラムを編集するためのエディターをインストールします。これは、お好みのものを入れていただいてOKです。

STEP5 bitbankの公式ライブラリをインストール

bitbankの公式ライブラリをインストールします。Windowsの方はコマンドプロンプト、Macの方はターミナルを立ち上げ、下記のコードを入力してください。

pip install git+https://github.com/bitbankinc/python-bitbankcc.git

STEP6 エディターを立ち上げてプログラムを入力

STEP4でインストールしたエディターを立ち上げ、プログラムコードを入力ください。公式ライブラリをインポートをするため、1行目には必ず下記をご入力下さい。

import python_bitbankcc

全体のソースコード

下記のプログラムをエディターにコピペしましょう。

'-------------ご自身が取得したAPIキー-------'にはAPIキーを、'------ご自身が取得したシークレットキー------'にはAPIシークレットキーを入力します。

「ファイル名をつけて保存」をクリックし、「 (任意の名前) .py」と入力します。そしてターミナルを立ち上げ、「python (任意の名前).py」と入力しましょう。

そうすると、リップルの価格と自分の資産状況のデータが返ってきます。通貨のペアについては、適宜変更してください。

[blockquote url='https://dot-blog.jp/news/bitbank-api-beginners-haw-to/' title='bitbank(ビットバンク)の公式APIの始め方(Python用コード)']#bitbankのライブラリをインポート
import python_bitbankcc

パブリックAPIの設定
class BitBankPubAPI:

パブリックAPI情報の取得
def init/emp:
self.pub = python_bitbankcc.public()

価格取得のコード

def get_ticker(self, pair):
try:
value = self.pub.get_ticker(pair)
return value
except Exception as e:
print(e)
return None

プライベートAPIの設定
class BitBankPrvAPI:

プライベートAPIキーの情報取得
def init/emp:
API_KEY = '-------------ご自身が取得したAPIキー-------'
API_SECRET = '------ご自身が取得したシークレットキー------'
self.prv = python_bitbankcc.private(API_KEY, API_SECRET)

個人資産情報の取得
def get_asset(self):
try:
value = self.prv.get_asset()
return value
except Exception as e:
print(e)
return None

メイン関数の設定
def main():
pub_set = BitBankPubAPI()
prv_set = BitBankPrvAPI()

ticker = pub_set.get_ticker('xrp_jpy') #取引通貨ペアの設定
print(ticker['sell']) #レスポンスの設定
asset_dict = prv_set.get_asset()#プライベート情報取得コマンド
print(asset_dict['assets'])#ウォレット情報取引コマンド

if name == 'main':
main()

[/blockquote]

パブリックAPIで取得

相場価格を取得するプログラムコードです。

[blockquote url='https://ohmycrypto.news/articles/147' title='bitbank(ビットバンク)で取得できる「API」とは? pythonを使った利用方法を解説!']#bitbankのライブラリをインポート
import python_bitbankcc

パブリックAPIの設定
class BitBankPubAPI:

パブリックAPI情報の取得
def init/emp:
self.pub = python_bitbankcc.public()

価格取得のコード
def get_ticker(self, pair):
try:
value = self.pub.get_ticker(pair)
return value
except Exception as e:
print(e)
return None
[/blockquote]

プライベートAPIで取得

自分の資産情報を取得するプログラムコードです。 '-------------ご自身が取得したAPIキー-------'にはAPIキーを、'------ご自身が取得したシークレットキー------'にはAPIシークレットキーを入力します。

[blockquote url='https://ohmycrypto.news/articles/147' title='bitbank(ビットバンク)で取得できる「API」とは? pythonを使った利用方法を解説!']#プライベートAPIの設定
class BitBankPrvAPI:

プライベートAPIキーの情報取得
def init/emp:
API_KEY = '-------------ご自身が取得したAPIキー-------'
API_SECRET = '------ご自身が取得したシークレットキー------'
self.prv = python_bitbankcc.private(API_KEY, API_SECRET)

個人資産情報の取得
def get_asset(self):
try:
value = self.prv.get_asset()
return value
except Exception as e:
print(e)
return None
[/blockquote]

bitbank (ビットバンク) のAPIでプログラムを作ってみる (Ruby)

Rubyを使用してプログラムを作る手順は、次のとおりです。

STEP1bitbankのAPIを取得
STEP2Herokuアカウントを取得
STEP3Rubyをインストール
STEP4ターミナルで入力
STEP5Herokuへデプロイする
STEP6bitbankの公式ライブラリをインストール
STEP7プログラムコードを入力
STEP8Herokuへデプロイする

STEP1 bitbankのAPIを取得

bitbankのAPIキーを取得しておきましょう。

STEP2 Herokuアカウントを取得

クラウド開発プラットフォームHerokuの準備の手順は、次のとおりです。

項目項目項目
項目項目項目
項目項目1000円など (カンマ) を入れたいときはダブルクオーテーションを使用します"

[table type='row']
STEP1,Herokuへアカウント登録、メール認証
STEP2,Gitのインストール
STEP3,Heroku CLIのインストール
[/table]

STEP3 Rubyをインストール

RubyinstrallerでRubyのダウンロードしてインストールしてください。

STEP4 ターミナルで入力

Windowsではコマンドプロンプト、Macではターミナルを開いてコマンドを打ち込みます。
[blockquote url='https://sakagami3.com/entry/2018/01/20/191618#bitbankAPI-2' title='bitbank API でビットコイン(仮想通貨)の自動売買を行うシステムトレードプログラムを書いてみた | さかめも']$ heroku login

Rails をインストール。
$ gem install rails --no-ri --no-rdoc

Rails アプリケーションを作成。
$ rails new myapp --database=postgresql

アプリケーションのディレクトリに移動。
$ cd myapp

Gem をインストール。
$ bundle install[/blockquote]

STEP5 Herokuへデプロイする

空のアプリケーションをHerokuへデプロイします。

[blockquote url='https://sakagami3.com/entry/2018/01/20/191618#bitbankAPI-2' title='bitbank API でビットコイン(仮想通貨)の自動売買を行うシステムトレードプログラムを書いてみた | さかめも']git でアプリケーションを管理させる。

$ git init
$ git add .
$ git commit -m "init"

Heroku 上でアプリケーションを新しく作成。
$ heroku create

Heroku へデプロイ。
$ git push heroku master

いちおうマイグレーションも実行しておく。
$ heroku run rake db:migrate
[/blockquote]

STEP6 bitbank (ビットバンク) の公式ライブラリをインストール

bitbankのRuby用のライブラリをインストールします。以下のコードを実行しましょう。

gem install ruby_bitbankcc

その後は、次のことを実行してください。

[blockquote url='https://sakagami3.com/entry/2018/01/20/191618#bitbankAPI-2' title='bitbank API でビットコイン(仮想通貨)の自動売買を行うシステムトレードプログラムを書いてみた | さかめも']追加した gem をインストール。
bundle install

orders タスクを追加。
rails g task orders[/blockquote]

STEP7 プログラムを入力

プログラムコードを入力ください。

STEP8 Herokuへデプロイ

作成したプログラムをデプロイします。

git push heroku master

買い注文を入れるプログラム

下記のプログラムの「アクセスキー」と「シークレットアクセスキー」に、bitbankで取得したAPIキーを入力しましょう。

[blockquote url='https://sakagami3.com/entry/2018/01/20/191618#bitbankAPI-2' title='bitbank API でビットコイン(仮想通貨)の自動売買を行うシステムトレードプログラムを書いてみた | さかめも']namespace :orders do
desc "50,000円で0.01BTCの買い注文を入れる"
task :buy => :environment do
bbcc = Bitbankcc.new("アクセスキー", "シークレットアクセスキー")
response = bbcc.create_order('btc_jpy', "0.01", 50000, 'buy', 'limit')
result = JSON.parse(response)

if result['success'] == 1
puts "完了!"
end
end
end
[/blockquote]

売り注文を入れるプログラム

売り注文についても同様に、「アクセスキー」と「シークレットアクセスキー」に取得したAPIキーを入力します。
[blockquote url='https://sakagami3.com/entry/2018/01/20/191618#bitbankAPI-2' title='bitbank API でビットコイン(仮想通貨)の自動売買を行うシステムトレードプログラムを書いてみた | さかめも']namespace :orders do
desc "60,000円で0.01BTCの売り注文を入れる"
task :sell => :environment do
bbcc = Bitbankcc.new("アクセスキー", "シークレットアクセスキー")
response = bbcc.create_order('btc_jpy', "0.01", 60000, 'sell', 'limit')
result = JSON.parse(response)

if result['success'] == 1
puts "完了!"
end
end
end
[/blockquote]

注文を確認するプログラム

現在注文中の内容を確認するためのコードです。

[blockquote url='https://sakagami3.com/entry/2018/01/20/191618#bitbankAPI-2' title='bitbank API でビットコイン(仮想通貨)の自動売買を行うシステムトレードプログラムを書いてみた | さかめも']namespace :orders do
desc "現在 入っている注文を確認する"
task :check => :environment do
bbcc = Bitbankcc.new("アクセスキー", "シークレットアクセスキー")
response = bbcc.read_active_orders('btc_jpy')
result = JSON.parse(response)

result["data"]["orders"].each do |order|
puts "#{order['order_id']} - #{order['price']} / #{order['side']}"
end
end
end
[/blockquote]

bitbank (ビットバンク) の取引履歴APIの制限

2017年12月、bitbankはサーバーへの負荷が高まったとして、一時的に取引履歴のAPIを制限したと発表しました。

そのときに制限された内容は、次の2点です。

期間指定 (開始日・終了日) を伴う取引履歴の検索
取引履歴APIの呼び出し

今後も負荷が高まるとAPIが制限される可能性があります。

国内 暗号資産(仮想通貨)取引所比較ランキング
  1. Coinceck(コインチェック)

    取引量・ユーザー数は日本で最大級!使いやすいスマホアプリと豊富な取扱通貨で人気の取引所!

    詳細を見る
  2. Bitbank(ビットバンク)

    全ての暗号資産(仮想通貨)が板取引形式 (最安手数料) で売買できる!

    詳細を見る
  3. GMOコイン

    安心のGMOインターネット (東証一部上場)グループの暗号資産(仮想通貨)取引所

    詳細を見る
※ 2023年11月22日 最新更新国内取引所ランキングをもっと見る
海外 暗号資産(仮想通貨)取引所比較ランキング
  1. Bybit(バイビット)

    クレカ入金可能!レバレッジの効いたFX取引に特化した暗号資産(仮想通貨)取引所!海外ならココ一択!

    詳細を見る
  2. Zoomex(ズームエックス)

    レバレッジ取引に特化した次世代仮想通貨取引所!

    詳細を見る
  3. MEXC(メックスシー)

    取り扱い銘柄数1,500種類以上の大手仮想通貨取引所!

    詳細を見る
※ 2023年11月22日 最新更新海外取引所ランキングをもっと見る
目次
詳細表示