diff --git a/client/python/setup.py b/client/python/setup.py index f104c97..abc4eb0 100644 --- a/client/python/setup.py +++ b/client/python/setup.py @@ -14,9 +14,9 @@ version = pkginfo.CURRENT_VERSION, packages = find_packages(), install_requires = [ - 'bravado>=11.0.2', - 'PyJWT>=2.4.0', - 'websockets>=10.3' + 'bravado>=11.0.2' + , 'PyJWT>=2.4.0' + , 'websockets>=10.3' ], extras_require = { 'fido': [ @@ -25,20 +25,22 @@ }, python_requires = '>=3.8', classifiers = [ - 'Programming Language :: Python :: 3.8', - 'Programming Language :: Python :: 3.9', - 'Programming Language :: Python :: 3.10', + 'Programming Language :: Python :: 3.8' + , 'Programming Language :: Python :: 3.9' + , 'Programming Language :: Python :: 3.10' + , 'Programming Language :: Python :: 3.11' + , 'Programming Language :: Python :: 3.12' ], keywords = [ - 'Upbit', - 'upbit', - 'upbit-client', - 'Upbit-Client', - 'Upbit_client', - 'Upbit-api-connector', - 'upbit-api-connector', - 'Upbit_api_connector', - 'upbit_api_connector' + 'Upbit' + , 'upbit' + , 'upbit-client' + , 'Upbit-Client' + , 'Upbit_client' + , 'Upbit-api-connector' + , 'upbit-api-connector' + , 'Upbit_api_connector' + , 'upbit_api_connector' ], url = 'https://github.com/uJhin/upbit-client', download_url = 'https://github.com/uJhin/upbit-client/releases', diff --git a/client/python/upbit/__init__.py b/client/python/upbit/__init__.py index 88e1fae..9dd4656 100644 --- a/client/python/upbit/__init__.py +++ b/client/python/upbit/__init__.py @@ -4,7 +4,7 @@ Please read the official Upbit Client document. Documents: https://ujhin.github.io/upbit-client-docs/ -- Upbit OPEN API Version: 1.3.2 +- Upbit OPEN API Version: 1.3.4 - Author: ujhin - Email: ujhin942@gmail.com - GitHub: https://github.com/uJhin diff --git a/client/python/upbit/client.py b/client/python/upbit/client.py index 811b3f1..bcec0fc 100644 --- a/client/python/upbit/client.py +++ b/client/python/upbit/client.py @@ -10,7 +10,7 @@ class Upbit: - Base URL: https://api.upbit.com - Base Path: /v1 - - Upbit OPEN API Version: 1.3.2 + - Upbit OPEN API Version: 1.3.4 - Author: ujhin - Email: ujhin942@gmail.com - GitHub: https://github.com/uJhin diff --git a/client/python/upbit/models.py b/client/python/upbit/models.py index 83bfa72..b3b7f16 100644 --- a/client/python/upbit/models.py +++ b/client/python/upbit/models.py @@ -231,10 +231,15 @@ def Deposit_coin_address(self, **kwargs) -> dict: [NOTE] 입금 주소 조회 요청 API 유의사항 - 입금 주소 생성 요청 이후 아직 발급되지 않은 상태일 경우 deposit_address가 null일 수 있습니다. + 입금 주소 생성 요청 이후 아직 발급되지 않은 상태일 경우 `deposit_address` 가 `null` 일 수 있습니다. + * 네트워크가 일치하지 않는 경우 정상 입출금이 진행되지 않을 수 있습니다. + 사용하는 주소와 네트워크가 정확히 일치하는지 재확인 후 이용을 부탁드립니다. - :param currency: Currency symbol + :param currency: Currency 코드 :type currency: str + + :param net_type: 입금 네트워크 + :type net_type: str """ future = self.__client.Deposit.Deposit_coin_address(**kwargs) @@ -247,7 +252,7 @@ def Deposit_coin_addresses(self) -> dict: ## 내가 보유한 자산 리스트를 보여줍니다. [NOTE] 입금 주소 조회 요청 API 유의사항 - 입금 주소 생성 요청 이후 아직 발급되지 않은 상태일 경우 deposit_address가 null일 수 있습니다. + 입금 주소 생성 요청 이후 아직 발급되지 않은 상태일 경우 `deposit_address` 가 `null` 일 수 있습니다. """ future = self.__client.Deposit.Deposit_coin_addresses() @@ -263,13 +268,15 @@ def Deposit_generate_coin_address(self, **kwargs) -> dict: 입금 주소의 생성은 서버에서 비동기적으로 이뤄집니다. 비동기적 생성 특성상 요청과 동시에 입금 주소가 발급되지 않을 수 있습니다. - 주소 발급 요청 시 결과로 Response1이 반환되며 주소 발급 완료 이전까지 계속 Response1이 반환됩니다. - 주소가 발급된 이후부터는 새로운 주소가 발급되는 것이 아닌 이전에 발급된 주소가 Response2 형태로 반환됩니다. + 주소 발급 요청 시 결과로 `Response1` 이 반환되며 주소 발급 완료 이전까지 계속 `Response1` 이 반환됩니다. + 주소가 발급된 이후부터는 새로운 주소가 발급되는 것이 아닌 이전에 발급된 주소가 `Response2` 형태로 반환됩니다. 정상적으로 주소가 생성되지 않는다면 일정 시간 이후 해당 API를 다시 호출해주시길 부탁드립니다. - :param currency: Currency 코드 :type currency: str + + :param net_type: 입금 네트워크 + :type net_type: str """ future = self.__client.Deposit.Deposit_generate_coin_address(**kwargs) @@ -592,8 +599,11 @@ def Withdraw_chance(self, **kwargs) -> dict: ## 해당 통화의 가능한 출금 정보를 확인한다. - :param currency: Currency Symbol + :param currency: 자산 코드 :type currency: str + + :param net_type: 출금 네트워크 + :type net_type: str """ future = self.__client.Withdraw.Withdraw_chance(**kwargs) @@ -609,10 +619,15 @@ def Withdraw_coin(self, **kwargs) -> dict: 업비트 회원의 주소가 아닌 주소로 바로출금을 요청하는 경우, 출금이 정상적으로 수행되지 않습니다. 반드시 주소를 확인 후 출금을 진행하시기 바랍니다. + * 네트워크가 일치하지 않는 경우 정상 입출금이 진행되지 않을 수 있습니다. + 사용하는 주소와 네트워크가 정확히 일치하는지 재확인 후 이용을 부탁드립니다. - :param currency: Currency 코드 + :param currency: 자산 코드 :type currency: str + :param net_type: 출금 네트워크 + :type net_type: str + :param amount: 출금 수량 :type amount: str @@ -703,3 +718,23 @@ def Withdraw_krw(self, **kwargs) -> dict: future = self.__client.Withdraw.Withdraw_krw(**kwargs) return HTTPFutureExtractor.future_extraction(future) + + def Withdraw_coin_addresses(self, **kwargs) -> dict: + """ + [GET] 출금 허용 주소 리스트 조회 + + ## 등록된 출금 허용 주소 목록을 조회한다. + + [NOTE] 출금 기능을 이용하기 위해서는 주소 등록이 필요합니다. + + Open API를 통해 디지털 자산을 출금하기 위해서는 출금 허용 주소 등록이 필요합니다. + * 네트워크가 일치하지 않는 경우 정상 입출금이 진행되지 않을 수 있습니다. + 사용하는 주소와 네트워크가 정확히 일치하는지 재확인 후 이용을 부탁드립니다. + + ### 출금 허용 주소 등록 방법 + 업비트 웹 > [MY] > [Open API 관리] > [디지털 자산 출금주소 관리] 페이지에서 진행하실 수 있습니다. + """ + + future = self.__client.Withdraw.Withdraw_coin_addresses(**kwargs) + return HTTPFutureExtractor.future_extraction(future) + diff --git a/client/python/upbit/pkginfo.py b/client/python/upbit/pkginfo.py index 1402ddc..1dd4c8b 100644 --- a/client/python/upbit/pkginfo.py +++ b/client/python/upbit/pkginfo.py @@ -4,7 +4,7 @@ Please read the official Upbit Client document. Documents: https://ujhin.github.io/upbit-client-docs/ -- Upbit OPEN API Version: 1.3.2 +- Upbit OPEN API Version: 1.3.4 - Author: ujhin - Email: ujhin942@gmail.com - GitHub: https://github.com/uJhin @@ -28,7 +28,7 @@ def _get_versions(package_name): PACKAGE_NAME = "upbit-client" -OPEN_API_VERSION = "1.3.2" +OPEN_API_VERSION = "1.3.4" CURRENT_VERSION = OPEN_API_VERSION+".0" RELEASED_VERSION = _get_versions(PACKAGE_NAME) diff --git a/mapper/swg_mapper.json b/mapper/swg_mapper.json index 0418769..58ba8fa 100644 --- a/mapper/swg_mapper.json +++ b/mapper/swg_mapper.json @@ -2,7 +2,7 @@ "swagger": "2.0", "info": { "description": "## REST API for Upbit Exchange\n- Base URL: [https://api.upbit.com]\n- Official Upbit API Documents: [https://docs.upbit.com]\n- Official Support email: [open-api@upbit.com]\n", - "version": "1.3.2", + "version": "1.3.4", "title": "Upbit Open API", "contact": { "url": "https://github.com/uJhin", @@ -696,7 +696,14 @@ { "name": "currency", "in": "query", - "description": "Currency Symbol\n", + "description": "자산 코드\n", + "required": true, + "type": "string" + }, + { + "name": "net_type", + "in": "query", + "description": "출금 네트워크\n", "required": true, "type": "string" } @@ -744,6 +751,13 @@ "required": true, "type": "string" }, + { + "name": "net_type", + "in": "formData", + "description": "출금 네트워크\n", + "required": true, + "type": "string" + }, { "name": "amount", "in": "formData", @@ -761,7 +775,7 @@ { "name": "secondary_address", "in": "formData", - "description": "2차 출금 주소 (필요한 코인에 한해서)\n", + "description": "2차 출금 주소 (필요한 디지털 자산에 한해서)\n", "required": false, "type": "string" }, @@ -838,6 +852,39 @@ ] } }, + "/withdraws/coin_addresses": { + "get": { + "tags": [ + "Withdraw" + ], + "summary": "출금 허용 주소 리스트 조회", + "description": "## 등록된 출금 허용 주소 목록을 조회한다.\n", + "operationId": "Withdraw.coin_addresses", + "produces": [ + "application/json" + ], + "parameters": [], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/WithdrawCoinAddresses" + } + }, + "default": { + "description": "HTTP Error", + "schema": { + "$ref": "#/definitions/Error" + } + } + }, + "security": [ + { + "Bearer": [] + } + ] + } + }, "/deposits": { "get": { "tags": [ @@ -1008,6 +1055,13 @@ "description": "Currency 코드\n", "required": true, "type": "string" + }, + { + "name": "net_type", + "in": "formData", + "description": "입금 네트워크\n", + "required": true, + "type": "string" } ], "responses": { @@ -1052,7 +1106,12 @@ "responses": { "200": { "description": "OK", - "schema": {} + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/DepositCompleteResponse" + } + } }, "default": { "description": "HTTP Error", @@ -1083,7 +1142,14 @@ { "name": "currency", "in": "query", - "description": "Currency symbol\n", + "description": "자산 코드\n", + "required": true, + "type": "string" + }, + { + "name": "net_type", + "in": "query", + "description": "입금 네트워크\n", "required": true, "type": "string" } @@ -1133,7 +1199,12 @@ "responses": { "200": { "description": "OK", - "schema": {} + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/MarketInfo" + } + } }, "default": { "description": "HTTP Error", @@ -1194,7 +1265,12 @@ "responses": { "200": { "description": "OK", - "schema": {} + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/CandleMinutes" + } + } }, "default": { "description": "HTTP Error", @@ -1256,7 +1332,12 @@ "responses": { "200": { "description": "OK", - "schema": {} + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/CandleDays" + } + } }, "default": { "description": "HTTP Error", @@ -1310,7 +1391,12 @@ "responses": { "200": { "description": "OK", - "schema": {} + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/CandleDate" + } + } }, "default": { "description": "HTTP Error", @@ -1364,7 +1450,12 @@ "responses": { "200": { "description": "OK", - "schema": {} + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/CandleDate" + } + } }, "default": { "description": "HTTP Error", @@ -1433,7 +1524,12 @@ "responses": { "200": { "description": "OK", - "schema": {} + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/TradeTicks" + } + } }, "default": { "description": "HTTP Error", @@ -1472,7 +1568,12 @@ "responses": { "200": { "description": "OK", - "schema": {} + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/Ticker" + } + } }, "default": { "description": "HTTP Error", @@ -1588,6 +1689,11 @@ "example": "BTC", "description": "화폐를 의미하는 영문 대문자 코드" }, + "net_type": { + "type": "string", + "example": "BTC", + "description": "입출금 네트워크" + }, "wallet_state": { "type": "string", "example": "working", @@ -2177,6 +2283,11 @@ "example": "XRP", "description": "화폐를 의미하는 영문 대문자 코드" }, + "net_type": { + "type": "string", + "example": "BTC", + "description": "출금 네트워크" + }, "txid": { "type": "string", "example": "98c15999f0bdc4ae0e8a-ed35868bb0c204fe6ec29e4058a3451e-88636d1040f4baddf943274ce37cf9cc", @@ -2232,6 +2343,11 @@ "example": "XRP", "description": "화폐를 의미하는 영문 대문자 코드" }, + "net_type": { + "type": "string", + "example": "BTC", + "description": "출금 네트워크" + }, "txid": { "type": "string", "example": "98c15999f0bdc4ae0e8a-ed35868bb0c204fe6ec29e4058a3451e-88636d1040f4baddf943274ce37cf9cc", @@ -2420,6 +2536,30 @@ }, "description": "출금 제약 정보" }, + "WithdrawCoinAddresses": { + "type": "object", + "properties": { + "currency": { + "type": "string", + "example": "BTC", + "description": "화폐를 의미하는 영문 대문자 코드" + }, + "net_type": { + "type": "string", + "example": "BTC", + "description": "출금 네트워크" + }, + "withdraw_address": { + "type": "string", + "example": "3EusRwybuZUhVDeHL7gh3HSLmbhLcy7NqD", + "description": "출금 주소" + }, + "secondary_address": { + "type": "string", + "description": "2차 출금 주소 (필요한 디지털 자산에 한에서)" + } + } + }, "Deposit": { "type": "object", "properties": { @@ -2438,6 +2578,11 @@ "example": "KRW", "description": "화폐를 의미하는 영문 대문자 코드" }, + "net_type": { + "type": "string", + "example": "BTC", + "description": "입금 네트워크" + }, "txid": { "type": "string", "example": "9e37c537-6849-4c8b-a134-57313f5dfc5a", @@ -2498,6 +2643,11 @@ "example": "BTC", "description": "화폐를 의미하는 영문 대문자 코드" }, + "net_type": { + "type": "string", + "example": "BTC", + "description": "입금 네트워크" + }, "deposit_address": { "type": "string", "example": "3EusRwybuZUhVDeHL7gh3HSLmbhLcy7NqD", @@ -2963,4 +3113,4 @@ } } } -} +} \ No newline at end of file