AidosMarketのAPIの使用方法

こんにちは、しゃちです。

最近は気が付いたら1日が終わってしまってちょっとかなしいです。

冬は昼間の時間が短いので余計に短く感じてしまうんですかねぇ。

起床してお昼寝して、しばらくパソコンかたかたしてたらもう夜ですよ。

家の中でごろごろする生活も幸せだけど、たまには外に出ないとねぇ。

パン屋さんでバイトでもしようかなぁ。

毎日、パンの匂いに囲まれて生きていきたい。

もしくは適当にどこか面白そうな会社で働こうかな。

なにかおもしろそうなもの作りたいな~。

とまぁ、世間話はこの辺にして本題にいきましょう。

今回はAidosMarketのAPIについて説明していきます。

たぶん、そんなに使ってる人いないと思いますけども……。

APIとは

そもそもAPIってなんぞやと思う人が多いのではないでしょうか。

私もはじめて聞いた時は「API?なにそれ?お金おろせるの??」って感じでした。

APIとはソフトウェアの機能を共有すること

APIは自己のソフトウェアを一部公開して、他のソフトウェアと機能を共有できるようにしたものです。

ソフトウェアの一部をWEB上に公開することによって、誰でも外部から利用することができるようになります。

それによって、自分のソフトウェアに他のソフトウェアの機能を埋め込むことができるようになるので、アプリケーション同士で連携することが可能になるのです。

引用元:いまさら聞けない!APIとは何か?〜基礎の基礎を学ぼう〜

ということです。

要は他人が作ったソフトウェアをネットを介して利用できるってことですね。

一番わかりやすい例が、BitFlyerの売買APIですね。

通常、ビットコインを買う時はBitFlyerのWebサイトに行って売買ボタンを押します。

しかしプログラムを組んで自動売買するときはどうでしょうか。

プログラムにWebサイトを訪問して売買ボタンをクリックさせるというのはめんどくさいですよね。

Webスクレイピングして、BiFlyerにログインさせて売買ボタンの場所を検知してクリック操作をさせて売買する必要があるのです)

しかしBitFlyerの売買APIを通せば、プログラムを通して売買することができるのです。

プログラムの工数が減るのでめっちゃ楽ちんになるのです。

AidosMarketのAPIについて

それでは、AidosMarketのAPIでは一体どういうことができるのか見ていきましょう。

AidosMarketのAPIでは下記の4種類のAPIを使用できます。

  • Stats
  • Historical Prices
  • Order Book
  • Transactions

ひとつずつ見ていきましょう。

Stats

Statsでは、ADKの売買高や現在値などの取引所のステータスを取得することができます。

百聞一見にしかず、ということで実際にAPIを見てみましょう。

下記URLにアクセスするとStats APIを使うことができます。

https://aidosmarket.com/api/stats

上記と同じようなページが出てきたでしょうか。

これがStats APIの中身になります。

ではStats APIの詳細について見ていきましょう。

AidosMarketでは下記の説明が記載されています。

Parameters:

  • market (string) – Three-letter currency code. If omitted, the exchange default will be returned. Must be a market supported by the exchange.
  • currency (string) – Three-letter currency code. If omitted, the exchange default will be returned. Must be a currency supported by the exchange. All stats returned will be in this currency unit.

Response:

  • market (string) – The cryptocurrency market that was queried.
  • currency (string) – The currency in which this information is presented.
  • bid (float) – Current bid price.
  • ask (float) – Current ask price.
  • last_price (float) – The price of the last transaction.
  • last_transaction_type (string) – The action performed by the taker (initiator) of the last transaction. Can be “BUY” or “SELL”.
  • last_transaction_currency (string) – Three-letter currency code for the currency in which the last transaction took place.
  • daily_change (float) – The amount that the current price has fallen or risen from the last close.
  • daily_change_percent (float) – The percentage of the current price versus the last close.
  • max (float) – Today’s maximum transaction price.
  • min (float) – Today’s minimum transaction price.
  • open (float) – Today’s open price (note: since the market is always open, it is also yesterday’s close price).
  • global_units (int) – Total units in existance for the specified cryptocurrency worldwide.
  • market_cap (int) – The global market cap for the specified cryptocurrency.
  • global_volume (int) – Global trade volume for the specified cryptocurrency.
  • 24h_volume (float) – The exchange’s 24 hour volume.
  • 24h_volume_buy (float) – The exchange’s 24 hour buy volume.
  • 24h_volume_sell (float) – The exchange’s 24 hour sell volume.
  • 1h_volume (float) – The exchange’s one hour volume.
  • 1h_volume_buy (float) – The exchange’s one hour buy volume.
  • 1h_volume_sell (float) – The exchange’s one hour sell volume.

パラメーターとレスポンスの2項目について説明されていますね。

パラメーターとは、ユーザーが設定できる項目です。

使い方については次の項目「Historical Prices」で説明します。

レスポンスはAPIで表示されるデータです。

Statsで表示されるデータを知りたい方は上記の説明を読んでください。

(け、決して日本語に翻訳するのがめんどくさかったからじゃないですからね!)

 

という訳で上記ページを開くことでStatsのAPIを利用できます。

これであなたもAPIを使うことができました!

え?これだけなの??って思うでしょう。

はい。これだけです。

これを一体、どのように活用するの?って思った方はそのうち実戦編を(たぶん)書くのでそれまでお待ちください。

このようなAPIでは、基本的にAPIで表示されたページから必要な情報を取り出して自分のプログラム内で利用します。

Historical Prices

Historical PriceではADKの価格を1日単位で取得することができます。

URLは下記になります。

