[업비트 OpenAPI] 기본 개발 가이드 정리 및 샘플 코드 (in Python)




업비트에서 제공하는 OpenAPI 개발 가이드의 내용 및 테스트한 샘플 코드를 정리합니다.


개발 가이드

ㅇ 업비트 OpenAPI : https://www.upbit.com/service_center/open_api_guide

‘Open API 사용하기’와 ‘업비트 개발자 센터’ 링크로 구성되어 있습니다.

  • Open API 사용하기 : Open API 사용을 위한 API Auth Key를 생성하고 사용 권한을 관리
  • 업비트 개발자 센터 : Open API 개발 가이드 문서

Open API Key 생성

‘Open API 관리’ 메뉴에서 API 인증 및 접근에 사용되는 Key를 생성 합니다.

  • 사용할 기능을 체크하여 사용할 권한을 설정합니다.
  • OpenAPI를 접근 및 사용할 IP 주소를 입력합니다. (공인 IP 입력)

카카도페이 인증을 진행 합니다.

인증을 완료 하면 Access_key와 Secret_key를 확인할 수 있습니다.

생성된 API Key(Access_key, Secret_key)는 API 사용에 대한 인증 역할을 하기 때문에 노출되서는 안되며 API를 Call 할 경우 파라미터로 입력하여 전달되는 값입니다.


Open API 서비스 정책

Open API 개발 문서에는 API 서비스 정책, 개발 가이드 및 샘플 코드 등이 정리되어 있습니다.

https://docs.upbit.com/docs/create-authorization-request

Open API 주요 서비스 정책은 아래와 같습니다.

[구분][내용]
REST API 요청 포맷 JSON 형식 파라미터 전송
JWT 인증 토큰 발급받은 access key와 secret key로 토큰을 생성
요청 수 제한EXCHANGE API
[주문 요청]
초당 8회, 분당 200회
[주문 요청 외 API]
초당 30회, 분당 900회

QUOTATION API
Websocket 연결 요청 수 제한
초당 5회, 분당 100회
REST API 요청 수 제한
분당 600회, 초당 10회 (종목, 캔들, 체결, 티커, 호가별)
에러 코드주요 에러 코드
시세정보 제공방법1) REST API 방식
2) Web Socket 방식

업비트 Open API 개발 가이드

업비트에서는 Open API 개발을 위한 Reference를 제공하고 있습니다.

https://docs.upbit.com/reference/%EC%A0%84%EC%B2%B4-%EA%B3%84%EC%A2%8C-%EC%A1%B0%ED%9A%8C

업비트 API는 ‘Exchange API’와 ‘Quotation API’ 2가지로 구분하여 서비스를 제공하고 있습니다.

  • Exchange API : 자산, 주문, 출금, 입금, 서비스 정도 등 기본 정보 제공 및 거래 관련 API 제공
  • Quotation API : 시세관련 종목, 캔들, 체결, Ticker, 호가 정보 등을 제공

언어별로 Open API 호출 테스트 코드를 같이 제공하고 있어서 개발함에 어려움은 없을 것으로 생각됩니다.


업비트 API 샘플 코드

코드 구조

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

import requests
from pprint import pprint
import json

# 클래스
class UpbitAPI:
    def __init__(self):
        self.access_key = '[access_key]'
        self.secret_key = '[secret_key]'
        self.server_url = 'https://api.upbit.com'
    
    # 클래스 함수
    def [함수명](self):
        ...
        [Open API 코드]
        ...

# 실행 코드
api_con = UpbitAPI()
pprint(api_con.GetAccounts())
  • access_key : 업비트에서 발급받은 API key
  • secret_key : 업비트에서 발급받은 API key

기본 코드는 Class로 작성되었고 API 별 테스트 코드는 함수 부분만 작성하여 추가하고 API를 Call 하면 되겠습니다.

샘플 코드

아래 링크에 API 구분별 테스트한 내용 및 함수 작성 하였습니다.

[구분][샘플 코드]
Exchange API [업비트 OpenAPI] Open API 샘플 코드 (in Python) – Exchange API
Quotation API [업비트 OpenAPI] Open API 샘플 코드 (in Python) – Quotation API



Leave a Comment