import jwt # pip install pyjwt
import uuid
import hashlib
from urllib.parse import urlencode
import requests
ACCESS_KEY = ''
SECRET_KEY = ''
SERVER_URL = ''#'https://api.upbit.com'
def get_headers(_query):
query_string = urlencode(_query).encode()
m = hashlib.sha512()
m.update(query_string)
query_hash = m.hexdigest()
payload = {
'access_key': ACCESS_KEY,
'nonce': str(uuid.uuid4()),
'query_hash': query_hash,
'query_hash_alg': 'SHA512',
}
jwt_token = jwt.encode(payload,SECRET_KEY)
authorize_token = 'Bearer {}'.format(jwt_token)
headers = {"Authorization": authorize_token}
return headers
def get_order_chance(_symbol_upbit):
query = {
'market': _symbol_upbit,
}
res = requests.get(SERVER_URL + "/v1/orders/chance", params=query, headers=get_headers(query))
print(res.json())
return res.json()
def init(_api_key, _secret, _server_url):
global ACCESS_KEY
global SECRET_KEY
global SERVER_URL
ACCESS_KEY = _api_key
SECRET_KEY = _secret
SERVER_URL = _server_url
## test
init('본인 access key','본인 secret key','https://api.upbit.com')
get_order_chance('KRW-ETH')
###################
##
반환값 예.
{'bid_fee': '0.0005', 'ask_fee': '0.0005', 'maker_bid_fee': '0.0005', 'maker_ask_fee': '0.0005',
'market': {'id': 'KRW-ETH', 'name': 'ETH/KRW', 'order_types': [], 'order_sides': ['ask', 'bid'],
'bid': {'currency': 'KRW', 'price_unit': None, 'min_total': '5000.0'},
'ask': {'currency': 'ETH', 'price_unit': None, 'min_total': '5000.0'},
'max_total': '1000000000.0', 'state': 'active'},
'bid_account': {'currency': 'KRW', 'balance': '3663420090.10176943', 'locked': '5522759.99997443', 'avg_buy_price': '0', 'avg_buy_price_modified': True, 'unit_currency': 'KRW'},
'ask_account': {'currency': 'ETH', 'balance': '700.01580851', 'locked': '0.0', 'avg_buy_price': '4058600.2469', 'avg_buy_price_modified': False, 'unit_currency': 'KRW'}}
## 반환값 중에 bid.min_total, ask.min_total 이 주문시 매수시, 매도시 이 금액(원화 단위)이상으로만 주문 가능하다는 의미.
요청시 반환되는 데이터 형식 예.
{
"bid_fee": "0.0015",
"ask_fee": "0.0015",
"market": {
"id": "KRW-BTC",
"name": "BTC/KRW",
"order_types": [
"limit"
],
"order_sides": [
"ask",
"bid"
],
"bid": {
"currency": "KRW",
"price_unit": null,
"min_total": 1000
},
"ask": {
"currency": "BTC",
"price_unit": null,
"min_total": 1000
},
"max_total": "100000000.0",
"state": "active",
},
"bid_account": {
"currency": "KRW",
"balance": "0.0",
"locked": "0.0",
"avg_buy_price": "0",
"avg_buy_price_modified": false,
"unit_currency": "KRW",
},
"ask_account": {
"currency": "BTC",
"balance": "10.0",
"locked": "0.0",
"avg_buy_price": "8042000",
"avg_buy_price_modified": false,
"unit_currency": "KRW",
}
}
업비트 제공 api 문서 의 주문가능정보
첫 등록 : 2021.09.27
최종 수정 :
단축 주소 : https://igotit.tistory.com/2925
'트레이딩 > 암호화폐' 카테고리의 다른 글
OpenSea . NFT 거래시장 . 개요 . 가입방법 (0) | 2021.11.04 |
---|---|
메타마스크 . 블록체인 앱 접속 가능 이더리움 웹 지갑. 개요. 설치 (0) | 2021.11.04 |
upbit. api. 가격. 호가틱. 최소주문금액. 주문수량 규격 소수점 자리수 (0) | 2021.09.27 |
bybit. API. 인버스 선물 (Inverse Future) 종목 코드 규칙 (0) | 2021.09.05 |
bybit. API. 서버 주소 정리. 파이썬에서 파일 읽기 처리. (0) | 2021.08.31 |
댓글