Skip to content

Commit 2ef7825

Browse files
committed
feat: 업비트 계정주 확인 API 추가(v1.4.5)에 맞춰 관련 메서드 추가
1 parent de939d8 commit 2ef7825

File tree

2 files changed

+121
-0
lines changed

2 files changed

+121
-0
lines changed

README.md

+3
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,9 @@ data = res.json()
8383
| | 전체 입금 주소 조회 | get_coin_addresses |
8484
| | 개별 입금 주소 조회 | get_coin_address |
8585
| | 원화 입금하기 | create_deposit_krw |
86+
| | 계정주 확인(트래블룰 검증)가능 거래소 리스트 조회 | get_vasps |
87+
| | 입금 UUID로 트래블룰 검증하기 | verify_travel_rule_by_uuid |
88+
| | 입금 TxID로 트래블룰 검증하기 | verify_travel_rule_by_txid |
8689
| 서비스 정보 | 입출금 현황 | get_wallet_status |
8790
| | API 키 리스트 조회 | get_api_keys |
8891
| 시세 종목 조회 | 마켓 코드 조회 | get_markets |

upbit/upbit.py

+118
Original file line numberDiff line numberDiff line change
@@ -1215,6 +1215,124 @@ def create_deposit_krw(self,
12151215

12161216
return self._request('post', url, headers=headers, json=params, **kwargs)
12171217

1218+
def get_vasps(self, **kwargs) -> Response:
1219+
"""계정주 확인(트래블룰 검증)가능 거래소 리스트 조회
1220+
1221+
API 요청 및 응답에 대한 자세한 정보는 공식 문서 참고:
1222+
`Upbit API Doc <https://docs.upbit.com/reference/%ED%8A%B8%EB%9E%98%EB%B8%94%EB%A3%B0-%EA%B0%80%EB%8A%A5-%EA%B1%B0%EB%9E%98%EC%86%8C>`_
1223+
1224+
:param kwargs: `requests.Session.request` 호출에 사용할 파라미터
1225+
1226+
:raises upbit.exceptions.ApiKeyError: 인증 정보 없이 호출시 발생.
1227+
1228+
:return: API 서버 응답
1229+
1230+
Usage::
1231+
1232+
access_key = os.environ.get('UPBIT_OPEN_API_ACCESS_KEY')
1233+
secret_key = os.environ.get('UPBIT_OPEN_API_SECRET_KEY')
1234+
upbit = Upbit(access_key, secret_key)
1235+
res = upbit.get_vasps()
1236+
print(res.json())
1237+
1238+
[{
1239+
"vasp_name": "업비트 인도네시아",
1240+
"vasp_uuid": "00000000-0000-0000-0000-000000000000",
1241+
"depositable": True,
1242+
"withdrawable": True
1243+
}, ...]
1244+
"""
1245+
url = self._endpoint + "/travel_rule/vasps"
1246+
headers = self._get_request_headers(headers=kwargs.pop('headers', None))
1247+
1248+
return self._request('get', url, headers=headers, **kwargs)
1249+
1250+
def verify_travel_rule_by_uuid(self, *,
1251+
vasp_uuid: str,
1252+
deposit_uuid: str,
1253+
**kwargs) -> Response:
1254+
"""입금 UUID로 트래블룰 검증하기
1255+
1256+
API 요청 및 응답에 대한 자세한 정보는 공식 문서 참고:
1257+
`Upbit API Doc <https://docs.upbit.com/reference/%ED%8A%B8%EB%9E%98%EB%B8%94%EB%A3%B0-uuid>`_
1258+
1259+
:param vasp_uuid: 상대 거래소 UUID
1260+
:param deposit_uuid: 입금 UUID
1261+
:param kwargs: `requests.Session.request` 호출에 사용할 파라미터
1262+
1263+
:raises upbit.exceptions.ApiKeyError: 인증 정보 없이 호출시 발생.
1264+
1265+
:return: API 서버 응답
1266+
1267+
Usage::
1268+
1269+
access_key = os.environ.get('UPBIT_OPEN_API_ACCESS_KEY')
1270+
secret_key = os.environ.get('UPBIT_OPEN_API_SECRET_KEY')
1271+
upbit = Upbit(access_key, secret_key)
1272+
res = upbit.verify_travel_rule_by_uuid(deposit_uuid='xxx', vasp_uuid='xxx')
1273+
print(res.json())
1274+
1275+
{
1276+
"deposit_uuid": "00000000-0000-0000-0000-000000000000",
1277+
"verification_result": "verified",
1278+
"deposit_state": "PROCESSING"
1279+
}
1280+
"""
1281+
url = self._endpoint + "/travel_rule/deposit/uuid"
1282+
params = {
1283+
"vasp_uuid": vasp_uuid,
1284+
"deposit_uuid": deposit_uuid,
1285+
}
1286+
headers = self._get_request_headers(params, headers=kwargs.pop('headers', None))
1287+
1288+
return self._request('post', url, headers=headers, json=params, **kwargs)
1289+
1290+
def verify_travel_rule_by_txid(self, *,
1291+
vasp_uuid: str,
1292+
txid: str,
1293+
currency: str,
1294+
net_type: str,
1295+
**kwargs) -> Response:
1296+
"""입금 TxID로 트래블룰 검증하기
1297+
1298+
API 요청 및 응답에 대한 자세한 정보는 공식 문서 참고:
1299+
`Upbit API Doc <https://docs.upbit.com/reference/%ED%8A%B8%EB%9E%98%EB%B8%94%EB%A3%B0-txid>`_
1300+
1301+
:param vasp_uuid: 상대 거래소 UUID
1302+
:param txid: 입금 TxID
1303+
:param currency: 입금 화폐
1304+
:param net_type: 입금 네트워크 타입
1305+
:param kwargs: `requests.Session.request` 호출에 사용할 파라미터
1306+
1307+
:raises upbit.exceptions.ApiKeyError: 인증 정보 없이 호출시 발생.
1308+
1309+
:return: API 서버 응답
1310+
1311+
Usage::
1312+
1313+
access_key = os.environ.get('UPBIT_OPEN_API_ACCESS_KEY')
1314+
secret_key = os.environ.get('UPBIT_OPEN_API_SECRET_KEY')
1315+
upbit = Upbit(access_key, secret_key)
1316+
res = upbit.verify_travel_rule_by_txid(deposit_uuid='xxx', vasp_uuid='xxx')
1317+
print(res.json())
1318+
1319+
{
1320+
"deposit_uuid": "00000000-0000-0000-0000-000000000000",
1321+
"verification_result": "verified",
1322+
"deposit_state": "PROCESSING"
1323+
}
1324+
"""
1325+
url = self._endpoint + "/travel_rule/deposit/txid"
1326+
params = {
1327+
"vasp_uuid": vasp_uuid,
1328+
"txid": txid,
1329+
"currency": currency,
1330+
"net_type": net_type,
1331+
}
1332+
headers = self._get_request_headers(params, headers=kwargs.pop('headers', None))
1333+
1334+
return self._request('post', url, headers=headers, json=params, **kwargs)
1335+
12181336
# --------------------------------------------------------------------------
12191337
# Exchange API > 서비스 정보
12201338
# --------------------------------------------------------------------------

0 commit comments

Comments
 (0)