これまでbitFlyerとcoincheckのAPIから注文する方法をご紹介しました。
今回はZaifのAPIから注文する
サンプルプログラムをご紹介します。
ただ、Zaifはビットコインの流出事件の影響で
運営会社のテックビューロが解散することになりました。
仮想通貨取引所の事業はフィスコに
譲渡されることになるそうですが、
未だ状況は不透明ですのでご注意ください。
私が実際に使用しているソースコードになります。
Zaif APIのドキュメントは以下をご参照ください。
Contents
Zaif APIサンプルプログラム
実装したのは、Python 3.6です。
Zaif APIソースコード
ではさっそくサンプルプログラムです。
import json
import urllib
import requests
import time
import hmac
import hashlib
import util
class zaifApi:
def __init__(self):
self.api_key = 'APIキー'
self.api_secret = 'APIシークレットキー'
self.api_get_endpoint = 'https://api.zaif.jp/api/1/'
self.api_endpoint = 'https://api.zaif.jp/tapi'
def get_api_call(self,method,path=''):
url = self.api_get_endpoint + method
if (path != ''):
url = url + '/' + path
request_data = requests.get(url)
return request_data
def post_api_call(self,method,req={}):
#body = json.dumps(body)
req['method'] = method
req['nonce'] = int(time.time())
post_data = urllib.parse.urlencode(req).encode()
sign = hmac.new(str.encode(self.api_secret), post_data, hashlib.sha512).hexdigest()
#sign = hmac.new(bytes(self.api_secret.encode('ascii')), bytes(text.encode('ascii')), hashlib.sha512).hexdigest()
request_data=requests.post(
self.api_endpoint
,data= post_data
,headers = {
'key': self.api_key,
'sign': sign,
})
return request_data
def get_board(self):
zaif = zaifApi()
result = zaif.get_api_call('depth','btc_jpy').json()
bids = util.util.list_to_pd(result['bids'],'zf',False)
asks = util.util.list_to_pd(result['asks'],'zf',True)
return bids,asks
def get_balance(self):
zaif = zaifApi()
result = zaif.post_api_call('get_info').json()
data = {}
funds = result['return']['funds']
deposit = result['return']['deposit']
data['jpy_amount'] = round(float(funds['jpy']), 2)
data['jpy_available'] = round(float(deposit['jpy']), 2)
data['btc_amount'] = round(float(funds['btc']), 8)
data['btc_available'] = round(float(deposit['btc']), 8)
return data
def order(self,data):
zaif = zaifApi()
result = zaif.post_api_call('trade',data).json()
return result
使用方法
以下のソースをzaifApi.pyというファイル名で保存します。
APIを呼び出すプログラム例
呼び出すプログラム側で以下のように実装します。
import zaifApi api = zaifApi.zaifApi() bids,asks = api.get_board()
これは、板情報を取得する場合です。






