Zaifの現物公開APIを使ってNEMの価格を取得するPHP。

2019年06月05日 18時00分 正午の月齢:2.1  月名:三日月  潮汐:中潮 月齢:2.1[三日月] 潮汐:中潮
(最終更新日:2019年09月16日)
5年前に投稿 | 暗号資産(仮想通貨) | 2件のコメント

4分ぐらいで読めます。

多くの取引所でAPIが公開されています。ためしにZaifのAPIを使って、NEMの価格を取得してみます。APIの活用としては最も初歩的な内容ですが、円表示の商品価格をNEM換算して決済するシステムに使うなど、いろいろな使い方が考えられます。

<!DOCTYPE html>

<html lang="ja">

<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>NEMのJPY価格</title>
</head>

<body>

<h1>NEMのJPY価格</h1>

<div id="nem">
<?php
date_default_timezone_set('Asia/Tokyo');
$date = new DateTime('now');
echo $date->format('<p>Y年m月d日 H時i分s秒時点</p>');
?>

<?php
$url = "https://api.zaif.jp/api/1/ticker/xem_jpy";
$json = mb_convert_encoding(file_get_contents($url), 'UTF-8','ASCII,JIS,UTF8,EUC-JP,SJIS-WIN,SJIS');
$json_arr = json_decode($json,true);

if ($json_arr === NULL) {
echo "データがありません";
return;
}else{
$last = $json_arr["last"];
$high = $json_arr["high"];
$low = $json_arr["low"];
$vwap = $json_arr["vwap"];

echo "<table>";
echo "<tr><td>終値</td><td style=\"text-align: right;\">" . $last ." JPY</td></tr>";
echo "<tr><td>過去24時間の高値</td><td style=\"text-align: right;\">" . $high ." JPY</td></tr>";
echo "<tr><td>過去24時間の安値</td><td style=\"text-align: right;\">" . $low ." JPY</td></tr>";
echo "<tr><td>過去24時間の加重平均</td><td style=\"text-align: right;\">" . $vwap ." JPY</td></tr>";
echo "</table>";
}
?>

<input type="button" value="再読込" onClick="window.location.reload(true);" />
</div>

</body>

</html>

まずはいつのデータか判るように、日時を取得するPHPを表示しておきます。次にZaifのAPI。JSON形式のデータからキーを拾っていきます。今回は終値・過去24時間の高値・過去24時間の安値・過去24時間の加重平均の4つを取得することにしました。通貨ペア「xem_jpy」の部分を「btc_jpy」などに変えると、NEM以外の価格を拾うことができます。最後に取得した値を表示します。

おまけとして、ページの再読み込みボタンをつけました。

応用として、フォームに商品価格(円)を入力すると、過去24時間の加重平均NEM価格から商品価格が何XEMになるかを計算して、送金用のQRコードを作る…ということができると思います。

NEM投げ銭

NEM WalletからQRコードを読んでね。1口100円でございます。

15.92331XEM to NAMEKOKIDITOSYABXYBJ5P2J6HIN7CFAMKFN2R7B

古い記事・新しい記事

古い記事 [2019年05月31日]
新しい記事 [2019年06月07日]

2件のコメント

  1. ZaifのAPIからAjaxでNEMの価格を定期的に取得するPHP。 | 煤式自動連結器からのピンバック | 2019年06月07日 #

    […] 前回、NEMの価格を取得してみましたが、取得したときの価格が表示されるだけなので更新する場合はページの再読み込みをする必要がありました。 […]

  2. 日本円をNEM換算して送信するQRコードを生成するPHP。 | 煤式自動連結器からのピンバック | 2019年06月17日 #

    […] そこで、円で価格を入力したら、Zaifの過去24時間加重平均のNEM価格を使って何XEMかを計算し、QRコードを生成するようにしてみました。 […]

ごめんなさい、コメントフォームは閉鎖しています。

Translate »