본문 바로가기
Python/Python 개념

UPbit API 이용해서 Python 연결해서 현재 계좌 조회하기

by hyun-am 2021. 4. 20.

Upbit Open API 이용하기

 

먼저 Upbit홈페이지에 들어간 후 고객센터에 들어가서 Open Api 안내에 들어가서 Open API사용하기를 들어가서 API Key를 받아오겠습니다.

그러면 다음과 같은 창이 나오는데 여기서 key를 발급 받겠습니다.

* 이 때 발급 받은 Secret key는 처음 발급받을 때만 볼 수 있으므로 잘 관리하셔야 합니다.

 

Python에 Upbit API 인증 가능한 요청 만들기

 

먼저 개발하기위한 자세한 설명은 아래 사이트에서 참고하였습니다.

링크 : docs.upbit.com/

 

업비트 개발자 센터

업비트 Open API 사용을 위한 개발 문서를 제공 합니다.업비트 Open API 사용하여 다양한 앱과 프로그램을 제작해보세요.

docs.upbit.com

요청할 때 토큰은 JWT 토큰을 사용하므로 PyJWT를 설치해주겠습니다. 

다음은 jwt토큰을 발급 받기 위한 코드입니다.

# Python 3

import jwt   # PyJWT 
import uuid

payload = {
    'access_key': '발급받은 Access Key',
    'nonce': str(uuid.uuid4()),
}

jwt_token = jwt.encode(payload, '발급받은 Secret Key')
authorization_token = 'Bearer {}'.format(jwt_token)

 

이렇게 해서 authorization_token을 출력하면 다음과 같이 잘 출력되는 것을 확인할 수 있습니다.

이렇게 만든 인증 토큰은 현재 자신이 보유한 코인, 보유자산, 주문하기, 주문 취소, 주문리스트 조회등 다양한 기능을 활용할 수 있는 API를 사용하기 위한 토큰입니다.

 

먼저 테스트를 위해 현재 자산이 어느정도 있는지 출력하는 코드를 만들어 보겠습니다.

전체 계좌 조회

먼저 주소를 호출하기 위한 requests 라이브러리를 설치하겠습니다.

 

예제 코드 

import os
import jwt
import uuid
import hashlib
from urllib.parse import urlencode
import requests

access_key = f"액세스키"
secret_key = f"시크릿키"
server_url = f"https://api.upbit.com"

payload = {
    'access_key': access_key,
    'nonce': str(uuid.uuid4()),
}

jwt_token = jwt.encode(payload, secret_key)
authorize_token = 'Bearer {}'.format(jwt_token)
# print(authorize_token)
headers = {"Authorization": authorize_token}

res = requests.get(server_url + "/v1/accounts", headers=headers)

currency_data = dict(res.json()[0])

print("보유 자본")
print(f"{currency_data['currency']}: {currency_data['balance']}")

 

테스트를 위해 업비트에 50만원을 입금했습니다..

출력한 값은 다음과 같습니다.

이렇게 50만원이 잘 찍혀있는것을 확인할 수 있습니다.

 

 

 

댓글