【bitFlyer API】ビットコインなどのデータを取得できるPHPスクリプトの例
『bitFlyer(ビットフライヤー)』は国内最大級の仮想通貨取引所。そのbitFlyerには、「bitFlyer Lightning」と呼ばれるサービスがあり、暗号資産(仮想通貨)の現物取引に加えて、FX・先物取引に対応しています。
そのbitFlyer Lightningでは、サービス内のデータ取得や取引を行えるAPIが公開されています。
bitFlyer LightningのAPIには、いくつかの種類がありますが、今回は、API キーによる認証が不要な HTTP Public APIを利用した、簡単なPHPのコードの例となります。
【bitFlyer Lightning】PHPでAPIを利用する簡単な例
例では、コマンドラインからPHPスクリプトを実行して、ビットコインと日本円のFX取引の板情報を取得します。また、APIリクエストにはHTTPクライアントGuzzleを利用します。
GuzzleをComposerでインストール
まずは、プロジェクトのフォルダを作成します。
そして、ComposerでGuzzleをインストールするため、プロジェクトのルートディレクトリにcdコマンドで移動し、以下のコマンドを実行します。
composer require guzzlehttp/guzzle
PHPライブラリの依存関係を管理するComposerやGuzzleの詳細については、以下のリンク先を参考にしてみてください。
PHPファイルを作成
プロジェクトのルートディレクトリにPHPファイルを作成し、以下のコードを記述します。
例では、ビットコインと日本円のFX取引の板情報をJSONデータで取得します。
<?php
//Guzzleを利用するためComposerのautoload.phpを読み込み
require __DIR__ . '/vendor/autoload.php';
use GuzzleHttp\Client;
$client = new Client();
// リクエストURL・クエリ文字列を指定
$response = $client->request('GET', 'https://api.bitflyer.com/v1/getboard', [
'query' => [
'product_code' => 'FX_BTC_JPY',
]
]);
// レスポンスデータを取得して出力
echo $response->getBody();
作成したファイルを実行するには、ファイルのあるディレクトリに移動して、次のコマンドを実行します。
php ファイル名
コマンドラインでJSONを整形する場合
また、コマンドラインではJSONデータは整形されていませんが、「jq」というツールをインストールしていると、次のコマンドで整形されたJSONデータを取得できます。
php sample.php | jq '.'
jqのインストール方法などは以下のリンク先を参考にしてみてください。
bitFlyer LightningのAPIについて
今回は、bitFlyer Lightning API を利用する簡単な例でしたが、APIを利用して仮想通貨の取引なども行えます。詳しくは以下のリンク先を参考にしてみてください。