https://aidosmarket.com/api/historical-prices

上記の表示内容をみてわかるように、1日ごとの価格を表示しています。

(でも、この価格ってどこの時間帯を切り取っているんでしょうね……)

APIの説明は下記の通りです。

Parameters:

  • market (string) – Three-letter currency code. If omitted, will return the exchange default. Must be a market supported by the exchange.
  • currency (string) – Three-letter currency code. If omitted, will return the exchange default. Must be a currency supported by the exchange.
  • timeframe (string) – The timeframe for your request. Permitted values are “1mon”, “3mon”, “6mon”, “1year” and “ytd”. Default is “1mon”.

Response:

  • market(string) – The currency code of the selected market.
  • currency (string) – The currency in which this information is presented.
  • date (string) – The date string in YYYY-MM-DD format.
  • price (float) – The closing price for the given date.

パラメーターをみると先ほどのStatsと同じか……と思いきやtimeframeの設定ができるようです。

timeframeは「1か月」「3か月」「6か月」「1年」「年間」の設定ができます。デフォルトでは「1か月」が表示されます。

ちなみにAPIのパラメーターを使うためには特別な記述方法をする必要があります。

パラメーターの使い方

最初のAPIの説明ではGETメソッドとPOSTメソッドでAPIを利用できると書いてありましたね。

今回は簡単に使用することができるGETメソッドでパラメーターを使ってみましょう。

一言で説明すると、URLの後ろに欲しいパラメーターを記述してアクセスするという方式です。

例えば、timeframeで「3か月」を表示させる時には下記のURLにアクセスをします。

https://aidosmarket.com/api/historical-prices?timeframe=3mon

URLの後ろに「?」をつけて、その後に「パラメーター名=パラメーター」を記述します。

パラメーターを複数使う場合は「&」をつけてパラメーターをつなげていきます。

https://aidosmarket.com/api/historical-prices?timeframe=3mon&currency=BTC

という感じに記載します。

Order Book

OrderBookでは買い板・売り板の情報をすべて取得することができます。

AidosMarketの説明は下記のとおりです。

Returns information on all the orders currently in the order book. Return will be grouped into two different arrays for bid and ask respectively.

訳:「買い板と売り板の2グループに分けて全ての板情報を返します」

APIのURLは下記になります。

https://aidosmarket.com/api/order-book

上記をみてわかるように「price:板価格」,「order-amout:注文量」,「order_value:price×order-amountの値」となっています。

ADKOrderVolumeSMTもこのAPIを使用しています。

APIの説明は下記のとおりです。基本的にはデフォルトのまま使うことが多いので、特段説明することもないですね。

Parameters:

  • market (string) – Three-letter currency code. If omitted, will return the exchange default. Must be a market supported by the exchange.
  • currency (string) – Three-letter currency code. Will return the exchange default if omitted. Must be a currency supported by the exchange.

Response:

  • market(string) – The currency code of the selected market.
  • currency (string) – The currency code for the selected currency.
  • price (float) – The limit price of the order.
  • order_amount (float) – The remaining amount in BTC.
  • order_value (float) – The remaining value of the order in your requested currency.
  • converted_from (string) – The original currency in which the order was placed, if not equal to the requested currency.

Transactions

最後はTransactionsのAPIです。

名前の通り、取引履歴を取得することができます。

APIのURLは下記の通りです。

https://aidosmarket.com/api/transactions

さっそくAPIの説明をみてみましょう。

Parameters:

  • market (string) – Three-letter currency code. Please note: You can omit this parameter to receive all trades from all markets!
  • currency (string) – Three-letter currency code. Please note: You can omit this parameter to receive all prices will be in their native currency!
  • limit (int) – The amount of records to receive. Default is 10.

Response:

  • market(string) – The currency code of the selected market.
  • currency (string) – The currency in which this information is presented. Will return ‘ORIGINAL’ if amounts are in the original currency
  • id (int) – A unique identifier for the transaction.
  • date (string) – The date string in YYYY-MM-DD format.
  • btc (float) – The transaction amount in BTC.
  • price (float) – The price at which the transaction ocurred. Will be returned in the original currency if no currency parameter is sent in the request.
  • price1 (float) – Only if no currency param sent – The price at which the transaction ocurred for the second party (maker), in the original currency.
  • amount (float) – The transction amount in the requested currency. Will be returned in the original currency if no currency parameter is sent in the request.
  • amount1 (float) – Only if no currency param sent – The transaction amount in the second party’s (maker’s) original currency.
  • currency (string) – The currency in which the transaction ocurred. Will be returned in the original currency if no currency parameter is sent in the request.
  • currency1 (string) – Only if no currency param sent – The second party’s (maker’s) original currency.

パラメーターでlimitが設定できますね。

limitを設定することで表示数を変更することができます。

デフォルトでは直近の取引履歴を10個まで表示します。

取引履歴をたくさん表示したいときはパラメーターを追加して利用しましょう。

例:取引履歴を100個表示したい時は下記URLになります。

https://aidosmarket.com/api/transactions?limit=100

まとめ

そんなこんなで4つのAPIについてみてきました。

使いたいAPIはあったでしょうか。

まぁAPIを見ただけだと「こんなん何に使うのさ」って思う方が多いかなぁ。

私もたぶん、いきなりAPIを見せられても「一体なにに使うんじゃ~」って思います笑

自分の開発したいものに合わせてAPIを活用していくのが一番ですね。

私としてはADKを売買できるAPIを実装してほしいところですね。

ETFの価格と連動して売買できるBotを作りたいなぁ。

ではでは、少しでもご参考になっていただけたら幸いです。