#author("2017-11-05T23:41:19+09:00","","")
#navi(../)
* zaifのcurrencies・通貨情報を取得APIのサンプルコード(PHP) [#x1b01789]
&color(red){当サイトに記載されている会社名、製品名などは一般に各社または団体の商標または登録商標です。&br;当サイトの資料により直接的および間接的障害が生じても一切責任を負いません。&br;あらかじめご了承ください。};
----

PHPを使って&htmlinsert(zaif.html);の[[currencies・通貨情報を取得API>http://techbureau-api-document.readthedocs.io/ja/latest/public/2_individual/1_currencies.html]]APIの使用例を以下に記します。

#contents
----
以下のバナーは&htmlinsert(zaif.html);へのリンクです。~
#htmlinsert(zaif_wide_1.html)

* 関連記事 [#e4f0c6fe]
-[[API動作環境構築>API/環境構築]]
-[[currencies・通貨情報の取得(PHP)>API/zaif/currencies(PHP)]]
-[[currency_pairs・通貨ペア情報を取得(PHP)>API/zaif/currency_pairs(PHP)]]
* ブラウザで通貨情報を取得APIを呼び出してみる [#a13b8110]
公開APIなので&htmlinsert(zaif.html);に取引口座を開設していなくても使用することができます。

「currencies・通貨情報を取得」API仕様(Zaif APIページから抜粋) ~
http://techbureau-api-document.readthedocs.io/ja/latest/public/2_individual/1_currencies.html

 currencies 
 通貨情報を取得します。
 
 リクエスト
 /currencies/{currency}
 例. https://api.zaif.jp/api/1/currencies/btc
 
 パラメータ
 なし
 戻り値
 currencyにallを指定した場合、有効な全ての通貨情報を取得します。

currencies APIを試してみた結果、136件返却されましたのでサンプルコードでは整形して一覧を表示するようにしています。~

* ブラウザで通貨情報を取得 [#x7b6f948]
GETなのでブラウザで板情報を取得することができます。~
以下は{currency}にallを指定しています。~
https://api.zaif.jp/api/1/currencies/all

* ブラウザで通貨情報を取得APIにアクセスした結果 [#m5c4ed04]
以下ブラウザから上記URLにアクセスしたときの出力です。

-Firefox ver56.0~
JSONが整形され表示されています。~
見やすいですね。~
(生データをクリックすると上記同様にJSON形式の返却された文字列が表示されます。)
#ref(01.png)

----
以下のバナーは&htmlinsert(zaif.html);へのリンクです。~
#htmlinsert(zaif_wide_2.html)

* PHPで「currencies・通貨情報を取得」APIを呼び出してみる(サンプルコード) [#c99023c7]
PHPのサンプルコードは以下のようになります。
#ref(currencies.php.zip)
 <?php
 // API doc : http://techbureau-api-document.readthedocs.io/ja/latest/public/2_individual/1_currencies.html
 // API url : https://api.zaif.jp/api/1/currencies/{currency}
 
 // currencies api url
 $zaif_api_url  = "https://api.zaif.jp/api/1/currencies/";
 
 // proxy settings
 $proxy      = "";
 $proxy_port = "";
 
 $curl = curl_init();
 if ($curl == FALSE) {
     fputs(STDERR, "[ERR] curl_init(): " . curl_error($curl) . PHP_EOL);
     die(1);
 }
 
 // curl set options
 $currency = "all";  // all currencies
 curl_setopt($curl, CURLOPT_URL, $zaif_api_url . $currency);
 curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
 // set proxy server settings
 if (!empty($proxy) && !empty($proxy_port)) {
     curl_setopt($curl, CURLOPT_HTTPPROXYTUNNEL, 1);
     curl_setopt($curl, CURLOPT_PROXY, $proxy . ":" . $proxy_port);
     curl_setopt($curl, CURLOPT_PROXYPORT, $proxy_port);
 }
 
 // call currencies api
 $response = curl_exec($curl);
 if ($response == FALSE) {
     fputs(STDERR, "[ERR] curl_exec(): " . curl_error($curl) . PHP_EOL);
     die(1);
 }
 // json decode
 $json_decode = json_decode($response, true);
 if ($json_decode == NULL) {
     fputs(STDERR, "[ERR] json_decode(): " . json_last_error_msg() . PHP_EOL);
     die(1);
 }
 curl_close($curl);
 
 // show currencies
 //print_r($json_decode);
 
 // sort by id
 foreach ($json_decode as $key => $value){
   $key_id[$key] = $value['id'];
 }
 array_multisort ($key_id , SORT_ASC , $json_decode);
 // show currencies
 printf("id\tname\t\tis_token" . PHP_EOL);
 print ("---------------------------------" . PHP_EOL);
 foreach ($json_decode as $cur) {
     $is_token = "";
     if ($cur["is_token"]) { $is_token = "Y"; }
     $cur_name = $cur["name"];
     if (strlen($cur["name"]) < 8) { $cur_name = $cur_name . "\t"; }
     printf("%d\t%s\t\t%s" . PHP_EOL, $cur["id"], $cur_name, $is_token);
 }
 
 exit(0);

* 実行例 [#j891bb8b]
上記のPHPサンプルソースを実行してみます。~
 $ php currencies.php
 id	name		is_token
 ---------------------------------
 1	btc			
 2	xem			
 3	jpy			
 4	mona			
 5	ZAIF			Y
 6	XCP			Y
 7	BITCRYSTALS		Y
 8	SJCX			Y
 9	MAGATAMAMIJN		Y
 10	MAGATAMARD		Y
 11	MAGATAMAYL		Y
 12	MAGATAMAVT		Y
 13	MAGATAMAGN		Y
 14	MAGATAMATQ		Y
 15	MAGATAMABL		Y
 16	MAGATAMAWT		Y
 17	MAGATAMARDON		Y
 18	MAGATAMARDTW		Y
 19	MAGATAMARDTH		Y
 20	MAGATAMARDFR		Y
 21	MAGATAMARDFV		Y
 22	MAGATAMARDSX		Y
 23	MAGATAMARDSV		Y
 24	MAGATAMAYLON		Y
 25	MAGATAMAYLTW		Y
 26	MAGATAMAYLTH		Y
 27	MAGATAMAYLFR		Y
 28	MAGATAMAYLFV		Y
 29	MAGATAMAYLSX		Y
 30	MAGATAMAYLSV		Y
 31	MAGATAMAVTON		Y
 32	MAGATAMAVTTW		Y
 33	MAGATAMAVTTH		Y
 34	MAGATAMAVTFR		Y
 35	MAGATAMAVTFV		Y
 36	MAGATAMAVTSX		Y
 37	MAGATAMAVTSV		Y
 38	MAGATAMAGNON		Y
 39	MAGATAMAGNTW		Y
 40	MAGATAMAGNTH		Y
 41	MAGATAMAGNFR		Y
 42	MAGATAMAGNFV		Y
 43	MAGATAMAGNSX		Y
 44	MAGATAMAGNSV		Y
 45	MAGATAMATQON		Y
 46	MAGATAMATQTW		Y
 47	MAGATAMATQTH		Y
 48	MAGATAMATQFR		Y
 49	MAGATAMATQFV		Y
 50	MAGATAMATQSX		Y
 51	MAGATAMATQSV		Y
 52	MAGATAMABLON		Y
 53	MAGATAMABLTW		Y
 54	MAGATAMABLTH		Y
 55	MAGATAMABLFR		Y
 56	MAGATAMABLFV		Y
 57	MAGATAMABLSX		Y
 58	MAGATAMABLSV		Y
 59	MAGATAMAWTON		Y
 60	MAGATAMAWTTW		Y
 61	MAGATAMAWTTH		Y
 62	MAGATAMAWTFR		Y
 63	MAGATAMAWTFV		Y
 64	MAGATAMAWTSX		Y
 65	MAGATAMAWTSV		Y
 66	HYOU			Y
 67	FSCC			Y
 68	TOREKABUOPT		Y
 69	NEMCARD			Y
 70	PACHI			Y
 71	DJASANYAN		Y
 72	CHIKARIN		Y
 73	SANOMAYA		Y
 74	SATOAYAKA		Y
 75	TSUKASA			Y
 76	KAORI			Y
 77	MIZUKI			Y
 78	SHIRAHOSHI		Y
 79	MAMICHANNEL		Y
 80	HINANOMAI		Y
 81	RURU			Y
 82	ICHARLOTTE		Y
 83	SANOMAYAVIX		Y
 84	DJASANYANVIX		Y
 85	CHIKARINVIX		Y
 86	TSUKASAVIX		Y
 87	MIZUKIVIX		Y
 88	SIRAHOSIVIX		Y
 89	RISAVIX			Y
 90	BITGIRLSI		Y
 91	BITGIRLSII		Y
 92	PEPECASH		Y
 93	KINOKOUSAKA		Y
 94	YAMAGUCHIA		Y
 95	RUMIRUMI		Y
 96	SHIMARENA		Y
 97	LEENA			Y
 98	ITSUKI			Y
 99	CICC			Y
 100	XACONE			Y
 101	XACTWO			Y
 102	XACTHREE		Y
 103	XACFOUR			Y
 104	XACFIVE			Y
 105	XACSIX			Y
 106	XACSEVEN		Y
 107	XACEIGHT		Y
 108	XACNINE			Y
 109	KAORIBG			Y
 110	CHIKARINBG		Y
 111	SANOMAYABG		Y
 112	SATOAYAKABG		Y
 113	DJASANYANBG		Y
 114	TSUKASABG		Y
 115	MIZUKIBG		Y
 116	SHIRAHOSHIBG		Y
 117	ICHARLOTTEBG		Y
 118	MAMICHANBG		Y
 119	HINANOMAIBG		Y
 120	RURUBG			Y
 121	KINOBG			Y
 122	YAMAGUCHIABG		Y
 123	SHIMARENABG		Y
 124	RUMIRUMIBG		Y
 125	ITSUKIBG		Y
 126	LEENABG			Y
 129	NCXC			Y
 130	YOGIBOGOCPON		Y
 131	YOGIBOGOCPTW		Y
 132	YOGIBOGOCPTH		Y
 133	YOGIBOGOCPFR		Y
 134	YOGIBOGOCPFV		Y
 135	YOGIBOGOCPSX		Y
 136	MAGATAMABZ		Y
 137	JPYZ			Y
 138	BCH			
 139	ETH			

通貨情報が返却されます。


以上、&htmlinsert(zaif.html);の公開APIである通貨情報を取得APIのブラウザによるアクセスとPHPによる通貨情報を取得呼び出しのサンプルコードの記事でした。


----
以下のバナーは&htmlinsert(zaif.html);へのリンクです。~
#htmlinsert(zaif_wide_3.html)

トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS