前回はbitFlyerのAPIから注文する方法をご紹介しました。
今回はcoincheckのAPIから注文する
サンプルプログラムをご紹介します。
こちらも私が実際に使用しているソースコードになります。
coincheck APIのドキュメントは以下をご参照ください。
Contents
coincheck APIサンプルプログラム
実装したのは、Python 3.6です。
coincheck APIソースコード
ではさっそくサンプルプログラムです。
import json
import requests
import time
import hmac
import hashlib
import util
class coincheckApi:
def __init__(self):
self.api_key = 'APIキー'
self.api_secret = 'APIシークレットキー'
self.api_endpoint = 'https://coincheck.com'
def get_api_call(self,path):
timestamp = str(int(time.time()*1000))
text = timestamp + self.api_endpoint + path
sign = hmac.new(bytes(self.api_secret.encode('ascii')), bytes(text.encode('ascii')), hashlib.sha256).hexdigest()
request_data=requests.get(
self.api_endpoint+path
,headers = {
'ACCESS-KEY': self.api_key,
'ACCESS-NONCE': timestamp,
'ACCESS-SIGNATURE': sign,
'Content-Type': 'application/json'
})
return request_data
def post_api_call(self,path,body):
body = json.dumps(body)
timestamp = str(int(time.time()*1000))
text = timestamp + self.api_endpoint + path + body
sign = hmac.new(bytes(self.api_secret.encode('ascii')), bytes(text.encode('ascii')), hashlib.sha256).hexdigest()
request_data=requests.post(
self.api_endpoint+path
,data= body
,headers = {
'ACCESS-KEY': self.api_key,
'ACCESS-NONCE': timestamp,
'ACCESS-SIGNATURE': sign,
'Content-Type': 'application/json'
})
return request_data
def get_board(self):
api = coincheckApi()
result = api.get_api_call('/api/order_books').json()
bids = util.util.list_to_pd(result['bids'],'cc',False)
asks = util.util.list_to_pd(result['asks'],'cc',True)
return bids,asks
def get_balance(self):
api = coincheckApi()
result = api.get_api_call('/api/accounts/balance').json()
if ('jpy' not in result):
result['jpy'] = 0
if ('btc' not in result):
result['btc'] = 0
data = {}
data['jpy_amount'] = round(float(result['jpy']), 2)
data['jpy_available'] = round(float(result['jpy']) - float(result['jpy_reserved']), 2)
data['btc_amount'] = round(float(result['btc']), 8)
data['btc_available'] = round(float(result['btc']) - float(result['btc_reserved']), 8)
return data
def get_leverage_balance(self):
api = coincheckApi()
result = api.get_api_call('/api/accounts/leverage_balance').json()
return result
def get_open_positions(self):
api = coincheckApi()
result = api.get_api_call('/api/exchange/leverage/positions?status=open').json()
return result
def order(self,data):
api = coincheckApi()
result = api.post_api_call('/api/exchange/orders',data).json()
return result
使用方法
以下のソースをcoincheckApi.pyというファイル名で保存します。
APIを呼び出すプログラム例
呼び出すプログラム側で以下のように実装します。
import coincheckApi api = coincheckApi.coincheckApi() bids,asks = api.get_board()
これは、板情報を取得する場合です。





