[개발이야기] 업비트 API
업비트에서 API를 오픈한다는 이야기를 듣고 신청을 하려고 하니 카카오페이를 먼저 신청해야 한다고 한다. 카카오페이를 신청을 하니 현재 휴대폰 번호로 등록된 기존 서비스가 나의 개인정보와 다르다고 한다. 그래서 실사용자 증명을 하라고 한다.
결과적으로 실사용자 증명을 하는데, 1달이 걸렸다. 카카오는 전화를 직접 받지 않고 고객센터에 이메일을 보내는 구조이어서 부족한 질문 혹은 답신을 받은 후 다시 질문하고 답을 받는데 1주일이 걸렸다. 요즘 같은 시기에 IT 기업의 대명사인 카카오의 대응방법으로는 적절하지 않은 것 같다.
지난 수요일에 드디어 카카오페이 신청이 완료되었다. 오랜만에 업비트에 들어가서 API를 위한 KEY를 생성하였다. 그리고 관련 API 문서를 확인해 보았다.
https://docs.upbit.com/v1.0/reference
문서를 봐서는 잘 이해가 되지 않아서 github에 들어가서 파이썬 예제를 찾아보았다. 역시나.. 몇 건이 있었다. 이 중 아래 src를 이용하였다.
https://github.com/inasie/upbitpy
BTC, EOS 현재가 알아오기 코드
from upbitpy import Upbitpy
upbit = Upbitpy()
tickers = upbit.get_ticker(['KRW-BTC', 'KRW-EOS'])
for ticker in tickers:
print('%s trade price : %d' % (ticker['market'], ticker['trade_price']))
EOS orderbook 내역 읽어오기
from upbitpy import Upbitpy
upbit = Upbitpy()
orderBook = upbit.get_orderbook(['KRW-EOS'])
units = orderBook[0]['orderbook_units']
orderBookLen = len(units)
# 팔자 주문 list 출력 (높은 가격이 위로 오도록)
for i in range(orderBookLen) :
print(units[orderBookLen-i-1]['ask_price'], units[orderBookLen-i-1]['ask_size'])
print("====")
# 사자 주문 list 출력
i=0
for i in range(orderBookLen) :
print(units[i]['bid_price'], units[i]['bid_size'])
get_orderbook의 결과는 아래와 같이 ask(팔자), bid(사자) 가격이 묶여서 돌아온다. ask(팔자)는 오름차순으로 저장되어 있으므로, 내림차순으로 출력하도록 코딩하였다.
"orderbook_units": [
{
"ask_price": 6956000,
"bid_price": 6954000,
"ask_size": 0.24078656,
"bid_size": 0.00718341
},
{
"ask_price": 6958000,
"bid_price": 6953000,
"ask_size": 1.12919,
"bid_size": 0.11500074
},
그 결과는 아래와 같다.
이제 아래 거래소에 대한 API 매매가 가능하다.
- upbit
- coinex
- gopax
- bigone
여러 거래소에 있는 코인들의 현재가를 한눈에 볼 수 있는 프로그램을 만들어서 재정거래 가능 여부에 대하여 검토해볼 예정이다.
개발은 진짜 볼때마다 다른 세상 외국어 같네요....
앞으로 개발일기 기대해보겠습니다 ㅎㅎ
업비트는 비공식적으로 api가 있었는데 이젠 공식 오픈했나보네요
능력자시네요. 엑셀로도 API로 가격을 실시간으로 받아서 가공하는 작업이 가능할까요?
👍👍👍👍👍👍👍
어플 시대가 오면서 창구를 이메일로만 두다보니 문의 응답률은 더 떨어진거 같더군요.
그래도 전화응대는 해야할 듯 합니다. 너무 느려요..
업비트도 결국에 API 오픈했나보네요..
요청한 사람들이 많았나 봅니다.