|
|
- # coding: utf-8
-
- """
- Gate API v4
-
- Welcome to Gate.io API APIv4 provides spot, margin and futures trading operations. There are public APIs to retrieve the real-time market statistics, and private APIs which needs authentication to trade on user's behalf. # noqa: E501
-
- Contact: support@mail.gate.io
- Generated by: https://openapi-generator.tech
- """
-
-
- from __future__ import absolute_import
-
- import re # noqa: F401
-
- # python 2 and python 3 compatibility library
- import six
-
- from gate_api.api_client import ApiClient
- from gate_api.exceptions import ApiTypeError, ApiValueError # noqa: F401
-
-
- class SpotApi(object):
- """NOTE: This class is auto generated by OpenAPI Generator
- Ref: https://openapi-generator.tech
-
- Do not edit the class manually.
- """
-
- def __init__(self, api_client=None):
- if api_client is None:
- api_client = ApiClient()
- self.api_client = api_client
-
- def list_currencies(self, **kwargs): # noqa: E501
- """List all currencies' details # noqa: E501
-
- Currency has two forms: 1. Only currency name, e.g., BTC, USDT 2. `<currency>_<chain>`, e.g., `HT_ETH` The latter one occurs when one currency has multiple chains. Currency detail contains a `chain` field whatever the form is. To retrieve all chains of one currency, you can use use all the details which has the name of the currency or name starting with `<currency>_`. # noqa: E501
- This method makes a synchronous HTTP request by default. To make an
- asynchronous HTTP request, please pass async_req=True
- >>> thread = api.list_currencies(async_req=True)
- >>> result = thread.get()
-
- :param bool async_req: execute request asynchronously
- :param _preload_content: if False, the urllib3.HTTPResponse object will
- be returned without reading/decoding response
- data. Default is True.
- :param _request_timeout: timeout setting for this request. If one
- number provided, it will be total request
- timeout. It can also be a pair (tuple) of
- (connection, read) timeouts.
- :rtype: list[gate_api.Currency]
- :return: If the method is called asynchronously,
- returns the request thread.
- """
- kwargs['_return_http_data_only'] = True
- return self.list_currencies_with_http_info(**kwargs) # noqa: E501
-
- def list_currencies_with_http_info(self, **kwargs): # noqa: E501
- """List all currencies' details # noqa: E501
-
- Currency has two forms: 1. Only currency name, e.g., BTC, USDT 2. `<currency>_<chain>`, e.g., `HT_ETH` The latter one occurs when one currency has multiple chains. Currency detail contains a `chain` field whatever the form is. To retrieve all chains of one currency, you can use use all the details which has the name of the currency or name starting with `<currency>_`. # noqa: E501
- This method makes a synchronous HTTP request by default. To make an
- asynchronous HTTP request, please pass async_req=True
- >>> thread = api.list_currencies_with_http_info(async_req=True)
- >>> result = thread.get()
-
- :param bool async_req: execute request asynchronously
- :param _return_http_data_only: response data without head status code
- and headers
- :param _preload_content: if False, the urllib3.HTTPResponse object will
- be returned without reading/decoding response
- data. Default is True.
- :param _request_timeout: timeout setting for this request. If one
- number provided, it will be total request
- timeout. It can also be a pair (tuple) of
- (connection, read) timeouts.
- :rtype: tuple(list[gate_api.Currency], status_code(int), headers(HTTPHeaderDict))
- :return: If the method is called asynchronously,
- returns the request thread.
- """
-
- local_var_params = locals()
-
- all_params = []
- all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout'])
-
- for k, v in six.iteritems(local_var_params['kwargs']):
- if k not in all_params:
- raise ApiTypeError("Got an unexpected keyword argument '%s'" " to method list_currencies" % k)
- local_var_params[k] = v
- del local_var_params['kwargs']
-
- collection_formats = {}
-
- path_params = {}
-
- query_params = []
-
- header_params = {}
-
- form_params = []
- local_var_files = {}
-
- body_params = None
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501
-
- # Authentication setting
- auth_settings = [] # noqa: E501
-
- return self.api_client.call_api(
- '/spot/currencies',
- 'GET',
- path_params,
- query_params,
- header_params,
- body=body_params,
- post_params=form_params,
- files=local_var_files,
- response_type='list[Currency]', # noqa: E501
- auth_settings=auth_settings,
- async_req=local_var_params.get('async_req'),
- _return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
- _preload_content=local_var_params.get('_preload_content', True),
- _request_timeout=local_var_params.get('_request_timeout'),
- collection_formats=collection_formats,
- )
-
- def get_currency(self, currency, **kwargs): # noqa: E501
- """Get details of a specific currency # noqa: E501
-
- This method makes a synchronous HTTP request by default. To make an
- asynchronous HTTP request, please pass async_req=True
- >>> thread = api.get_currency(currency, async_req=True)
- >>> result = thread.get()
-
- :param bool async_req: execute request asynchronously
- :param str currency: Currency name (required)
- :param _preload_content: if False, the urllib3.HTTPResponse object will
- be returned without reading/decoding response
- data. Default is True.
- :param _request_timeout: timeout setting for this request. If one
- number provided, it will be total request
- timeout. It can also be a pair (tuple) of
- (connection, read) timeouts.
- :rtype: gate_api.Currency
- :return: If the method is called asynchronously,
- returns the request thread.
- """
- kwargs['_return_http_data_only'] = True
- return self.get_currency_with_http_info(currency, **kwargs) # noqa: E501
-
- def get_currency_with_http_info(self, currency, **kwargs): # noqa: E501
- """Get details of a specific currency # noqa: E501
-
- This method makes a synchronous HTTP request by default. To make an
- asynchronous HTTP request, please pass async_req=True
- >>> thread = api.get_currency_with_http_info(currency, async_req=True)
- >>> result = thread.get()
-
- :param bool async_req: execute request asynchronously
- :param str currency: Currency name (required)
- :param _return_http_data_only: response data without head status code
- and headers
- :param _preload_content: if False, the urllib3.HTTPResponse object will
- be returned without reading/decoding response
- data. Default is True.
- :param _request_timeout: timeout setting for this request. If one
- number provided, it will be total request
- timeout. It can also be a pair (tuple) of
- (connection, read) timeouts.
- :rtype: tuple(gate_api.Currency, status_code(int), headers(HTTPHeaderDict))
- :return: If the method is called asynchronously,
- returns the request thread.
- """
-
- local_var_params = locals()
-
- all_params = ['currency']
- all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout'])
-
- for k, v in six.iteritems(local_var_params['kwargs']):
- if k not in all_params:
- raise ApiTypeError("Got an unexpected keyword argument '%s'" " to method get_currency" % k)
- local_var_params[k] = v
- del local_var_params['kwargs']
- # verify the required parameter 'currency' is set
- if self.api_client.client_side_validation and (
- 'currency' not in local_var_params or local_var_params['currency'] is None # noqa: E501
- ): # noqa: E501
- raise ApiValueError("Missing the required parameter `currency` when calling `get_currency`") # noqa: E501
-
- collection_formats = {}
-
- path_params = {}
- if 'currency' in local_var_params:
- path_params['currency'] = local_var_params['currency'] # noqa: E501
-
- query_params = []
-
- header_params = {}
-
- form_params = []
- local_var_files = {}
-
- body_params = None
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501
-
- # Authentication setting
- auth_settings = [] # noqa: E501
-
- return self.api_client.call_api(
- '/spot/currencies/{currency}',
- 'GET',
- path_params,
- query_params,
- header_params,
- body=body_params,
- post_params=form_params,
- files=local_var_files,
- response_type='Currency', # noqa: E501
- auth_settings=auth_settings,
- async_req=local_var_params.get('async_req'),
- _return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
- _preload_content=local_var_params.get('_preload_content', True),
- _request_timeout=local_var_params.get('_request_timeout'),
- collection_formats=collection_formats,
- )
-
- def list_currency_pairs(self, **kwargs): # noqa: E501
- """List all currency pairs supported # noqa: E501
-
- This method makes a synchronous HTTP request by default. To make an
- asynchronous HTTP request, please pass async_req=True
- >>> thread = api.list_currency_pairs(async_req=True)
- >>> result = thread.get()
-
- :param bool async_req: execute request asynchronously
- :param _preload_content: if False, the urllib3.HTTPResponse object will
- be returned without reading/decoding response
- data. Default is True.
- :param _request_timeout: timeout setting for this request. If one
- number provided, it will be total request
- timeout. It can also be a pair (tuple) of
- (connection, read) timeouts.
- :rtype: list[gate_api.CurrencyPair]
- :return: If the method is called asynchronously,
- returns the request thread.
- """
- kwargs['_return_http_data_only'] = True
- return self.list_currency_pairs_with_http_info(**kwargs) # noqa: E501
-
- def list_currency_pairs_with_http_info(self, **kwargs): # noqa: E501
- """List all currency pairs supported # noqa: E501
-
- This method makes a synchronous HTTP request by default. To make an
- asynchronous HTTP request, please pass async_req=True
- >>> thread = api.list_currency_pairs_with_http_info(async_req=True)
- >>> result = thread.get()
-
- :param bool async_req: execute request asynchronously
- :param _return_http_data_only: response data without head status code
- and headers
- :param _preload_content: if False, the urllib3.HTTPResponse object will
- be returned without reading/decoding response
- data. Default is True.
- :param _request_timeout: timeout setting for this request. If one
- number provided, it will be total request
- timeout. It can also be a pair (tuple) of
- (connection, read) timeouts.
- :rtype: tuple(list[gate_api.CurrencyPair], status_code(int), headers(HTTPHeaderDict))
- :return: If the method is called asynchronously,
- returns the request thread.
- """
-
- local_var_params = locals()
-
- all_params = []
- all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout'])
-
- for k, v in six.iteritems(local_var_params['kwargs']):
- if k not in all_params:
- raise ApiTypeError("Got an unexpected keyword argument '%s'" " to method list_currency_pairs" % k)
- local_var_params[k] = v
- del local_var_params['kwargs']
-
- collection_formats = {}
-
- path_params = {}
-
- query_params = []
-
- header_params = {}
-
- form_params = []
- local_var_files = {}
-
- body_params = None
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501
-
- # Authentication setting
- auth_settings = [] # noqa: E501
-
- return self.api_client.call_api(
- '/spot/currency_pairs',
- 'GET',
- path_params,
- query_params,
- header_params,
- body=body_params,
- post_params=form_params,
- files=local_var_files,
- response_type='list[CurrencyPair]', # noqa: E501
- auth_settings=auth_settings,
- async_req=local_var_params.get('async_req'),
- _return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
- _preload_content=local_var_params.get('_preload_content', True),
- _request_timeout=local_var_params.get('_request_timeout'),
- collection_formats=collection_formats,
- )
-
- def get_currency_pair(self, currency_pair, **kwargs): # noqa: E501
- """Get details of a specifc currency pair # noqa: E501
-
- This method makes a synchronous HTTP request by default. To make an
- asynchronous HTTP request, please pass async_req=True
- >>> thread = api.get_currency_pair(currency_pair, async_req=True)
- >>> result = thread.get()
-
- :param bool async_req: execute request asynchronously
- :param str currency_pair: Currency pair (required)
- :param _preload_content: if False, the urllib3.HTTPResponse object will
- be returned without reading/decoding response
- data. Default is True.
- :param _request_timeout: timeout setting for this request. If one
- number provided, it will be total request
- timeout. It can also be a pair (tuple) of
- (connection, read) timeouts.
- :rtype: gate_api.CurrencyPair
- :return: If the method is called asynchronously,
- returns the request thread.
- """
- kwargs['_return_http_data_only'] = True
- return self.get_currency_pair_with_http_info(currency_pair, **kwargs) # noqa: E501
-
- def get_currency_pair_with_http_info(self, currency_pair, **kwargs): # noqa: E501
- """Get details of a specifc currency pair # noqa: E501
-
- This method makes a synchronous HTTP request by default. To make an
- asynchronous HTTP request, please pass async_req=True
- >>> thread = api.get_currency_pair_with_http_info(currency_pair, async_req=True)
- >>> result = thread.get()
-
- :param bool async_req: execute request asynchronously
- :param str currency_pair: Currency pair (required)
- :param _return_http_data_only: response data without head status code
- and headers
- :param _preload_content: if False, the urllib3.HTTPResponse object will
- be returned without reading/decoding response
- data. Default is True.
- :param _request_timeout: timeout setting for this request. If one
- number provided, it will be total request
- timeout. It can also be a pair (tuple) of
- (connection, read) timeouts.
- :rtype: tuple(gate_api.CurrencyPair, status_code(int), headers(HTTPHeaderDict))
- :return: If the method is called asynchronously,
- returns the request thread.
- """
-
- local_var_params = locals()
-
- all_params = ['currency_pair']
- all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout'])
-
- for k, v in six.iteritems(local_var_params['kwargs']):
- if k not in all_params:
- raise ApiTypeError("Got an unexpected keyword argument '%s'" " to method get_currency_pair" % k)
- local_var_params[k] = v
- del local_var_params['kwargs']
- # verify the required parameter 'currency_pair' is set
- if self.api_client.client_side_validation and (
- 'currency_pair' not in local_var_params or local_var_params['currency_pair'] is None # noqa: E501
- ): # noqa: E501
- raise ApiValueError(
- "Missing the required parameter `currency_pair` when calling `get_currency_pair`"
- ) # noqa: E501
-
- collection_formats = {}
-
- path_params = {}
- if 'currency_pair' in local_var_params:
- path_params['currency_pair'] = local_var_params['currency_pair'] # noqa: E501
-
- query_params = []
-
- header_params = {}
-
- form_params = []
- local_var_files = {}
-
- body_params = None
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501
-
- # Authentication setting
- auth_settings = [] # noqa: E501
-
- return self.api_client.call_api(
- '/spot/currency_pairs/{currency_pair}',
- 'GET',
- path_params,
- query_params,
- header_params,
- body=body_params,
- post_params=form_params,
- files=local_var_files,
- response_type='CurrencyPair', # noqa: E501
- auth_settings=auth_settings,
- async_req=local_var_params.get('async_req'),
- _return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
- _preload_content=local_var_params.get('_preload_content', True),
- _request_timeout=local_var_params.get('_request_timeout'),
- collection_formats=collection_formats,
- )
-
- def list_tickers(self, **kwargs): # noqa: E501
- """Retrieve ticker information # noqa: E501
-
- Return only related data if `currency_pair` is specified; otherwise return all of them # noqa: E501
- This method makes a synchronous HTTP request by default. To make an
- asynchronous HTTP request, please pass async_req=True
- >>> thread = api.list_tickers(async_req=True)
- >>> result = thread.get()
-
- :param bool async_req: execute request asynchronously
- :param str currency_pair: Currency pair
- :param str timezone: Timezone
- :param _preload_content: if False, the urllib3.HTTPResponse object will
- be returned without reading/decoding response
- data. Default is True.
- :param _request_timeout: timeout setting for this request. If one
- number provided, it will be total request
- timeout. It can also be a pair (tuple) of
- (connection, read) timeouts.
- :rtype: list[gate_api.Ticker]
- :return: If the method is called asynchronously,
- returns the request thread.
- """
- kwargs['_return_http_data_only'] = True
- return self.list_tickers_with_http_info(**kwargs) # noqa: E501
-
- def list_tickers_with_http_info(self, **kwargs): # noqa: E501
- """Retrieve ticker information # noqa: E501
-
- Return only related data if `currency_pair` is specified; otherwise return all of them # noqa: E501
- This method makes a synchronous HTTP request by default. To make an
- asynchronous HTTP request, please pass async_req=True
- >>> thread = api.list_tickers_with_http_info(async_req=True)
- >>> result = thread.get()
-
- :param bool async_req: execute request asynchronously
- :param str currency_pair: Currency pair
- :param str timezone: Timezone
- :param _return_http_data_only: response data without head status code
- and headers
- :param _preload_content: if False, the urllib3.HTTPResponse object will
- be returned without reading/decoding response
- data. Default is True.
- :param _request_timeout: timeout setting for this request. If one
- number provided, it will be total request
- timeout. It can also be a pair (tuple) of
- (connection, read) timeouts.
- :rtype: tuple(list[gate_api.Ticker], status_code(int), headers(HTTPHeaderDict))
- :return: If the method is called asynchronously,
- returns the request thread.
- """
-
- local_var_params = locals()
-
- all_params = ['currency_pair', 'timezone']
- all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout'])
-
- for k, v in six.iteritems(local_var_params['kwargs']):
- if k not in all_params:
- raise ApiTypeError("Got an unexpected keyword argument '%s'" " to method list_tickers" % k)
- local_var_params[k] = v
- del local_var_params['kwargs']
-
- collection_formats = {}
-
- path_params = {}
-
- query_params = []
- if 'currency_pair' in local_var_params and local_var_params['currency_pair'] is not None: # noqa: E501
- query_params.append(('currency_pair', local_var_params['currency_pair'])) # noqa: E501
- if 'timezone' in local_var_params and local_var_params['timezone'] is not None: # noqa: E501
- query_params.append(('timezone', local_var_params['timezone'])) # noqa: E501
-
- header_params = {}
-
- form_params = []
- local_var_files = {}
-
- body_params = None
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501
-
- # Authentication setting
- auth_settings = [] # noqa: E501
-
- return self.api_client.call_api(
- '/spot/tickers',
- 'GET',
- path_params,
- query_params,
- header_params,
- body=body_params,
- post_params=form_params,
- files=local_var_files,
- response_type='list[Ticker]', # noqa: E501
- auth_settings=auth_settings,
- async_req=local_var_params.get('async_req'),
- _return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
- _preload_content=local_var_params.get('_preload_content', True),
- _request_timeout=local_var_params.get('_request_timeout'),
- collection_formats=collection_formats,
- )
-
- def list_order_book(self, currency_pair, **kwargs): # noqa: E501
- """Retrieve order book # noqa: E501
-
- Order book will be sorted by price from high to low on bids; low to high on asks # noqa: E501
- This method makes a synchronous HTTP request by default. To make an
- asynchronous HTTP request, please pass async_req=True
- >>> thread = api.list_order_book(currency_pair, async_req=True)
- >>> result = thread.get()
-
- :param bool async_req: execute request asynchronously
- :param str currency_pair: Currency pair (required)
- :param str interval: Order depth. 0 means no aggregation is applied. default to 0
- :param int limit: Maximum number of order depth data in asks or bids
- :param bool with_id: Return order book ID
- :param _preload_content: if False, the urllib3.HTTPResponse object will
- be returned without reading/decoding response
- data. Default is True.
- :param _request_timeout: timeout setting for this request. If one
- number provided, it will be total request
- timeout. It can also be a pair (tuple) of
- (connection, read) timeouts.
- :rtype: gate_api.OrderBook
- :return: If the method is called asynchronously,
- returns the request thread.
- """
- kwargs['_return_http_data_only'] = True
- return self.list_order_book_with_http_info(currency_pair, **kwargs) # noqa: E501
-
- def list_order_book_with_http_info(self, currency_pair, **kwargs): # noqa: E501
- """Retrieve order book # noqa: E501
-
- Order book will be sorted by price from high to low on bids; low to high on asks # noqa: E501
- This method makes a synchronous HTTP request by default. To make an
- asynchronous HTTP request, please pass async_req=True
- >>> thread = api.list_order_book_with_http_info(currency_pair, async_req=True)
- >>> result = thread.get()
-
- :param bool async_req: execute request asynchronously
- :param str currency_pair: Currency pair (required)
- :param str interval: Order depth. 0 means no aggregation is applied. default to 0
- :param int limit: Maximum number of order depth data in asks or bids
- :param bool with_id: Return order book ID
- :param _return_http_data_only: response data without head status code
- and headers
- :param _preload_content: if False, the urllib3.HTTPResponse object will
- be returned without reading/decoding response
- data. Default is True.
- :param _request_timeout: timeout setting for this request. If one
- number provided, it will be total request
- timeout. It can also be a pair (tuple) of
- (connection, read) timeouts.
- :rtype: tuple(gate_api.OrderBook, status_code(int), headers(HTTPHeaderDict))
- :return: If the method is called asynchronously,
- returns the request thread.
- """
-
- local_var_params = locals()
-
- all_params = ['currency_pair', 'interval', 'limit', 'with_id']
- all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout'])
-
- for k, v in six.iteritems(local_var_params['kwargs']):
- if k not in all_params:
- raise ApiTypeError("Got an unexpected keyword argument '%s'" " to method list_order_book" % k)
- local_var_params[k] = v
- del local_var_params['kwargs']
- # verify the required parameter 'currency_pair' is set
- if self.api_client.client_side_validation and (
- 'currency_pair' not in local_var_params or local_var_params['currency_pair'] is None # noqa: E501
- ): # noqa: E501
- raise ApiValueError(
- "Missing the required parameter `currency_pair` when calling `list_order_book`"
- ) # noqa: E501
-
- if (
- self.api_client.client_side_validation and 'limit' in local_var_params and local_var_params['limit'] < 1
- ): # noqa: E501
- raise ApiValueError(
- "Invalid value for parameter `limit` when calling `list_order_book`, must be a value greater than or equal to `1`"
- ) # noqa: E501
- collection_formats = {}
-
- path_params = {}
-
- query_params = []
- if 'currency_pair' in local_var_params and local_var_params['currency_pair'] is not None: # noqa: E501
- query_params.append(('currency_pair', local_var_params['currency_pair'])) # noqa: E501
- if 'interval' in local_var_params and local_var_params['interval'] is not None: # noqa: E501
- query_params.append(('interval', local_var_params['interval'])) # noqa: E501
- if 'limit' in local_var_params and local_var_params['limit'] is not None: # noqa: E501
- query_params.append(('limit', local_var_params['limit'])) # noqa: E501
- if 'with_id' in local_var_params and local_var_params['with_id'] is not None: # noqa: E501
- query_params.append(('with_id', local_var_params['with_id'])) # noqa: E501
-
- header_params = {}
-
- form_params = []
- local_var_files = {}
-
- body_params = None
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501
-
- # Authentication setting
- auth_settings = [] # noqa: E501
-
- return self.api_client.call_api(
- '/spot/order_book',
- 'GET',
- path_params,
- query_params,
- header_params,
- body=body_params,
- post_params=form_params,
- files=local_var_files,
- response_type='OrderBook', # noqa: E501
- auth_settings=auth_settings,
- async_req=local_var_params.get('async_req'),
- _return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
- _preload_content=local_var_params.get('_preload_content', True),
- _request_timeout=local_var_params.get('_request_timeout'),
- collection_formats=collection_formats,
- )
-
- def list_trades(self, currency_pair, **kwargs): # noqa: E501
- """Retrieve market trades # noqa: E501
-
- You can use `from` and `to` to query by time range, or use `last_id` by scrolling page. The default behavior is by time range. Scrolling query using `last_id` is not recommended any more. If `last_id` is specified, time range query parameters will be ignored. # noqa: E501
- This method makes a synchronous HTTP request by default. To make an
- asynchronous HTTP request, please pass async_req=True
- >>> thread = api.list_trades(currency_pair, async_req=True)
- >>> result = thread.get()
-
- :param bool async_req: execute request asynchronously
- :param str currency_pair: Currency pair (required)
- :param int limit: Maximum number of records to be returned in a single list. Default: 100, Minimum: 1, Maximum: 1000
- :param str last_id: Specify list staring point using the `id` of last record in previous list-query results
- :param bool reverse: Whether the id of records to be retrieved should be less than the last_id specified. Default to false. When `last_id` is specified. Set `reverse` to `true` to trace back trading history; `false` to retrieve latest tradings. No effect if `last_id` is not specified.
- :param int _from: Start timestamp of the query
- :param int to: Time range ending, default to current time
- :param int page: Page number
- :param _preload_content: if False, the urllib3.HTTPResponse object will
- be returned without reading/decoding response
- data. Default is True.
- :param _request_timeout: timeout setting for this request. If one
- number provided, it will be total request
- timeout. It can also be a pair (tuple) of
- (connection, read) timeouts.
- :rtype: list[gate_api.Trade]
- :return: If the method is called asynchronously,
- returns the request thread.
- """
- kwargs['_return_http_data_only'] = True
- return self.list_trades_with_http_info(currency_pair, **kwargs) # noqa: E501
-
- def list_trades_with_http_info(self, currency_pair, **kwargs): # noqa: E501
- """Retrieve market trades # noqa: E501
-
- You can use `from` and `to` to query by time range, or use `last_id` by scrolling page. The default behavior is by time range. Scrolling query using `last_id` is not recommended any more. If `last_id` is specified, time range query parameters will be ignored. # noqa: E501
- This method makes a synchronous HTTP request by default. To make an
- asynchronous HTTP request, please pass async_req=True
- >>> thread = api.list_trades_with_http_info(currency_pair, async_req=True)
- >>> result = thread.get()
-
- :param bool async_req: execute request asynchronously
- :param str currency_pair: Currency pair (required)
- :param int limit: Maximum number of records to be returned in a single list. Default: 100, Minimum: 1, Maximum: 1000
- :param str last_id: Specify list staring point using the `id` of last record in previous list-query results
- :param bool reverse: Whether the id of records to be retrieved should be less than the last_id specified. Default to false. When `last_id` is specified. Set `reverse` to `true` to trace back trading history; `false` to retrieve latest tradings. No effect if `last_id` is not specified.
- :param int _from: Start timestamp of the query
- :param int to: Time range ending, default to current time
- :param int page: Page number
- :param _return_http_data_only: response data without head status code
- and headers
- :param _preload_content: if False, the urllib3.HTTPResponse object will
- be returned without reading/decoding response
- data. Default is True.
- :param _request_timeout: timeout setting for this request. If one
- number provided, it will be total request
- timeout. It can also be a pair (tuple) of
- (connection, read) timeouts.
- :rtype: tuple(list[gate_api.Trade], status_code(int), headers(HTTPHeaderDict))
- :return: If the method is called asynchronously,
- returns the request thread.
- """
-
- local_var_params = locals()
-
- all_params = ['currency_pair', 'limit', 'last_id', 'reverse', '_from', 'to', 'page']
- all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout'])
-
- for k, v in six.iteritems(local_var_params['kwargs']):
- if k not in all_params:
- raise ApiTypeError("Got an unexpected keyword argument '%s'" " to method list_trades" % k)
- local_var_params[k] = v
- del local_var_params['kwargs']
- # verify the required parameter 'currency_pair' is set
- if self.api_client.client_side_validation and (
- 'currency_pair' not in local_var_params or local_var_params['currency_pair'] is None # noqa: E501
- ): # noqa: E501
- raise ApiValueError(
- "Missing the required parameter `currency_pair` when calling `list_trades`"
- ) # noqa: E501
-
- if (
- self.api_client.client_side_validation and 'limit' in local_var_params and local_var_params['limit'] > 1000
- ): # noqa: E501
- raise ApiValueError(
- "Invalid value for parameter `limit` when calling `list_trades`, must be a value less than or equal to `1000`"
- ) # noqa: E501
- if (
- self.api_client.client_side_validation and 'limit' in local_var_params and local_var_params['limit'] < 1
- ): # noqa: E501
- raise ApiValueError(
- "Invalid value for parameter `limit` when calling `list_trades`, must be a value greater than or equal to `1`"
- ) # noqa: E501
- if (
- self.api_client.client_side_validation and 'page' in local_var_params and local_var_params['page'] < 1
- ): # noqa: E501
- raise ApiValueError(
- "Invalid value for parameter `page` when calling `list_trades`, must be a value greater than or equal to `1`"
- ) # noqa: E501
- collection_formats = {}
-
- path_params = {}
-
- query_params = []
- if 'currency_pair' in local_var_params and local_var_params['currency_pair'] is not None: # noqa: E501
- query_params.append(('currency_pair', local_var_params['currency_pair'])) # noqa: E501
- if 'limit' in local_var_params and local_var_params['limit'] is not None: # noqa: E501
- query_params.append(('limit', local_var_params['limit'])) # noqa: E501
- if 'last_id' in local_var_params and local_var_params['last_id'] is not None: # noqa: E501
- query_params.append(('last_id', local_var_params['last_id'])) # noqa: E501
- if 'reverse' in local_var_params and local_var_params['reverse'] is not None: # noqa: E501
- query_params.append(('reverse', local_var_params['reverse'])) # noqa: E501
- if '_from' in local_var_params and local_var_params['_from'] is not None: # noqa: E501
- query_params.append(('from', local_var_params['_from'])) # noqa: E501
- if 'to' in local_var_params and local_var_params['to'] is not None: # noqa: E501
- query_params.append(('to', local_var_params['to'])) # noqa: E501
- if 'page' in local_var_params and local_var_params['page'] is not None: # noqa: E501
- query_params.append(('page', local_var_params['page'])) # noqa: E501
-
- header_params = {}
-
- form_params = []
- local_var_files = {}
-
- body_params = None
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501
-
- # Authentication setting
- auth_settings = [] # noqa: E501
-
- return self.api_client.call_api(
- '/spot/trades',
- 'GET',
- path_params,
- query_params,
- header_params,
- body=body_params,
- post_params=form_params,
- files=local_var_files,
- response_type='list[Trade]', # noqa: E501
- auth_settings=auth_settings,
- async_req=local_var_params.get('async_req'),
- _return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
- _preload_content=local_var_params.get('_preload_content', True),
- _request_timeout=local_var_params.get('_request_timeout'),
- collection_formats=collection_formats,
- )
-
- def list_candlesticks(self, currency_pair, **kwargs): # noqa: E501
- """Market candlesticks # noqa: E501
-
- Maximum of 1000 points can be returned in a query. Be sure not to exceed the limit when specifying from, to and interval # noqa: E501
- This method makes a synchronous HTTP request by default. To make an
- asynchronous HTTP request, please pass async_req=True
- >>> thread = api.list_candlesticks(currency_pair, async_req=True)
- >>> result = thread.get()
-
- :param bool async_req: execute request asynchronously
- :param str currency_pair: Currency pair (required)
- :param int limit: Maximum recent data points to return. `limit` is conflicted with `from` and `to`. If either `from` or `to` is specified, request will be rejected.
- :param int _from: Start time of candlesticks, formatted in Unix timestamp in seconds. Default to`to - 100 * interval` if not specified
- :param int to: End time of candlesticks, formatted in Unix timestamp in seconds. Default to current time
- :param str interval: Interval time between data points. Note that `30d` means 1 natual month, not 30 days
- :param _preload_content: if False, the urllib3.HTTPResponse object will
- be returned without reading/decoding response
- data. Default is True.
- :param _request_timeout: timeout setting for this request. If one
- number provided, it will be total request
- timeout. It can also be a pair (tuple) of
- (connection, read) timeouts.
- :rtype: list[list[str]]
- :return: If the method is called asynchronously,
- returns the request thread.
- """
- kwargs['_return_http_data_only'] = True
- return self.list_candlesticks_with_http_info(currency_pair, **kwargs) # noqa: E501
-
- def list_candlesticks_with_http_info(self, currency_pair, **kwargs): # noqa: E501
- """Market candlesticks # noqa: E501
-
- Maximum of 1000 points can be returned in a query. Be sure not to exceed the limit when specifying from, to and interval # noqa: E501
- This method makes a synchronous HTTP request by default. To make an
- asynchronous HTTP request, please pass async_req=True
- >>> thread = api.list_candlesticks_with_http_info(currency_pair, async_req=True)
- >>> result = thread.get()
-
- :param bool async_req: execute request asynchronously
- :param str currency_pair: Currency pair (required)
- :param int limit: Maximum recent data points to return. `limit` is conflicted with `from` and `to`. If either `from` or `to` is specified, request will be rejected.
- :param int _from: Start time of candlesticks, formatted in Unix timestamp in seconds. Default to`to - 100 * interval` if not specified
- :param int to: End time of candlesticks, formatted in Unix timestamp in seconds. Default to current time
- :param str interval: Interval time between data points. Note that `30d` means 1 natual month, not 30 days
- :param _return_http_data_only: response data without head status code
- and headers
- :param _preload_content: if False, the urllib3.HTTPResponse object will
- be returned without reading/decoding response
- data. Default is True.
- :param _request_timeout: timeout setting for this request. If one
- number provided, it will be total request
- timeout. It can also be a pair (tuple) of
- (connection, read) timeouts.
- :rtype: tuple(list[list[str]], status_code(int), headers(HTTPHeaderDict))
- :return: If the method is called asynchronously,
- returns the request thread.
- """
-
- local_var_params = locals()
-
- all_params = ['currency_pair', 'limit', '_from', 'to', 'interval']
- all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout'])
-
- for k, v in six.iteritems(local_var_params['kwargs']):
- if k not in all_params:
- raise ApiTypeError("Got an unexpected keyword argument '%s'" " to method list_candlesticks" % k)
- local_var_params[k] = v
- del local_var_params['kwargs']
- # verify the required parameter 'currency_pair' is set
- if self.api_client.client_side_validation and (
- 'currency_pair' not in local_var_params or local_var_params['currency_pair'] is None # noqa: E501
- ): # noqa: E501
- raise ApiValueError(
- "Missing the required parameter `currency_pair` when calling `list_candlesticks`"
- ) # noqa: E501
-
- if (
- self.api_client.client_side_validation and 'limit' in local_var_params and local_var_params['limit'] > 1000
- ): # noqa: E501
- raise ApiValueError(
- "Invalid value for parameter `limit` when calling `list_candlesticks`, must be a value less than or equal to `1000`"
- ) # noqa: E501
- collection_formats = {}
-
- path_params = {}
-
- query_params = []
- if 'currency_pair' in local_var_params and local_var_params['currency_pair'] is not None: # noqa: E501
- query_params.append(('currency_pair', local_var_params['currency_pair'])) # noqa: E501
- if 'limit' in local_var_params and local_var_params['limit'] is not None: # noqa: E501
- query_params.append(('limit', local_var_params['limit'])) # noqa: E501
- if '_from' in local_var_params and local_var_params['_from'] is not None: # noqa: E501
- query_params.append(('from', local_var_params['_from'])) # noqa: E501
- if 'to' in local_var_params and local_var_params['to'] is not None: # noqa: E501
- query_params.append(('to', local_var_params['to'])) # noqa: E501
- if 'interval' in local_var_params and local_var_params['interval'] is not None: # noqa: E501
- query_params.append(('interval', local_var_params['interval'])) # noqa: E501
-
- header_params = {}
-
- form_params = []
- local_var_files = {}
-
- body_params = None
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501
-
- # Authentication setting
- auth_settings = [] # noqa: E501
-
- return self.api_client.call_api(
- '/spot/candlesticks',
- 'GET',
- path_params,
- query_params,
- header_params,
- body=body_params,
- post_params=form_params,
- files=local_var_files,
- response_type='list[list[str]]', # noqa: E501
- auth_settings=auth_settings,
- async_req=local_var_params.get('async_req'),
- _return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
- _preload_content=local_var_params.get('_preload_content', True),
- _request_timeout=local_var_params.get('_request_timeout'),
- collection_formats=collection_formats,
- )
-
- def get_fee(self, **kwargs): # noqa: E501
- """Query user trading fee rates # noqa: E501
-
- This API is deprecated in favour of new fee retrieving API `/wallet/fee`. # noqa: E501
- This method makes a synchronous HTTP request by default. To make an
- asynchronous HTTP request, please pass async_req=True
- >>> thread = api.get_fee(async_req=True)
- >>> result = thread.get()
-
- :param bool async_req: execute request asynchronously
- :param str currency_pair: Specify a currency pair to retrieve precise fee rate This field is optional. In most cases, the fee rate is identical among all currency pairs
- :param _preload_content: if False, the urllib3.HTTPResponse object will
- be returned without reading/decoding response
- data. Default is True.
- :param _request_timeout: timeout setting for this request. If one
- number provided, it will be total request
- timeout. It can also be a pair (tuple) of
- (connection, read) timeouts.
- :rtype: gate_api.TradeFee
- :return: If the method is called asynchronously,
- returns the request thread.
- """
- kwargs['_return_http_data_only'] = True
- return self.get_fee_with_http_info(**kwargs) # noqa: E501
-
- def get_fee_with_http_info(self, **kwargs): # noqa: E501
- """Query user trading fee rates # noqa: E501
-
- This API is deprecated in favour of new fee retrieving API `/wallet/fee`. # noqa: E501
- This method makes a synchronous HTTP request by default. To make an
- asynchronous HTTP request, please pass async_req=True
- >>> thread = api.get_fee_with_http_info(async_req=True)
- >>> result = thread.get()
-
- :param bool async_req: execute request asynchronously
- :param str currency_pair: Specify a currency pair to retrieve precise fee rate This field is optional. In most cases, the fee rate is identical among all currency pairs
- :param _return_http_data_only: response data without head status code
- and headers
- :param _preload_content: if False, the urllib3.HTTPResponse object will
- be returned without reading/decoding response
- data. Default is True.
- :param _request_timeout: timeout setting for this request. If one
- number provided, it will be total request
- timeout. It can also be a pair (tuple) of
- (connection, read) timeouts.
- :rtype: tuple(gate_api.TradeFee, status_code(int), headers(HTTPHeaderDict))
- :return: If the method is called asynchronously,
- returns the request thread.
- """
-
- local_var_params = locals()
-
- all_params = ['currency_pair']
- all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout'])
-
- for k, v in six.iteritems(local_var_params['kwargs']):
- if k not in all_params:
- raise ApiTypeError("Got an unexpected keyword argument '%s'" " to method get_fee" % k)
- local_var_params[k] = v
- del local_var_params['kwargs']
-
- collection_formats = {}
-
- path_params = {}
-
- query_params = []
- if 'currency_pair' in local_var_params and local_var_params['currency_pair'] is not None: # noqa: E501
- query_params.append(('currency_pair', local_var_params['currency_pair'])) # noqa: E501
-
- header_params = {}
-
- form_params = []
- local_var_files = {}
-
- body_params = None
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501
-
- # Authentication setting
- auth_settings = ['apiv4'] # noqa: E501
-
- return self.api_client.call_api(
- '/spot/fee',
- 'GET',
- path_params,
- query_params,
- header_params,
- body=body_params,
- post_params=form_params,
- files=local_var_files,
- response_type='TradeFee', # noqa: E501
- auth_settings=auth_settings,
- async_req=local_var_params.get('async_req'),
- _return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
- _preload_content=local_var_params.get('_preload_content', True),
- _request_timeout=local_var_params.get('_request_timeout'),
- collection_formats=collection_formats,
- )
-
- def get_batch_spot_fee(self, currency_pairs, **kwargs): # noqa: E501
- """Query a batch of user trading fee rates # noqa: E501
-
- This method makes a synchronous HTTP request by default. To make an
- asynchronous HTTP request, please pass async_req=True
- >>> thread = api.get_batch_spot_fee(currency_pairs, async_req=True)
- >>> result = thread.get()
-
- :param bool async_req: execute request asynchronously
- :param str currency_pairs: A request can only query up to 50 currency pairs (required)
- :param _preload_content: if False, the urllib3.HTTPResponse object will
- be returned without reading/decoding response
- data. Default is True.
- :param _request_timeout: timeout setting for this request. If one
- number provided, it will be total request
- timeout. It can also be a pair (tuple) of
- (connection, read) timeouts.
- :rtype: dict(str, gate_api.SpotFee)
- :return: If the method is called asynchronously,
- returns the request thread.
- """
- kwargs['_return_http_data_only'] = True
- return self.get_batch_spot_fee_with_http_info(currency_pairs, **kwargs) # noqa: E501
-
- def get_batch_spot_fee_with_http_info(self, currency_pairs, **kwargs): # noqa: E501
- """Query a batch of user trading fee rates # noqa: E501
-
- This method makes a synchronous HTTP request by default. To make an
- asynchronous HTTP request, please pass async_req=True
- >>> thread = api.get_batch_spot_fee_with_http_info(currency_pairs, async_req=True)
- >>> result = thread.get()
-
- :param bool async_req: execute request asynchronously
- :param str currency_pairs: A request can only query up to 50 currency pairs (required)
- :param _return_http_data_only: response data without head status code
- and headers
- :param _preload_content: if False, the urllib3.HTTPResponse object will
- be returned without reading/decoding response
- data. Default is True.
- :param _request_timeout: timeout setting for this request. If one
- number provided, it will be total request
- timeout. It can also be a pair (tuple) of
- (connection, read) timeouts.
- :rtype: tuple(dict(str, gate_api.SpotFee), status_code(int), headers(HTTPHeaderDict))
- :return: If the method is called asynchronously,
- returns the request thread.
- """
-
- local_var_params = locals()
-
- all_params = ['currency_pairs']
- all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout'])
-
- for k, v in six.iteritems(local_var_params['kwargs']):
- if k not in all_params:
- raise ApiTypeError("Got an unexpected keyword argument '%s'" " to method get_batch_spot_fee" % k)
- local_var_params[k] = v
- del local_var_params['kwargs']
- # verify the required parameter 'currency_pairs' is set
- if self.api_client.client_side_validation and (
- 'currency_pairs' not in local_var_params or local_var_params['currency_pairs'] is None # noqa: E501
- ): # noqa: E501
- raise ApiValueError(
- "Missing the required parameter `currency_pairs` when calling `get_batch_spot_fee`"
- ) # noqa: E501
-
- collection_formats = {}
-
- path_params = {}
-
- query_params = []
- if 'currency_pairs' in local_var_params and local_var_params['currency_pairs'] is not None: # noqa: E501
- query_params.append(('currency_pairs', local_var_params['currency_pairs'])) # noqa: E501
-
- header_params = {}
-
- form_params = []
- local_var_files = {}
-
- body_params = None
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501
-
- # Authentication setting
- auth_settings = ['apiv4'] # noqa: E501
-
- return self.api_client.call_api(
- '/spot/batch_fee',
- 'GET',
- path_params,
- query_params,
- header_params,
- body=body_params,
- post_params=form_params,
- files=local_var_files,
- response_type='dict(str, SpotFee)', # noqa: E501
- auth_settings=auth_settings,
- async_req=local_var_params.get('async_req'),
- _return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
- _preload_content=local_var_params.get('_preload_content', True),
- _request_timeout=local_var_params.get('_request_timeout'),
- collection_formats=collection_formats,
- )
-
- def list_spot_accounts(self, **kwargs): # noqa: E501
- """List spot accounts # noqa: E501
-
- This method makes a synchronous HTTP request by default. To make an
- asynchronous HTTP request, please pass async_req=True
- >>> thread = api.list_spot_accounts(async_req=True)
- >>> result = thread.get()
-
- :param bool async_req: execute request asynchronously
- :param str currency: Retrieve data of the specified currency
- :param _preload_content: if False, the urllib3.HTTPResponse object will
- be returned without reading/decoding response
- data. Default is True.
- :param _request_timeout: timeout setting for this request. If one
- number provided, it will be total request
- timeout. It can also be a pair (tuple) of
- (connection, read) timeouts.
- :rtype: list[gate_api.SpotAccount]
- :return: If the method is called asynchronously,
- returns the request thread.
- """
- kwargs['_return_http_data_only'] = True
- return self.list_spot_accounts_with_http_info(**kwargs) # noqa: E501
-
- def list_spot_accounts_with_http_info(self, **kwargs): # noqa: E501
- """List spot accounts # noqa: E501
-
- This method makes a synchronous HTTP request by default. To make an
- asynchronous HTTP request, please pass async_req=True
- >>> thread = api.list_spot_accounts_with_http_info(async_req=True)
- >>> result = thread.get()
-
- :param bool async_req: execute request asynchronously
- :param str currency: Retrieve data of the specified currency
- :param _return_http_data_only: response data without head status code
- and headers
- :param _preload_content: if False, the urllib3.HTTPResponse object will
- be returned without reading/decoding response
- data. Default is True.
- :param _request_timeout: timeout setting for this request. If one
- number provided, it will be total request
- timeout. It can also be a pair (tuple) of
- (connection, read) timeouts.
- :rtype: tuple(list[gate_api.SpotAccount], status_code(int), headers(HTTPHeaderDict))
- :return: If the method is called asynchronously,
- returns the request thread.
- """
-
- local_var_params = locals()
-
- all_params = ['currency']
- all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout'])
-
- for k, v in six.iteritems(local_var_params['kwargs']):
- if k not in all_params:
- raise ApiTypeError("Got an unexpected keyword argument '%s'" " to method list_spot_accounts" % k)
- local_var_params[k] = v
- del local_var_params['kwargs']
-
- collection_formats = {}
-
- path_params = {}
-
- query_params = []
- if 'currency' in local_var_params and local_var_params['currency'] is not None: # noqa: E501
- query_params.append(('currency', local_var_params['currency'])) # noqa: E501
-
- header_params = {}
-
- form_params = []
- local_var_files = {}
-
- body_params = None
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501
-
- # Authentication setting
- auth_settings = ['apiv4'] # noqa: E501
-
- return self.api_client.call_api(
- '/spot/accounts',
- 'GET',
- path_params,
- query_params,
- header_params,
- body=body_params,
- post_params=form_params,
- files=local_var_files,
- response_type='list[SpotAccount]', # noqa: E501
- auth_settings=auth_settings,
- async_req=local_var_params.get('async_req'),
- _return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
- _preload_content=local_var_params.get('_preload_content', True),
- _request_timeout=local_var_params.get('_request_timeout'),
- collection_formats=collection_formats,
- )
-
- def create_batch_orders(self, order, **kwargs): # noqa: E501
- """Create a batch of orders # noqa: E501
-
- Batch orders requirements: 1. custom order field `text` is required 2. At most 4 currency pairs, maximum 10 orders each, are allowed in one request 3. No mixture of spot orders and margin orders, i.e. `account` must be identical for all orders # noqa: E501
- This method makes a synchronous HTTP request by default. To make an
- asynchronous HTTP request, please pass async_req=True
- >>> thread = api.create_batch_orders(order, async_req=True)
- >>> result = thread.get()
-
- :param bool async_req: execute request asynchronously
- :param list[Order] order: (required)
- :param _preload_content: if False, the urllib3.HTTPResponse object will
- be returned without reading/decoding response
- data. Default is True.
- :param _request_timeout: timeout setting for this request. If one
- number provided, it will be total request
- timeout. It can also be a pair (tuple) of
- (connection, read) timeouts.
- :rtype: list[gate_api.BatchOrder]
- :return: If the method is called asynchronously,
- returns the request thread.
- """
- kwargs['_return_http_data_only'] = True
- return self.create_batch_orders_with_http_info(order, **kwargs) # noqa: E501
-
- def create_batch_orders_with_http_info(self, order, **kwargs): # noqa: E501
- """Create a batch of orders # noqa: E501
-
- Batch orders requirements: 1. custom order field `text` is required 2. At most 4 currency pairs, maximum 10 orders each, are allowed in one request 3. No mixture of spot orders and margin orders, i.e. `account` must be identical for all orders # noqa: E501
- This method makes a synchronous HTTP request by default. To make an
- asynchronous HTTP request, please pass async_req=True
- >>> thread = api.create_batch_orders_with_http_info(order, async_req=True)
- >>> result = thread.get()
-
- :param bool async_req: execute request asynchronously
- :param list[Order] order: (required)
- :param _return_http_data_only: response data without head status code
- and headers
- :param _preload_content: if False, the urllib3.HTTPResponse object will
- be returned without reading/decoding response
- data. Default is True.
- :param _request_timeout: timeout setting for this request. If one
- number provided, it will be total request
- timeout. It can also be a pair (tuple) of
- (connection, read) timeouts.
- :rtype: tuple(list[gate_api.BatchOrder], status_code(int), headers(HTTPHeaderDict))
- :return: If the method is called asynchronously,
- returns the request thread.
- """
-
- local_var_params = locals()
-
- all_params = ['order']
- all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout'])
-
- for k, v in six.iteritems(local_var_params['kwargs']):
- if k not in all_params:
- raise ApiTypeError("Got an unexpected keyword argument '%s'" " to method create_batch_orders" % k)
- local_var_params[k] = v
- del local_var_params['kwargs']
- # verify the required parameter 'order' is set
- if self.api_client.client_side_validation and (
- 'order' not in local_var_params or local_var_params['order'] is None # noqa: E501
- ): # noqa: E501
- raise ApiValueError(
- "Missing the required parameter `order` when calling `create_batch_orders`"
- ) # noqa: E501
-
- collection_formats = {}
-
- path_params = {}
-
- query_params = []
-
- header_params = {}
-
- form_params = []
- local_var_files = {}
-
- body_params = None
- if 'order' in local_var_params:
- body_params = local_var_params['order']
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
- ['application/json']
- ) # noqa: E501
-
- # Authentication setting
- auth_settings = ['apiv4'] # noqa: E501
-
- return self.api_client.call_api(
- '/spot/batch_orders',
- 'POST',
- path_params,
- query_params,
- header_params,
- body=body_params,
- post_params=form_params,
- files=local_var_files,
- response_type='list[BatchOrder]', # noqa: E501
- auth_settings=auth_settings,
- async_req=local_var_params.get('async_req'),
- _return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
- _preload_content=local_var_params.get('_preload_content', True),
- _request_timeout=local_var_params.get('_request_timeout'),
- collection_formats=collection_formats,
- )
-
- def list_all_open_orders(self, **kwargs): # noqa: E501
- """List all open orders # noqa: E501
-
- List open orders in all currency pairs. Note that pagination parameters affect record number in each currency pair's open order list. No pagination is applied to the number of currency pairs returned. All currency pairs with open orders will be returned. Spot and margin orders are returned by default. To list cross margin orders, `account` must be set to `cross_margin` # noqa: E501
- This method makes a synchronous HTTP request by default. To make an
- asynchronous HTTP request, please pass async_req=True
- >>> thread = api.list_all_open_orders(async_req=True)
- >>> result = thread.get()
-
- :param bool async_req: execute request asynchronously
- :param int page: Page number
- :param int limit: Maximum number of records returned in one page in each currency pair
- :param str account: Specify operation account. Default to spot and margin account if not specified. Set to `cross_margin` to operate against margin account. Portfolio margin account must set to `cross_margin` only
- :param _preload_content: if False, the urllib3.HTTPResponse object will
- be returned without reading/decoding response
- data. Default is True.
- :param _request_timeout: timeout setting for this request. If one
- number provided, it will be total request
- timeout. It can also be a pair (tuple) of
- (connection, read) timeouts.
- :rtype: list[gate_api.OpenOrders]
- :return: If the method is called asynchronously,
- returns the request thread.
- """
- kwargs['_return_http_data_only'] = True
- return self.list_all_open_orders_with_http_info(**kwargs) # noqa: E501
-
- def list_all_open_orders_with_http_info(self, **kwargs): # noqa: E501
- """List all open orders # noqa: E501
-
- List open orders in all currency pairs. Note that pagination parameters affect record number in each currency pair's open order list. No pagination is applied to the number of currency pairs returned. All currency pairs with open orders will be returned. Spot and margin orders are returned by default. To list cross margin orders, `account` must be set to `cross_margin` # noqa: E501
- This method makes a synchronous HTTP request by default. To make an
- asynchronous HTTP request, please pass async_req=True
- >>> thread = api.list_all_open_orders_with_http_info(async_req=True)
- >>> result = thread.get()
-
- :param bool async_req: execute request asynchronously
- :param int page: Page number
- :param int limit: Maximum number of records returned in one page in each currency pair
- :param str account: Specify operation account. Default to spot and margin account if not specified. Set to `cross_margin` to operate against margin account. Portfolio margin account must set to `cross_margin` only
- :param _return_http_data_only: response data without head status code
- and headers
- :param _preload_content: if False, the urllib3.HTTPResponse object will
- be returned without reading/decoding response
- data. Default is True.
- :param _request_timeout: timeout setting for this request. If one
- number provided, it will be total request
- timeout. It can also be a pair (tuple) of
- (connection, read) timeouts.
- :rtype: tuple(list[gate_api.OpenOrders], status_code(int), headers(HTTPHeaderDict))
- :return: If the method is called asynchronously,
- returns the request thread.
- """
-
- local_var_params = locals()
-
- all_params = ['page', 'limit', 'account']
- all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout'])
-
- for k, v in six.iteritems(local_var_params['kwargs']):
- if k not in all_params:
- raise ApiTypeError("Got an unexpected keyword argument '%s'" " to method list_all_open_orders" % k)
- local_var_params[k] = v
- del local_var_params['kwargs']
-
- if (
- self.api_client.client_side_validation and 'page' in local_var_params and local_var_params['page'] < 1
- ): # noqa: E501
- raise ApiValueError(
- "Invalid value for parameter `page` when calling `list_all_open_orders`, must be a value greater than or equal to `1`"
- ) # noqa: E501
- if (
- self.api_client.client_side_validation and 'limit' in local_var_params and local_var_params['limit'] > 100
- ): # noqa: E501
- raise ApiValueError(
- "Invalid value for parameter `limit` when calling `list_all_open_orders`, must be a value less than or equal to `100`"
- ) # noqa: E501
- if (
- self.api_client.client_side_validation and 'limit' in local_var_params and local_var_params['limit'] < 1
- ): # noqa: E501
- raise ApiValueError(
- "Invalid value for parameter `limit` when calling `list_all_open_orders`, must be a value greater than or equal to `1`"
- ) # noqa: E501
- collection_formats = {}
-
- path_params = {}
-
- query_params = []
- if 'page' in local_var_params and local_var_params['page'] is not None: # noqa: E501
- query_params.append(('page', local_var_params['page'])) # noqa: E501
- if 'limit' in local_var_params and local_var_params['limit'] is not None: # noqa: E501
- query_params.append(('limit', local_var_params['limit'])) # noqa: E501
- if 'account' in local_var_params and local_var_params['account'] is not None: # noqa: E501
- query_params.append(('account', local_var_params['account'])) # noqa: E501
-
- header_params = {}
-
- form_params = []
- local_var_files = {}
-
- body_params = None
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501
-
- # Authentication setting
- auth_settings = ['apiv4'] # noqa: E501
-
- return self.api_client.call_api(
- '/spot/open_orders',
- 'GET',
- path_params,
- query_params,
- header_params,
- body=body_params,
- post_params=form_params,
- files=local_var_files,
- response_type='list[OpenOrders]', # noqa: E501
- auth_settings=auth_settings,
- async_req=local_var_params.get('async_req'),
- _return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
- _preload_content=local_var_params.get('_preload_content', True),
- _request_timeout=local_var_params.get('_request_timeout'),
- collection_formats=collection_formats,
- )
-
- def create_cross_liquidate_order(self, liquidate_order, **kwargs): # noqa: E501
- """close position when cross-currency is disabled # noqa: E501
-
- Currently, only cross-margin accounts are supported to close position when cross currencies are disabled. Maximum buy quantity = (unpaid principal and interest - currency balance - the amount of the currency in the order book) / 0.998 # noqa: E501
- This method makes a synchronous HTTP request by default. To make an
- asynchronous HTTP request, please pass async_req=True
- >>> thread = api.create_cross_liquidate_order(liquidate_order, async_req=True)
- >>> result = thread.get()
-
- :param bool async_req: execute request asynchronously
- :param LiquidateOrder liquidate_order: (required)
- :param _preload_content: if False, the urllib3.HTTPResponse object will
- be returned without reading/decoding response
- data. Default is True.
- :param _request_timeout: timeout setting for this request. If one
- number provided, it will be total request
- timeout. It can also be a pair (tuple) of
- (connection, read) timeouts.
- :rtype: gate_api.Order
- :return: If the method is called asynchronously,
- returns the request thread.
- """
- kwargs['_return_http_data_only'] = True
- return self.create_cross_liquidate_order_with_http_info(liquidate_order, **kwargs) # noqa: E501
-
- def create_cross_liquidate_order_with_http_info(self, liquidate_order, **kwargs): # noqa: E501
- """close position when cross-currency is disabled # noqa: E501
-
- Currently, only cross-margin accounts are supported to close position when cross currencies are disabled. Maximum buy quantity = (unpaid principal and interest - currency balance - the amount of the currency in the order book) / 0.998 # noqa: E501
- This method makes a synchronous HTTP request by default. To make an
- asynchronous HTTP request, please pass async_req=True
- >>> thread = api.create_cross_liquidate_order_with_http_info(liquidate_order, async_req=True)
- >>> result = thread.get()
-
- :param bool async_req: execute request asynchronously
- :param LiquidateOrder liquidate_order: (required)
- :param _return_http_data_only: response data without head status code
- and headers
- :param _preload_content: if False, the urllib3.HTTPResponse object will
- be returned without reading/decoding response
- data. Default is True.
- :param _request_timeout: timeout setting for this request. If one
- number provided, it will be total request
- timeout. It can also be a pair (tuple) of
- (connection, read) timeouts.
- :rtype: tuple(gate_api.Order, status_code(int), headers(HTTPHeaderDict))
- :return: If the method is called asynchronously,
- returns the request thread.
- """
-
- local_var_params = locals()
-
- all_params = ['liquidate_order']
- all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout'])
-
- for k, v in six.iteritems(local_var_params['kwargs']):
- if k not in all_params:
- raise ApiTypeError(
- "Got an unexpected keyword argument '%s'" " to method create_cross_liquidate_order" % k
- )
- local_var_params[k] = v
- del local_var_params['kwargs']
- # verify the required parameter 'liquidate_order' is set
- if self.api_client.client_side_validation and (
- 'liquidate_order' not in local_var_params or local_var_params['liquidate_order'] is None # noqa: E501
- ): # noqa: E501
- raise ApiValueError(
- "Missing the required parameter `liquidate_order` when calling `create_cross_liquidate_order`"
- ) # noqa: E501
-
- collection_formats = {}
-
- path_params = {}
-
- query_params = []
-
- header_params = {}
-
- form_params = []
- local_var_files = {}
-
- body_params = None
- if 'liquidate_order' in local_var_params:
- body_params = local_var_params['liquidate_order']
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
- ['application/json']
- ) # noqa: E501
-
- # Authentication setting
- auth_settings = ['apiv4'] # noqa: E501
-
- return self.api_client.call_api(
- '/spot/cross_liquidate_orders',
- 'POST',
- path_params,
- query_params,
- header_params,
- body=body_params,
- post_params=form_params,
- files=local_var_files,
- response_type='Order', # noqa: E501
- auth_settings=auth_settings,
- async_req=local_var_params.get('async_req'),
- _return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
- _preload_content=local_var_params.get('_preload_content', True),
- _request_timeout=local_var_params.get('_request_timeout'),
- collection_formats=collection_formats,
- )
-
- def list_orders(self, currency_pair, status, **kwargs): # noqa: E501
- """List orders # noqa: E501
-
- Spot and margin orders are returned by default. If cross margin orders are needed, `account` must be set to `cross_margin` When `status` is `open`, i.e., listing open orders, only pagination parameters `page` and `limit` are supported and `limit` cannot be larger than 100. Query by `side` and time range parameters `from` and `to` are not supported. When `status` is `finished`, i.e., listing finished orders, pagination parameters, time range parameters `from` and `to`, and `side` parameters are all supported. Time range parameters are handled as order finish time. # noqa: E501
- This method makes a synchronous HTTP request by default. To make an
- asynchronous HTTP request, please pass async_req=True
- >>> thread = api.list_orders(currency_pair, status, async_req=True)
- >>> result = thread.get()
-
- :param bool async_req: execute request asynchronously
- :param str currency_pair: Retrieve results with specified currency pair. It is required for open orders, but optional for finished ones. (required)
- :param str status: List orders based on status `open` - order is waiting to be filled `finished` - order has been filled or cancelled (required)
- :param int page: Page number
- :param int limit: Maximum number of records to be returned. If `status` is `open`, maximum of `limit` is 100
- :param str account: Specify operation account. Default to spot and margin account if not specified. Set to `cross_margin` to operate against margin account. Portfolio margin account must set to `cross_margin` only
- :param int _from: Start timestamp of the query
- :param int to: Time range ending, default to current time
- :param str side: All bids or asks. Both included if not specified
- :param _preload_content: if False, the urllib3.HTTPResponse object will
- be returned without reading/decoding response
- data. Default is True.
- :param _request_timeout: timeout setting for this request. If one
- number provided, it will be total request
- timeout. It can also be a pair (tuple) of
- (connection, read) timeouts.
- :rtype: list[gate_api.Order]
- :return: If the method is called asynchronously,
- returns the request thread.
- """
- kwargs['_return_http_data_only'] = True
- return self.list_orders_with_http_info(currency_pair, status, **kwargs) # noqa: E501
-
- def list_orders_with_http_info(self, currency_pair, status, **kwargs): # noqa: E501
- """List orders # noqa: E501
-
- Spot and margin orders are returned by default. If cross margin orders are needed, `account` must be set to `cross_margin` When `status` is `open`, i.e., listing open orders, only pagination parameters `page` and `limit` are supported and `limit` cannot be larger than 100. Query by `side` and time range parameters `from` and `to` are not supported. When `status` is `finished`, i.e., listing finished orders, pagination parameters, time range parameters `from` and `to`, and `side` parameters are all supported. Time range parameters are handled as order finish time. # noqa: E501
- This method makes a synchronous HTTP request by default. To make an
- asynchronous HTTP request, please pass async_req=True
- >>> thread = api.list_orders_with_http_info(currency_pair, status, async_req=True)
- >>> result = thread.get()
-
- :param bool async_req: execute request asynchronously
- :param str currency_pair: Retrieve results with specified currency pair. It is required for open orders, but optional for finished ones. (required)
- :param str status: List orders based on status `open` - order is waiting to be filled `finished` - order has been filled or cancelled (required)
- :param int page: Page number
- :param int limit: Maximum number of records to be returned. If `status` is `open`, maximum of `limit` is 100
- :param str account: Specify operation account. Default to spot and margin account if not specified. Set to `cross_margin` to operate against margin account. Portfolio margin account must set to `cross_margin` only
- :param int _from: Start timestamp of the query
- :param int to: Time range ending, default to current time
- :param str side: All bids or asks. Both included if not specified
- :param _return_http_data_only: response data without head status code
- and headers
- :param _preload_content: if False, the urllib3.HTTPResponse object will
- be returned without reading/decoding response
- data. Default is True.
- :param _request_timeout: timeout setting for this request. If one
- number provided, it will be total request
- timeout. It can also be a pair (tuple) of
- (connection, read) timeouts.
- :rtype: tuple(list[gate_api.Order], status_code(int), headers(HTTPHeaderDict))
- :return: If the method is called asynchronously,
- returns the request thread.
- """
-
- local_var_params = locals()
-
- all_params = ['currency_pair', 'status', 'page', 'limit', 'account', '_from', 'to', 'side']
- all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout'])
-
- for k, v in six.iteritems(local_var_params['kwargs']):
- if k not in all_params:
- raise ApiTypeError("Got an unexpected keyword argument '%s'" " to method list_orders" % k)
- local_var_params[k] = v
- del local_var_params['kwargs']
- # verify the required parameter 'currency_pair' is set
- if self.api_client.client_side_validation and (
- 'currency_pair' not in local_var_params or local_var_params['currency_pair'] is None # noqa: E501
- ): # noqa: E501
- raise ApiValueError(
- "Missing the required parameter `currency_pair` when calling `list_orders`"
- ) # noqa: E501
- # verify the required parameter 'status' is set
- if self.api_client.client_side_validation and (
- 'status' not in local_var_params or local_var_params['status'] is None # noqa: E501
- ): # noqa: E501
- raise ApiValueError("Missing the required parameter `status` when calling `list_orders`") # noqa: E501
-
- if (
- self.api_client.client_side_validation and 'page' in local_var_params and local_var_params['page'] < 1
- ): # noqa: E501
- raise ApiValueError(
- "Invalid value for parameter `page` when calling `list_orders`, must be a value greater than or equal to `1`"
- ) # noqa: E501
- if (
- self.api_client.client_side_validation and 'limit' in local_var_params and local_var_params['limit'] > 1000
- ): # noqa: E501
- raise ApiValueError(
- "Invalid value for parameter `limit` when calling `list_orders`, must be a value less than or equal to `1000`"
- ) # noqa: E501
- if (
- self.api_client.client_side_validation and 'limit' in local_var_params and local_var_params['limit'] < 1
- ): # noqa: E501
- raise ApiValueError(
- "Invalid value for parameter `limit` when calling `list_orders`, must be a value greater than or equal to `1`"
- ) # noqa: E501
- collection_formats = {}
-
- path_params = {}
-
- query_params = []
- if 'currency_pair' in local_var_params and local_var_params['currency_pair'] is not None: # noqa: E501
- query_params.append(('currency_pair', local_var_params['currency_pair'])) # noqa: E501
- if 'status' in local_var_params and local_var_params['status'] is not None: # noqa: E501
- query_params.append(('status', local_var_params['status'])) # noqa: E501
- if 'page' in local_var_params and local_var_params['page'] is not None: # noqa: E501
- query_params.append(('page', local_var_params['page'])) # noqa: E501
- if 'limit' in local_var_params and local_var_params['limit'] is not None: # noqa: E501
- query_params.append(('limit', local_var_params['limit'])) # noqa: E501
- if 'account' in local_var_params and local_var_params['account'] is not None: # noqa: E501
- query_params.append(('account', local_var_params['account'])) # noqa: E501
- if '_from' in local_var_params and local_var_params['_from'] is not None: # noqa: E501
- query_params.append(('from', local_var_params['_from'])) # noqa: E501
- if 'to' in local_var_params and local_var_params['to'] is not None: # noqa: E501
- query_params.append(('to', local_var_params['to'])) # noqa: E501
- if 'side' in local_var_params and local_var_params['side'] is not None: # noqa: E501
- query_params.append(('side', local_var_params['side'])) # noqa: E501
-
- header_params = {}
-
- form_params = []
- local_var_files = {}
-
- body_params = None
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501
-
- # Authentication setting
- auth_settings = ['apiv4'] # noqa: E501
-
- return self.api_client.call_api(
- '/spot/orders',
- 'GET',
- path_params,
- query_params,
- header_params,
- body=body_params,
- post_params=form_params,
- files=local_var_files,
- response_type='list[Order]', # noqa: E501
- auth_settings=auth_settings,
- async_req=local_var_params.get('async_req'),
- _return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
- _preload_content=local_var_params.get('_preload_content', True),
- _request_timeout=local_var_params.get('_request_timeout'),
- collection_formats=collection_formats,
- )
-
- def create_order(self, order, **kwargs): # noqa: E501
- """Create an order # noqa: E501
-
- You can place orders with spot, margin or cross margin account through setting the `account `field. It defaults to `spot`, which means spot account is used to place orders. When margin account is used, i.e., `account` is `margin`, `auto_borrow` field can be set to `true` to enable the server to borrow the amount lacked using `POST /margin/loans` when your account's balance is not enough. Whether margin orders' fill will be used to repay margin loans automatically is determined by the auto repayment setting in your **margin account**, which can be updated or queried using `/margin/auto_repay` API. When cross margin account is used, i.e., `account` is `cross_margin`, `auto_borrow` can also be enabled to achieve borrowing the insufficient amount automatically if cross account's balance is not enough. But it differs from margin account that automatic repayment is determined by order's `auto_repay` field and only current order's fill will be used to repay cross margin loans. Automatic repayment will be triggered when the order is finished, i.e., its status is either `cancelled` or `closed`. **Order status** An order waiting to be filled is `open`, and it stays `open` until it is filled totally. If fully filled, order is finished and its status turns to `closed`.If the order is cancelled before it is totally filled, whether or not partially filled, its status is `cancelled`. **Iceberg order** `iceberg` field can be used to set the amount shown. Set to `-1` to hide the order completely. Note that the hidden part's fee will be charged using taker's fee rate. # noqa: E501
- This method makes a synchronous HTTP request by default. To make an
- asynchronous HTTP request, please pass async_req=True
- >>> thread = api.create_order(order, async_req=True)
- >>> result = thread.get()
-
- :param bool async_req: execute request asynchronously
- :param Order order: (required)
- :param _preload_content: if False, the urllib3.HTTPResponse object will
- be returned without reading/decoding response
- data. Default is True.
- :param _request_timeout: timeout setting for this request. If one
- number provided, it will be total request
- timeout. It can also be a pair (tuple) of
- (connection, read) timeouts.
- :rtype: gate_api.Order
- :return: If the method is called asynchronously,
- returns the request thread.
- """
- kwargs['_return_http_data_only'] = True
- return self.create_order_with_http_info(order, **kwargs) # noqa: E501
-
- def create_order_with_http_info(self, order, **kwargs): # noqa: E501
- """Create an order # noqa: E501
-
- You can place orders with spot, margin or cross margin account through setting the `account `field. It defaults to `spot`, which means spot account is used to place orders. When margin account is used, i.e., `account` is `margin`, `auto_borrow` field can be set to `true` to enable the server to borrow the amount lacked using `POST /margin/loans` when your account's balance is not enough. Whether margin orders' fill will be used to repay margin loans automatically is determined by the auto repayment setting in your **margin account**, which can be updated or queried using `/margin/auto_repay` API. When cross margin account is used, i.e., `account` is `cross_margin`, `auto_borrow` can also be enabled to achieve borrowing the insufficient amount automatically if cross account's balance is not enough. But it differs from margin account that automatic repayment is determined by order's `auto_repay` field and only current order's fill will be used to repay cross margin loans. Automatic repayment will be triggered when the order is finished, i.e., its status is either `cancelled` or `closed`. **Order status** An order waiting to be filled is `open`, and it stays `open` until it is filled totally. If fully filled, order is finished and its status turns to `closed`.If the order is cancelled before it is totally filled, whether or not partially filled, its status is `cancelled`. **Iceberg order** `iceberg` field can be used to set the amount shown. Set to `-1` to hide the order completely. Note that the hidden part's fee will be charged using taker's fee rate. # noqa: E501
- This method makes a synchronous HTTP request by default. To make an
- asynchronous HTTP request, please pass async_req=True
- >>> thread = api.create_order_with_http_info(order, async_req=True)
- >>> result = thread.get()
-
- :param bool async_req: execute request asynchronously
- :param Order order: (required)
- :param _return_http_data_only: response data without head status code
- and headers
- :param _preload_content: if False, the urllib3.HTTPResponse object will
- be returned without reading/decoding response
- data. Default is True.
- :param _request_timeout: timeout setting for this request. If one
- number provided, it will be total request
- timeout. It can also be a pair (tuple) of
- (connection, read) timeouts.
- :rtype: tuple(gate_api.Order, status_code(int), headers(HTTPHeaderDict))
- :return: If the method is called asynchronously,
- returns the request thread.
- """
-
- local_var_params = locals()
-
- all_params = ['order']
- all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout'])
-
- for k, v in six.iteritems(local_var_params['kwargs']):
- if k not in all_params:
- raise ApiTypeError("Got an unexpected keyword argument '%s'" " to method create_order" % k)
- local_var_params[k] = v
- del local_var_params['kwargs']
- # verify the required parameter 'order' is set
- if self.api_client.client_side_validation and (
- 'order' not in local_var_params or local_var_params['order'] is None # noqa: E501
- ): # noqa: E501
- raise ApiValueError("Missing the required parameter `order` when calling `create_order`") # noqa: E501
-
- collection_formats = {}
-
- path_params = {}
-
- query_params = []
-
- header_params = {}
-
- form_params = []
- local_var_files = {}
-
- body_params = None
- if 'order' in local_var_params:
- body_params = local_var_params['order']
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
- ['application/json']
- ) # noqa: E501
-
- # Authentication setting
- auth_settings = ['apiv4'] # noqa: E501
-
- return self.api_client.call_api(
- '/spot/orders',
- 'POST',
- path_params,
- query_params,
- header_params,
- body=body_params,
- post_params=form_params,
- files=local_var_files,
- response_type='Order', # noqa: E501
- auth_settings=auth_settings,
- async_req=local_var_params.get('async_req'),
- _return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
- _preload_content=local_var_params.get('_preload_content', True),
- _request_timeout=local_var_params.get('_request_timeout'),
- collection_formats=collection_formats,
- )
-
- def cancel_orders(self, currency_pair, **kwargs): # noqa: E501
- """Cancel all `open` orders in specified currency pair # noqa: E501
-
- If `account` is not set, all open orders, including spot, margin and cross margin ones, will be cancelled. You can set `account` to cancel only orders within the specified account # noqa: E501
- This method makes a synchronous HTTP request by default. To make an
- asynchronous HTTP request, please pass async_req=True
- >>> thread = api.cancel_orders(currency_pair, async_req=True)
- >>> result = thread.get()
-
- :param bool async_req: execute request asynchronously
- :param str currency_pair: Currency pair (required)
- :param str side: All bids or asks. Both included if not specified
- :param str account: Specify account type - classic account:Default to all account types being included - portfolio margin account:`cross_margin` only
- :param _preload_content: if False, the urllib3.HTTPResponse object will
- be returned without reading/decoding response
- data. Default is True.
- :param _request_timeout: timeout setting for this request. If one
- number provided, it will be total request
- timeout. It can also be a pair (tuple) of
- (connection, read) timeouts.
- :rtype: list[gate_api.Order]
- :return: If the method is called asynchronously,
- returns the request thread.
- """
- kwargs['_return_http_data_only'] = True
- return self.cancel_orders_with_http_info(currency_pair, **kwargs) # noqa: E501
-
- def cancel_orders_with_http_info(self, currency_pair, **kwargs): # noqa: E501
- """Cancel all `open` orders in specified currency pair # noqa: E501
-
- If `account` is not set, all open orders, including spot, margin and cross margin ones, will be cancelled. You can set `account` to cancel only orders within the specified account # noqa: E501
- This method makes a synchronous HTTP request by default. To make an
- asynchronous HTTP request, please pass async_req=True
- >>> thread = api.cancel_orders_with_http_info(currency_pair, async_req=True)
- >>> result = thread.get()
-
- :param bool async_req: execute request asynchronously
- :param str currency_pair: Currency pair (required)
- :param str side: All bids or asks. Both included if not specified
- :param str account: Specify account type - classic account:Default to all account types being included - portfolio margin account:`cross_margin` only
- :param _return_http_data_only: response data without head status code
- and headers
- :param _preload_content: if False, the urllib3.HTTPResponse object will
- be returned without reading/decoding response
- data. Default is True.
- :param _request_timeout: timeout setting for this request. If one
- number provided, it will be total request
- timeout. It can also be a pair (tuple) of
- (connection, read) timeouts.
- :rtype: tuple(list[gate_api.Order], status_code(int), headers(HTTPHeaderDict))
- :return: If the method is called asynchronously,
- returns the request thread.
- """
-
- local_var_params = locals()
-
- all_params = ['currency_pair', 'side', 'account']
- all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout'])
-
- for k, v in six.iteritems(local_var_params['kwargs']):
- if k not in all_params:
- raise ApiTypeError("Got an unexpected keyword argument '%s'" " to method cancel_orders" % k)
- local_var_params[k] = v
- del local_var_params['kwargs']
- # verify the required parameter 'currency_pair' is set
- if self.api_client.client_side_validation and (
- 'currency_pair' not in local_var_params or local_var_params['currency_pair'] is None # noqa: E501
- ): # noqa: E501
- raise ApiValueError(
- "Missing the required parameter `currency_pair` when calling `cancel_orders`"
- ) # noqa: E501
-
- collection_formats = {}
-
- path_params = {}
-
- query_params = []
- if 'currency_pair' in local_var_params and local_var_params['currency_pair'] is not None: # noqa: E501
- query_params.append(('currency_pair', local_var_params['currency_pair'])) # noqa: E501
- if 'side' in local_var_params and local_var_params['side'] is not None: # noqa: E501
- query_params.append(('side', local_var_params['side'])) # noqa: E501
- if 'account' in local_var_params and local_var_params['account'] is not None: # noqa: E501
- query_params.append(('account', local_var_params['account'])) # noqa: E501
-
- header_params = {}
-
- form_params = []
- local_var_files = {}
-
- body_params = None
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501
-
- # Authentication setting
- auth_settings = ['apiv4'] # noqa: E501
-
- return self.api_client.call_api(
- '/spot/orders',
- 'DELETE',
- path_params,
- query_params,
- header_params,
- body=body_params,
- post_params=form_params,
- files=local_var_files,
- response_type='list[Order]', # noqa: E501
- auth_settings=auth_settings,
- async_req=local_var_params.get('async_req'),
- _return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
- _preload_content=local_var_params.get('_preload_content', True),
- _request_timeout=local_var_params.get('_request_timeout'),
- collection_formats=collection_formats,
- )
-
- def cancel_batch_orders(self, cancel_order, **kwargs): # noqa: E501
- """Cancel a batch of orders with an ID list # noqa: E501
-
- Multiple currency pairs can be specified, but maximum 20 orders are allowed per request # noqa: E501
- This method makes a synchronous HTTP request by default. To make an
- asynchronous HTTP request, please pass async_req=True
- >>> thread = api.cancel_batch_orders(cancel_order, async_req=True)
- >>> result = thread.get()
-
- :param bool async_req: execute request asynchronously
- :param list[CancelOrder] cancel_order: (required)
- :param _preload_content: if False, the urllib3.HTTPResponse object will
- be returned without reading/decoding response
- data. Default is True.
- :param _request_timeout: timeout setting for this request. If one
- number provided, it will be total request
- timeout. It can also be a pair (tuple) of
- (connection, read) timeouts.
- :rtype: list[gate_api.CancelOrderResult]
- :return: If the method is called asynchronously,
- returns the request thread.
- """
- kwargs['_return_http_data_only'] = True
- return self.cancel_batch_orders_with_http_info(cancel_order, **kwargs) # noqa: E501
-
- def cancel_batch_orders_with_http_info(self, cancel_order, **kwargs): # noqa: E501
- """Cancel a batch of orders with an ID list # noqa: E501
-
- Multiple currency pairs can be specified, but maximum 20 orders are allowed per request # noqa: E501
- This method makes a synchronous HTTP request by default. To make an
- asynchronous HTTP request, please pass async_req=True
- >>> thread = api.cancel_batch_orders_with_http_info(cancel_order, async_req=True)
- >>> result = thread.get()
-
- :param bool async_req: execute request asynchronously
- :param list[CancelOrder] cancel_order: (required)
- :param _return_http_data_only: response data without head status code
- and headers
- :param _preload_content: if False, the urllib3.HTTPResponse object will
- be returned without reading/decoding response
- data. Default is True.
- :param _request_timeout: timeout setting for this request. If one
- number provided, it will be total request
- timeout. It can also be a pair (tuple) of
- (connection, read) timeouts.
- :rtype: tuple(list[gate_api.CancelOrderResult], status_code(int), headers(HTTPHeaderDict))
- :return: If the method is called asynchronously,
- returns the request thread.
- """
-
- local_var_params = locals()
-
- all_params = ['cancel_order']
- all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout'])
-
- for k, v in six.iteritems(local_var_params['kwargs']):
- if k not in all_params:
- raise ApiTypeError("Got an unexpected keyword argument '%s'" " to method cancel_batch_orders" % k)
- local_var_params[k] = v
- del local_var_params['kwargs']
- # verify the required parameter 'cancel_order' is set
- if self.api_client.client_side_validation and (
- 'cancel_order' not in local_var_params or local_var_params['cancel_order'] is None # noqa: E501
- ): # noqa: E501
- raise ApiValueError(
- "Missing the required parameter `cancel_order` when calling `cancel_batch_orders`"
- ) # noqa: E501
-
- collection_formats = {}
-
- path_params = {}
-
- query_params = []
-
- header_params = {}
-
- form_params = []
- local_var_files = {}
-
- body_params = None
- if 'cancel_order' in local_var_params:
- body_params = local_var_params['cancel_order']
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
- ['application/json']
- ) # noqa: E501
-
- # Authentication setting
- auth_settings = ['apiv4'] # noqa: E501
-
- return self.api_client.call_api(
- '/spot/cancel_batch_orders',
- 'POST',
- path_params,
- query_params,
- header_params,
- body=body_params,
- post_params=form_params,
- files=local_var_files,
- response_type='list[CancelOrderResult]', # noqa: E501
- auth_settings=auth_settings,
- async_req=local_var_params.get('async_req'),
- _return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
- _preload_content=local_var_params.get('_preload_content', True),
- _request_timeout=local_var_params.get('_request_timeout'),
- collection_formats=collection_formats,
- )
-
- def get_order(self, order_id, currency_pair, **kwargs): # noqa: E501
- """Get a single order # noqa: E501
-
- Spot and margin orders are queried by default. If cross margin orders are needed or portfolio margin account are used, account must be set to cross_margin. # noqa: E501
- This method makes a synchronous HTTP request by default. To make an
- asynchronous HTTP request, please pass async_req=True
- >>> thread = api.get_order(order_id, currency_pair, async_req=True)
- >>> result = thread.get()
-
- :param bool async_req: execute request asynchronously
- :param str order_id: Order ID returned, or user custom ID(i.e., `text` field). Operations based on custom ID can only be checked when the order is in orderbook. When the order is finished, it can be checked within 1 hour after the end of the order. After that, only order ID is accepted. (required)
- :param str currency_pair: Currency pair (required)
- :param str account: Specify operation account. Default to spot and margin account if not specified. Set to `cross_margin` to operate against margin account. Portfolio margin account must set to `cross_margin` only
- :param _preload_content: if False, the urllib3.HTTPResponse object will
- be returned without reading/decoding response
- data. Default is True.
- :param _request_timeout: timeout setting for this request. If one
- number provided, it will be total request
- timeout. It can also be a pair (tuple) of
- (connection, read) timeouts.
- :rtype: gate_api.Order
- :return: If the method is called asynchronously,
- returns the request thread.
- """
- kwargs['_return_http_data_only'] = True
- return self.get_order_with_http_info(order_id, currency_pair, **kwargs) # noqa: E501
-
- def get_order_with_http_info(self, order_id, currency_pair, **kwargs): # noqa: E501
- """Get a single order # noqa: E501
-
- Spot and margin orders are queried by default. If cross margin orders are needed or portfolio margin account are used, account must be set to cross_margin. # noqa: E501
- This method makes a synchronous HTTP request by default. To make an
- asynchronous HTTP request, please pass async_req=True
- >>> thread = api.get_order_with_http_info(order_id, currency_pair, async_req=True)
- >>> result = thread.get()
-
- :param bool async_req: execute request asynchronously
- :param str order_id: Order ID returned, or user custom ID(i.e., `text` field). Operations based on custom ID can only be checked when the order is in orderbook. When the order is finished, it can be checked within 1 hour after the end of the order. After that, only order ID is accepted. (required)
- :param str currency_pair: Currency pair (required)
- :param str account: Specify operation account. Default to spot and margin account if not specified. Set to `cross_margin` to operate against margin account. Portfolio margin account must set to `cross_margin` only
- :param _return_http_data_only: response data without head status code
- and headers
- :param _preload_content: if False, the urllib3.HTTPResponse object will
- be returned without reading/decoding response
- data. Default is True.
- :param _request_timeout: timeout setting for this request. If one
- number provided, it will be total request
- timeout. It can also be a pair (tuple) of
- (connection, read) timeouts.
- :rtype: tuple(gate_api.Order, status_code(int), headers(HTTPHeaderDict))
- :return: If the method is called asynchronously,
- returns the request thread.
- """
-
- local_var_params = locals()
-
- all_params = ['order_id', 'currency_pair', 'account']
- all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout'])
-
- for k, v in six.iteritems(local_var_params['kwargs']):
- if k not in all_params:
- raise ApiTypeError("Got an unexpected keyword argument '%s'" " to method get_order" % k)
- local_var_params[k] = v
- del local_var_params['kwargs']
- # verify the required parameter 'order_id' is set
- if self.api_client.client_side_validation and (
- 'order_id' not in local_var_params or local_var_params['order_id'] is None # noqa: E501
- ): # noqa: E501
- raise ApiValueError("Missing the required parameter `order_id` when calling `get_order`") # noqa: E501
- # verify the required parameter 'currency_pair' is set
- if self.api_client.client_side_validation and (
- 'currency_pair' not in local_var_params or local_var_params['currency_pair'] is None # noqa: E501
- ): # noqa: E501
- raise ApiValueError("Missing the required parameter `currency_pair` when calling `get_order`") # noqa: E501
-
- collection_formats = {}
-
- path_params = {}
- if 'order_id' in local_var_params:
- path_params['order_id'] = local_var_params['order_id'] # noqa: E501
-
- query_params = []
- if 'currency_pair' in local_var_params and local_var_params['currency_pair'] is not None: # noqa: E501
- query_params.append(('currency_pair', local_var_params['currency_pair'])) # noqa: E501
- if 'account' in local_var_params and local_var_params['account'] is not None: # noqa: E501
- query_params.append(('account', local_var_params['account'])) # noqa: E501
-
- header_params = {}
-
- form_params = []
- local_var_files = {}
-
- body_params = None
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501
-
- # Authentication setting
- auth_settings = ['apiv4'] # noqa: E501
-
- return self.api_client.call_api(
- '/spot/orders/{order_id}',
- 'GET',
- path_params,
- query_params,
- header_params,
- body=body_params,
- post_params=form_params,
- files=local_var_files,
- response_type='Order', # noqa: E501
- auth_settings=auth_settings,
- async_req=local_var_params.get('async_req'),
- _return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
- _preload_content=local_var_params.get('_preload_content', True),
- _request_timeout=local_var_params.get('_request_timeout'),
- collection_formats=collection_formats,
- )
-
- def cancel_order(self, order_id, currency_pair, **kwargs): # noqa: E501
- """Cancel a single order # noqa: E501
-
- Spot and margin orders are cancelled by default. If trying to cancel cross margin orders or portfolio margin account are used, account must be set to cross_margin # noqa: E501
- This method makes a synchronous HTTP request by default. To make an
- asynchronous HTTP request, please pass async_req=True
- >>> thread = api.cancel_order(order_id, currency_pair, async_req=True)
- >>> result = thread.get()
-
- :param bool async_req: execute request asynchronously
- :param str order_id: Order ID returned, or user custom ID(i.e., `text` field). Operations based on custom ID can only be checked when the order is in orderbook. When the order is finished, it can be checked within 1 hour after the end of the order. After that, only order ID is accepted. (required)
- :param str currency_pair: Currency pair (required)
- :param str account: Specify operation account. Default to spot and margin account if not specified. Set to `cross_margin` to operate against margin account. Portfolio margin account must set to `cross_margin` only
- :param _preload_content: if False, the urllib3.HTTPResponse object will
- be returned without reading/decoding response
- data. Default is True.
- :param _request_timeout: timeout setting for this request. If one
- number provided, it will be total request
- timeout. It can also be a pair (tuple) of
- (connection, read) timeouts.
- :rtype: gate_api.Order
- :return: If the method is called asynchronously,
- returns the request thread.
- """
- kwargs['_return_http_data_only'] = True
- return self.cancel_order_with_http_info(order_id, currency_pair, **kwargs) # noqa: E501
-
- def cancel_order_with_http_info(self, order_id, currency_pair, **kwargs): # noqa: E501
- """Cancel a single order # noqa: E501
-
- Spot and margin orders are cancelled by default. If trying to cancel cross margin orders or portfolio margin account are used, account must be set to cross_margin # noqa: E501
- This method makes a synchronous HTTP request by default. To make an
- asynchronous HTTP request, please pass async_req=True
- >>> thread = api.cancel_order_with_http_info(order_id, currency_pair, async_req=True)
- >>> result = thread.get()
-
- :param bool async_req: execute request asynchronously
- :param str order_id: Order ID returned, or user custom ID(i.e., `text` field). Operations based on custom ID can only be checked when the order is in orderbook. When the order is finished, it can be checked within 1 hour after the end of the order. After that, only order ID is accepted. (required)
- :param str currency_pair: Currency pair (required)
- :param str account: Specify operation account. Default to spot and margin account if not specified. Set to `cross_margin` to operate against margin account. Portfolio margin account must set to `cross_margin` only
- :param _return_http_data_only: response data without head status code
- and headers
- :param _preload_content: if False, the urllib3.HTTPResponse object will
- be returned without reading/decoding response
- data. Default is True.
- :param _request_timeout: timeout setting for this request. If one
- number provided, it will be total request
- timeout. It can also be a pair (tuple) of
- (connection, read) timeouts.
- :rtype: tuple(gate_api.Order, status_code(int), headers(HTTPHeaderDict))
- :return: If the method is called asynchronously,
- returns the request thread.
- """
-
- local_var_params = locals()
-
- all_params = ['order_id', 'currency_pair', 'account']
- all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout'])
-
- for k, v in six.iteritems(local_var_params['kwargs']):
- if k not in all_params:
- raise ApiTypeError("Got an unexpected keyword argument '%s'" " to method cancel_order" % k)
- local_var_params[k] = v
- del local_var_params['kwargs']
- # verify the required parameter 'order_id' is set
- if self.api_client.client_side_validation and (
- 'order_id' not in local_var_params or local_var_params['order_id'] is None # noqa: E501
- ): # noqa: E501
- raise ApiValueError("Missing the required parameter `order_id` when calling `cancel_order`") # noqa: E501
- # verify the required parameter 'currency_pair' is set
- if self.api_client.client_side_validation and (
- 'currency_pair' not in local_var_params or local_var_params['currency_pair'] is None # noqa: E501
- ): # noqa: E501
- raise ApiValueError(
- "Missing the required parameter `currency_pair` when calling `cancel_order`"
- ) # noqa: E501
-
- collection_formats = {}
-
- path_params = {}
- if 'order_id' in local_var_params:
- path_params['order_id'] = local_var_params['order_id'] # noqa: E501
-
- query_params = []
- if 'currency_pair' in local_var_params and local_var_params['currency_pair'] is not None: # noqa: E501
- query_params.append(('currency_pair', local_var_params['currency_pair'])) # noqa: E501
- if 'account' in local_var_params and local_var_params['account'] is not None: # noqa: E501
- query_params.append(('account', local_var_params['account'])) # noqa: E501
-
- header_params = {}
-
- form_params = []
- local_var_files = {}
-
- body_params = None
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501
-
- # Authentication setting
- auth_settings = ['apiv4'] # noqa: E501
-
- return self.api_client.call_api(
- '/spot/orders/{order_id}',
- 'DELETE',
- path_params,
- query_params,
- header_params,
- body=body_params,
- post_params=form_params,
- files=local_var_files,
- response_type='Order', # noqa: E501
- auth_settings=auth_settings,
- async_req=local_var_params.get('async_req'),
- _return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
- _preload_content=local_var_params.get('_preload_content', True),
- _request_timeout=local_var_params.get('_request_timeout'),
- collection_formats=collection_formats,
- )
-
- def amend_order(self, order_id, currency_pair, order_patch, **kwargs): # noqa: E501
- """Amend an order # noqa: E501
-
- By default, the orders of spot and margin account are updated. If you need to modify orders of the `cross-margin` account, you must specify account as `cross_margin`. For portfolio margin account, only `cross_margin` account is supported. Currently, only supports modification of `price` or `amount` fields. Regarding rate limiting: modify order and create order sharing rate limiting rules. Regarding matching priority: only modifying the amount does not affect the priority. If the price is modified, the priority will be adjusted to the last of the new price. Note: If the modified amount is less than the fill amount, the order will be cancelled. # noqa: E501
- This method makes a synchronous HTTP request by default. To make an
- asynchronous HTTP request, please pass async_req=True
- >>> thread = api.amend_order(order_id, currency_pair, order_patch, async_req=True)
- >>> result = thread.get()
-
- :param bool async_req: execute request asynchronously
- :param str order_id: Order ID returned, or user custom ID(i.e., `text` field). Operations based on custom ID can only be checked when the order is in orderbook. When the order is finished, it can be checked within 1 hour after the end of the order. After that, only order ID is accepted. (required)
- :param str currency_pair: Currency pair (required)
- :param OrderPatch order_patch: (required)
- :param str account: Specify operation account. Default to spot and margin account if not specified. Set to `cross_margin` to operate against margin account. Portfolio margin account must set to `cross_margin` only
- :param _preload_content: if False, the urllib3.HTTPResponse object will
- be returned without reading/decoding response
- data. Default is True.
- :param _request_timeout: timeout setting for this request. If one
- number provided, it will be total request
- timeout. It can also be a pair (tuple) of
- (connection, read) timeouts.
- :rtype: gate_api.Order
- :return: If the method is called asynchronously,
- returns the request thread.
- """
- kwargs['_return_http_data_only'] = True
- return self.amend_order_with_http_info(order_id, currency_pair, order_patch, **kwargs) # noqa: E501
-
- def amend_order_with_http_info(self, order_id, currency_pair, order_patch, **kwargs): # noqa: E501
- """Amend an order # noqa: E501
-
- By default, the orders of spot and margin account are updated. If you need to modify orders of the `cross-margin` account, you must specify account as `cross_margin`. For portfolio margin account, only `cross_margin` account is supported. Currently, only supports modification of `price` or `amount` fields. Regarding rate limiting: modify order and create order sharing rate limiting rules. Regarding matching priority: only modifying the amount does not affect the priority. If the price is modified, the priority will be adjusted to the last of the new price. Note: If the modified amount is less than the fill amount, the order will be cancelled. # noqa: E501
- This method makes a synchronous HTTP request by default. To make an
- asynchronous HTTP request, please pass async_req=True
- >>> thread = api.amend_order_with_http_info(order_id, currency_pair, order_patch, async_req=True)
- >>> result = thread.get()
-
- :param bool async_req: execute request asynchronously
- :param str order_id: Order ID returned, or user custom ID(i.e., `text` field). Operations based on custom ID can only be checked when the order is in orderbook. When the order is finished, it can be checked within 1 hour after the end of the order. After that, only order ID is accepted. (required)
- :param str currency_pair: Currency pair (required)
- :param OrderPatch order_patch: (required)
- :param str account: Specify operation account. Default to spot and margin account if not specified. Set to `cross_margin` to operate against margin account. Portfolio margin account must set to `cross_margin` only
- :param _return_http_data_only: response data without head status code
- and headers
- :param _preload_content: if False, the urllib3.HTTPResponse object will
- be returned without reading/decoding response
- data. Default is True.
- :param _request_timeout: timeout setting for this request. If one
- number provided, it will be total request
- timeout. It can also be a pair (tuple) of
- (connection, read) timeouts.
- :rtype: tuple(gate_api.Order, status_code(int), headers(HTTPHeaderDict))
- :return: If the method is called asynchronously,
- returns the request thread.
- """
-
- local_var_params = locals()
-
- all_params = ['order_id', 'currency_pair', 'order_patch', 'account']
- all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout'])
-
- for k, v in six.iteritems(local_var_params['kwargs']):
- if k not in all_params:
- raise ApiTypeError("Got an unexpected keyword argument '%s'" " to method amend_order" % k)
- local_var_params[k] = v
- del local_var_params['kwargs']
- # verify the required parameter 'order_id' is set
- if self.api_client.client_side_validation and (
- 'order_id' not in local_var_params or local_var_params['order_id'] is None # noqa: E501
- ): # noqa: E501
- raise ApiValueError("Missing the required parameter `order_id` when calling `amend_order`") # noqa: E501
- # verify the required parameter 'currency_pair' is set
- if self.api_client.client_side_validation and (
- 'currency_pair' not in local_var_params or local_var_params['currency_pair'] is None # noqa: E501
- ): # noqa: E501
- raise ApiValueError(
- "Missing the required parameter `currency_pair` when calling `amend_order`"
- ) # noqa: E501
- # verify the required parameter 'order_patch' is set
- if self.api_client.client_side_validation and (
- 'order_patch' not in local_var_params or local_var_params['order_patch'] is None # noqa: E501
- ): # noqa: E501
- raise ApiValueError("Missing the required parameter `order_patch` when calling `amend_order`") # noqa: E501
-
- collection_formats = {}
-
- path_params = {}
- if 'order_id' in local_var_params:
- path_params['order_id'] = local_var_params['order_id'] # noqa: E501
-
- query_params = []
- if 'currency_pair' in local_var_params and local_var_params['currency_pair'] is not None: # noqa: E501
- query_params.append(('currency_pair', local_var_params['currency_pair'])) # noqa: E501
- if 'account' in local_var_params and local_var_params['account'] is not None: # noqa: E501
- query_params.append(('account', local_var_params['account'])) # noqa: E501
-
- header_params = {}
-
- form_params = []
- local_var_files = {}
-
- body_params = None
- if 'order_patch' in local_var_params:
- body_params = local_var_params['order_patch']
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
- ['application/json']
- ) # noqa: E501
-
- # Authentication setting
- auth_settings = ['apiv4'] # noqa: E501
-
- return self.api_client.call_api(
- '/spot/orders/{order_id}',
- 'PATCH',
- path_params,
- query_params,
- header_params,
- body=body_params,
- post_params=form_params,
- files=local_var_files,
- response_type='Order', # noqa: E501
- auth_settings=auth_settings,
- async_req=local_var_params.get('async_req'),
- _return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
- _preload_content=local_var_params.get('_preload_content', True),
- _request_timeout=local_var_params.get('_request_timeout'),
- collection_formats=collection_formats,
- )
-
- def list_my_trades(self, **kwargs): # noqa: E501
- """List personal trading history # noqa: E501
-
- Spot and margin trades are queried by default. If cross margin trades are needed, `account` must be set to `cross_margin` You can also set `from` and(or) `to` to query by time range. If you don't specify `from` and/or `to` parameters, only the last 7 days of data will be retured. The range of `from` and `to` is not alloed to exceed 30 days. Time range parameters are handled as order finish time. # noqa: E501
- This method makes a synchronous HTTP request by default. To make an
- asynchronous HTTP request, please pass async_req=True
- >>> thread = api.list_my_trades(async_req=True)
- >>> result = thread.get()
-
- :param bool async_req: execute request asynchronously
- :param str currency_pair: Retrieve results with specified currency pair
- :param int limit: Maximum number of records to be returned in a single list
- :param int page: Page number
- :param str order_id: Filter trades with specified order ID. `currency_pair` is also required if this field is present
- :param str account: Specify operation account. Default to spot and margin account if not specified. Set to `cross_margin` to operate against margin account. Portfolio margin account must set to `cross_margin` only
- :param int _from: Start timestamp of the query
- :param int to: Time range ending, default to current time
- :param _preload_content: if False, the urllib3.HTTPResponse object will
- be returned without reading/decoding response
- data. Default is True.
- :param _request_timeout: timeout setting for this request. If one
- number provided, it will be total request
- timeout. It can also be a pair (tuple) of
- (connection, read) timeouts.
- :rtype: list[gate_api.Trade]
- :return: If the method is called asynchronously,
- returns the request thread.
- """
- kwargs['_return_http_data_only'] = True
- return self.list_my_trades_with_http_info(**kwargs) # noqa: E501
-
- def list_my_trades_with_http_info(self, **kwargs): # noqa: E501
- """List personal trading history # noqa: E501
-
- Spot and margin trades are queried by default. If cross margin trades are needed, `account` must be set to `cross_margin` You can also set `from` and(or) `to` to query by time range. If you don't specify `from` and/or `to` parameters, only the last 7 days of data will be retured. The range of `from` and `to` is not alloed to exceed 30 days. Time range parameters are handled as order finish time. # noqa: E501
- This method makes a synchronous HTTP request by default. To make an
- asynchronous HTTP request, please pass async_req=True
- >>> thread = api.list_my_trades_with_http_info(async_req=True)
- >>> result = thread.get()
-
- :param bool async_req: execute request asynchronously
- :param str currency_pair: Retrieve results with specified currency pair
- :param int limit: Maximum number of records to be returned in a single list
- :param int page: Page number
- :param str order_id: Filter trades with specified order ID. `currency_pair` is also required if this field is present
- :param str account: Specify operation account. Default to spot and margin account if not specified. Set to `cross_margin` to operate against margin account. Portfolio margin account must set to `cross_margin` only
- :param int _from: Start timestamp of the query
- :param int to: Time range ending, default to current time
- :param _return_http_data_only: response data without head status code
- and headers
- :param _preload_content: if False, the urllib3.HTTPResponse object will
- be returned without reading/decoding response
- data. Default is True.
- :param _request_timeout: timeout setting for this request. If one
- number provided, it will be total request
- timeout. It can also be a pair (tuple) of
- (connection, read) timeouts.
- :rtype: tuple(list[gate_api.Trade], status_code(int), headers(HTTPHeaderDict))
- :return: If the method is called asynchronously,
- returns the request thread.
- """
-
- local_var_params = locals()
-
- all_params = ['currency_pair', 'limit', 'page', 'order_id', 'account', '_from', 'to']
- all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout'])
-
- for k, v in six.iteritems(local_var_params['kwargs']):
- if k not in all_params:
- raise ApiTypeError("Got an unexpected keyword argument '%s'" " to method list_my_trades" % k)
- local_var_params[k] = v
- del local_var_params['kwargs']
-
- if (
- self.api_client.client_side_validation and 'limit' in local_var_params and local_var_params['limit'] > 1000
- ): # noqa: E501
- raise ApiValueError(
- "Invalid value for parameter `limit` when calling `list_my_trades`, must be a value less than or equal to `1000`"
- ) # noqa: E501
- if (
- self.api_client.client_side_validation and 'limit' in local_var_params and local_var_params['limit'] < 1
- ): # noqa: E501
- raise ApiValueError(
- "Invalid value for parameter `limit` when calling `list_my_trades`, must be a value greater than or equal to `1`"
- ) # noqa: E501
- if (
- self.api_client.client_side_validation and 'page' in local_var_params and local_var_params['page'] < 1
- ): # noqa: E501
- raise ApiValueError(
- "Invalid value for parameter `page` when calling `list_my_trades`, must be a value greater than or equal to `1`"
- ) # noqa: E501
- collection_formats = {}
-
- path_params = {}
-
- query_params = []
- if 'currency_pair' in local_var_params and local_var_params['currency_pair'] is not None: # noqa: E501
- query_params.append(('currency_pair', local_var_params['currency_pair'])) # noqa: E501
- if 'limit' in local_var_params and local_var_params['limit'] is not None: # noqa: E501
- query_params.append(('limit', local_var_params['limit'])) # noqa: E501
- if 'page' in local_var_params and local_var_params['page'] is not None: # noqa: E501
- query_params.append(('page', local_var_params['page'])) # noqa: E501
- if 'order_id' in local_var_params and local_var_params['order_id'] is not None: # noqa: E501
- query_params.append(('order_id', local_var_params['order_id'])) # noqa: E501
- if 'account' in local_var_params and local_var_params['account'] is not None: # noqa: E501
- query_params.append(('account', local_var_params['account'])) # noqa: E501
- if '_from' in local_var_params and local_var_params['_from'] is not None: # noqa: E501
- query_params.append(('from', local_var_params['_from'])) # noqa: E501
- if 'to' in local_var_params and local_var_params['to'] is not None: # noqa: E501
- query_params.append(('to', local_var_params['to'])) # noqa: E501
-
- header_params = {}
-
- form_params = []
- local_var_files = {}
-
- body_params = None
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501
-
- # Authentication setting
- auth_settings = ['apiv4'] # noqa: E501
-
- return self.api_client.call_api(
- '/spot/my_trades',
- 'GET',
- path_params,
- query_params,
- header_params,
- body=body_params,
- post_params=form_params,
- files=local_var_files,
- response_type='list[Trade]', # noqa: E501
- auth_settings=auth_settings,
- async_req=local_var_params.get('async_req'),
- _return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
- _preload_content=local_var_params.get('_preload_content', True),
- _request_timeout=local_var_params.get('_request_timeout'),
- collection_formats=collection_formats,
- )
-
- def get_system_time(self, **kwargs): # noqa: E501
- """Get server current time # noqa: E501
-
- This method makes a synchronous HTTP request by default. To make an
- asynchronous HTTP request, please pass async_req=True
- >>> thread = api.get_system_time(async_req=True)
- >>> result = thread.get()
-
- :param bool async_req: execute request asynchronously
- :param _preload_content: if False, the urllib3.HTTPResponse object will
- be returned without reading/decoding response
- data. Default is True.
- :param _request_timeout: timeout setting for this request. If one
- number provided, it will be total request
- timeout. It can also be a pair (tuple) of
- (connection, read) timeouts.
- :rtype: gate_api.SystemTime
- :return: If the method is called asynchronously,
- returns the request thread.
- """
- kwargs['_return_http_data_only'] = True
- return self.get_system_time_with_http_info(**kwargs) # noqa: E501
-
- def get_system_time_with_http_info(self, **kwargs): # noqa: E501
- """Get server current time # noqa: E501
-
- This method makes a synchronous HTTP request by default. To make an
- asynchronous HTTP request, please pass async_req=True
- >>> thread = api.get_system_time_with_http_info(async_req=True)
- >>> result = thread.get()
-
- :param bool async_req: execute request asynchronously
- :param _return_http_data_only: response data without head status code
- and headers
- :param _preload_content: if False, the urllib3.HTTPResponse object will
- be returned without reading/decoding response
- data. Default is True.
- :param _request_timeout: timeout setting for this request. If one
- number provided, it will be total request
- timeout. It can also be a pair (tuple) of
- (connection, read) timeouts.
- :rtype: tuple(gate_api.SystemTime, status_code(int), headers(HTTPHeaderDict))
- :return: If the method is called asynchronously,
- returns the request thread.
- """
-
- local_var_params = locals()
-
- all_params = []
- all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout'])
-
- for k, v in six.iteritems(local_var_params['kwargs']):
- if k not in all_params:
- raise ApiTypeError("Got an unexpected keyword argument '%s'" " to method get_system_time" % k)
- local_var_params[k] = v
- del local_var_params['kwargs']
-
- collection_formats = {}
-
- path_params = {}
-
- query_params = []
-
- header_params = {}
-
- form_params = []
- local_var_files = {}
-
- body_params = None
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501
-
- # Authentication setting
- auth_settings = [] # noqa: E501
-
- return self.api_client.call_api(
- '/spot/time',
- 'GET',
- path_params,
- query_params,
- header_params,
- body=body_params,
- post_params=form_params,
- files=local_var_files,
- response_type='SystemTime', # noqa: E501
- auth_settings=auth_settings,
- async_req=local_var_params.get('async_req'),
- _return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
- _preload_content=local_var_params.get('_preload_content', True),
- _request_timeout=local_var_params.get('_request_timeout'),
- collection_formats=collection_formats,
- )
-
- def countdown_cancel_all_spot(self, countdown_cancel_all_spot_task, **kwargs): # noqa: E501
- """Countdown cancel orders # noqa: E501
-
- When the timeout set by the user is reached, if there is no cancel or set a new countdown, the related pending orders will be automatically cancelled. This endpoint can be called repeatedly to set a new countdown or cancel the countdown. For example, call this endpoint at 30s intervals, each countdown`timeout` is set to 30s. If this endpoint is not called again within 30 seconds, all pending orders on the specified `market` will be automatically cancelled, if no `market` is specified, all market pending orders will be cancelled. If the `timeout` is set to 0 within 30 seconds, the countdown timer will expire and the cacnel function will be cancelled. # noqa: E501
- This method makes a synchronous HTTP request by default. To make an
- asynchronous HTTP request, please pass async_req=True
- >>> thread = api.countdown_cancel_all_spot(countdown_cancel_all_spot_task, async_req=True)
- >>> result = thread.get()
-
- :param bool async_req: execute request asynchronously
- :param CountdownCancelAllSpotTask countdown_cancel_all_spot_task: (required)
- :param _preload_content: if False, the urllib3.HTTPResponse object will
- be returned without reading/decoding response
- data. Default is True.
- :param _request_timeout: timeout setting for this request. If one
- number provided, it will be total request
- timeout. It can also be a pair (tuple) of
- (connection, read) timeouts.
- :rtype: gate_api.TriggerTime
- :return: If the method is called asynchronously,
- returns the request thread.
- """
- kwargs['_return_http_data_only'] = True
- return self.countdown_cancel_all_spot_with_http_info(countdown_cancel_all_spot_task, **kwargs) # noqa: E501
-
- def countdown_cancel_all_spot_with_http_info(self, countdown_cancel_all_spot_task, **kwargs): # noqa: E501
- """Countdown cancel orders # noqa: E501
-
- When the timeout set by the user is reached, if there is no cancel or set a new countdown, the related pending orders will be automatically cancelled. This endpoint can be called repeatedly to set a new countdown or cancel the countdown. For example, call this endpoint at 30s intervals, each countdown`timeout` is set to 30s. If this endpoint is not called again within 30 seconds, all pending orders on the specified `market` will be automatically cancelled, if no `market` is specified, all market pending orders will be cancelled. If the `timeout` is set to 0 within 30 seconds, the countdown timer will expire and the cacnel function will be cancelled. # noqa: E501
- This method makes a synchronous HTTP request by default. To make an
- asynchronous HTTP request, please pass async_req=True
- >>> thread = api.countdown_cancel_all_spot_with_http_info(countdown_cancel_all_spot_task, async_req=True)
- >>> result = thread.get()
-
- :param bool async_req: execute request asynchronously
- :param CountdownCancelAllSpotTask countdown_cancel_all_spot_task: (required)
- :param _return_http_data_only: response data without head status code
- and headers
- :param _preload_content: if False, the urllib3.HTTPResponse object will
- be returned without reading/decoding response
- data. Default is True.
- :param _request_timeout: timeout setting for this request. If one
- number provided, it will be total request
- timeout. It can also be a pair (tuple) of
- (connection, read) timeouts.
- :rtype: tuple(gate_api.TriggerTime, status_code(int), headers(HTTPHeaderDict))
- :return: If the method is called asynchronously,
- returns the request thread.
- """
-
- local_var_params = locals()
-
- all_params = ['countdown_cancel_all_spot_task']
- all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout'])
-
- for k, v in six.iteritems(local_var_params['kwargs']):
- if k not in all_params:
- raise ApiTypeError("Got an unexpected keyword argument '%s'" " to method countdown_cancel_all_spot" % k)
- local_var_params[k] = v
- del local_var_params['kwargs']
- # verify the required parameter 'countdown_cancel_all_spot_task' is set
- if self.api_client.client_side_validation and (
- 'countdown_cancel_all_spot_task' not in local_var_params
- or local_var_params['countdown_cancel_all_spot_task'] is None # noqa: E501
- ): # noqa: E501
- raise ApiValueError(
- "Missing the required parameter `countdown_cancel_all_spot_task` when calling `countdown_cancel_all_spot`"
- ) # noqa: E501
-
- collection_formats = {}
-
- path_params = {}
-
- query_params = []
-
- header_params = {}
-
- form_params = []
- local_var_files = {}
-
- body_params = None
- if 'countdown_cancel_all_spot_task' in local_var_params:
- body_params = local_var_params['countdown_cancel_all_spot_task']
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
- ['application/json']
- ) # noqa: E501
-
- # Authentication setting
- auth_settings = ['apiv4'] # noqa: E501
-
- return self.api_client.call_api(
- '/spot/countdown_cancel_all',
- 'POST',
- path_params,
- query_params,
- header_params,
- body=body_params,
- post_params=form_params,
- files=local_var_files,
- response_type='TriggerTime', # noqa: E501
- auth_settings=auth_settings,
- async_req=local_var_params.get('async_req'),
- _return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
- _preload_content=local_var_params.get('_preload_content', True),
- _request_timeout=local_var_params.get('_request_timeout'),
- collection_formats=collection_formats,
- )
-
- def list_spot_price_triggered_orders(self, status, **kwargs): # noqa: E501
- """Retrieve running auto order list # noqa: E501
-
- This method makes a synchronous HTTP request by default. To make an
- asynchronous HTTP request, please pass async_req=True
- >>> thread = api.list_spot_price_triggered_orders(status, async_req=True)
- >>> result = thread.get()
-
- :param bool async_req: execute request asynchronously
- :param str status: Only list the orders with this status (required)
- :param str market: Currency pair
- :param str account: Trading account type. Portfolio margin account must set to `cross_margin`
- :param int limit: Maximum number of records to be returned in a single list
- :param int offset: List offset, starting from 0
- :param _preload_content: if False, the urllib3.HTTPResponse object will
- be returned without reading/decoding response
- data. Default is True.
- :param _request_timeout: timeout setting for this request. If one
- number provided, it will be total request
- timeout. It can also be a pair (tuple) of
- (connection, read) timeouts.
- :rtype: list[gate_api.SpotPriceTriggeredOrder]
- :return: If the method is called asynchronously,
- returns the request thread.
- """
- kwargs['_return_http_data_only'] = True
- return self.list_spot_price_triggered_orders_with_http_info(status, **kwargs) # noqa: E501
-
- def list_spot_price_triggered_orders_with_http_info(self, status, **kwargs): # noqa: E501
- """Retrieve running auto order list # noqa: E501
-
- This method makes a synchronous HTTP request by default. To make an
- asynchronous HTTP request, please pass async_req=True
- >>> thread = api.list_spot_price_triggered_orders_with_http_info(status, async_req=True)
- >>> result = thread.get()
-
- :param bool async_req: execute request asynchronously
- :param str status: Only list the orders with this status (required)
- :param str market: Currency pair
- :param str account: Trading account type. Portfolio margin account must set to `cross_margin`
- :param int limit: Maximum number of records to be returned in a single list
- :param int offset: List offset, starting from 0
- :param _return_http_data_only: response data without head status code
- and headers
- :param _preload_content: if False, the urllib3.HTTPResponse object will
- be returned without reading/decoding response
- data. Default is True.
- :param _request_timeout: timeout setting for this request. If one
- number provided, it will be total request
- timeout. It can also be a pair (tuple) of
- (connection, read) timeouts.
- :rtype: tuple(list[gate_api.SpotPriceTriggeredOrder], status_code(int), headers(HTTPHeaderDict))
- :return: If the method is called asynchronously,
- returns the request thread.
- """
-
- local_var_params = locals()
-
- all_params = ['status', 'market', 'account', 'limit', 'offset']
- all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout'])
-
- for k, v in six.iteritems(local_var_params['kwargs']):
- if k not in all_params:
- raise ApiTypeError(
- "Got an unexpected keyword argument '%s'" " to method list_spot_price_triggered_orders" % k
- )
- local_var_params[k] = v
- del local_var_params['kwargs']
- # verify the required parameter 'status' is set
- if self.api_client.client_side_validation and (
- 'status' not in local_var_params or local_var_params['status'] is None # noqa: E501
- ): # noqa: E501
- raise ApiValueError(
- "Missing the required parameter `status` when calling `list_spot_price_triggered_orders`"
- ) # noqa: E501
-
- if (
- self.api_client.client_side_validation and 'limit' in local_var_params and local_var_params['limit'] > 1000
- ): # noqa: E501
- raise ApiValueError(
- "Invalid value for parameter `limit` when calling `list_spot_price_triggered_orders`, must be a value less than or equal to `1000`"
- ) # noqa: E501
- if (
- self.api_client.client_side_validation and 'limit' in local_var_params and local_var_params['limit'] < 1
- ): # noqa: E501
- raise ApiValueError(
- "Invalid value for parameter `limit` when calling `list_spot_price_triggered_orders`, must be a value greater than or equal to `1`"
- ) # noqa: E501
- if (
- self.api_client.client_side_validation and 'offset' in local_var_params and local_var_params['offset'] < 0
- ): # noqa: E501
- raise ApiValueError(
- "Invalid value for parameter `offset` when calling `list_spot_price_triggered_orders`, must be a value greater than or equal to `0`"
- ) # noqa: E501
- collection_formats = {}
-
- path_params = {}
-
- query_params = []
- if 'status' in local_var_params and local_var_params['status'] is not None: # noqa: E501
- query_params.append(('status', local_var_params['status'])) # noqa: E501
- if 'market' in local_var_params and local_var_params['market'] is not None: # noqa: E501
- query_params.append(('market', local_var_params['market'])) # noqa: E501
- if 'account' in local_var_params and local_var_params['account'] is not None: # noqa: E501
- query_params.append(('account', local_var_params['account'])) # noqa: E501
- if 'limit' in local_var_params and local_var_params['limit'] is not None: # noqa: E501
- query_params.append(('limit', local_var_params['limit'])) # noqa: E501
- if 'offset' in local_var_params and local_var_params['offset'] is not None: # noqa: E501
- query_params.append(('offset', local_var_params['offset'])) # noqa: E501
-
- header_params = {}
-
- form_params = []
- local_var_files = {}
-
- body_params = None
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501
-
- # Authentication setting
- auth_settings = ['apiv4'] # noqa: E501
-
- return self.api_client.call_api(
- '/spot/price_orders',
- 'GET',
- path_params,
- query_params,
- header_params,
- body=body_params,
- post_params=form_params,
- files=local_var_files,
- response_type='list[SpotPriceTriggeredOrder]', # noqa: E501
- auth_settings=auth_settings,
- async_req=local_var_params.get('async_req'),
- _return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
- _preload_content=local_var_params.get('_preload_content', True),
- _request_timeout=local_var_params.get('_request_timeout'),
- collection_formats=collection_formats,
- )
-
- def create_spot_price_triggered_order(self, spot_price_triggered_order, **kwargs): # noqa: E501
- """Create a price-triggered order # noqa: E501
-
- This method makes a synchronous HTTP request by default. To make an
- asynchronous HTTP request, please pass async_req=True
- >>> thread = api.create_spot_price_triggered_order(spot_price_triggered_order, async_req=True)
- >>> result = thread.get()
-
- :param bool async_req: execute request asynchronously
- :param SpotPriceTriggeredOrder spot_price_triggered_order: (required)
- :param _preload_content: if False, the urllib3.HTTPResponse object will
- be returned without reading/decoding response
- data. Default is True.
- :param _request_timeout: timeout setting for this request. If one
- number provided, it will be total request
- timeout. It can also be a pair (tuple) of
- (connection, read) timeouts.
- :rtype: gate_api.TriggerOrderResponse
- :return: If the method is called asynchronously,
- returns the request thread.
- """
- kwargs['_return_http_data_only'] = True
- return self.create_spot_price_triggered_order_with_http_info(spot_price_triggered_order, **kwargs) # noqa: E501
-
- def create_spot_price_triggered_order_with_http_info(self, spot_price_triggered_order, **kwargs): # noqa: E501
- """Create a price-triggered order # noqa: E501
-
- This method makes a synchronous HTTP request by default. To make an
- asynchronous HTTP request, please pass async_req=True
- >>> thread = api.create_spot_price_triggered_order_with_http_info(spot_price_triggered_order, async_req=True)
- >>> result = thread.get()
-
- :param bool async_req: execute request asynchronously
- :param SpotPriceTriggeredOrder spot_price_triggered_order: (required)
- :param _return_http_data_only: response data without head status code
- and headers
- :param _preload_content: if False, the urllib3.HTTPResponse object will
- be returned without reading/decoding response
- data. Default is True.
- :param _request_timeout: timeout setting for this request. If one
- number provided, it will be total request
- timeout. It can also be a pair (tuple) of
- (connection, read) timeouts.
- :rtype: tuple(gate_api.TriggerOrderResponse, status_code(int), headers(HTTPHeaderDict))
- :return: If the method is called asynchronously,
- returns the request thread.
- """
-
- local_var_params = locals()
-
- all_params = ['spot_price_triggered_order']
- all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout'])
-
- for k, v in six.iteritems(local_var_params['kwargs']):
- if k not in all_params:
- raise ApiTypeError(
- "Got an unexpected keyword argument '%s'" " to method create_spot_price_triggered_order" % k
- )
- local_var_params[k] = v
- del local_var_params['kwargs']
- # verify the required parameter 'spot_price_triggered_order' is set
- if self.api_client.client_side_validation and (
- 'spot_price_triggered_order' not in local_var_params
- or local_var_params['spot_price_triggered_order'] is None # noqa: E501
- ): # noqa: E501
- raise ApiValueError(
- "Missing the required parameter `spot_price_triggered_order` when calling `create_spot_price_triggered_order`"
- ) # noqa: E501
-
- collection_formats = {}
-
- path_params = {}
-
- query_params = []
-
- header_params = {}
-
- form_params = []
- local_var_files = {}
-
- body_params = None
- if 'spot_price_triggered_order' in local_var_params:
- body_params = local_var_params['spot_price_triggered_order']
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501
-
- # HTTP header `Content-Type`
- header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
- ['application/json']
- ) # noqa: E501
-
- # Authentication setting
- auth_settings = ['apiv4'] # noqa: E501
-
- return self.api_client.call_api(
- '/spot/price_orders',
- 'POST',
- path_params,
- query_params,
- header_params,
- body=body_params,
- post_params=form_params,
- files=local_var_files,
- response_type='TriggerOrderResponse', # noqa: E501
- auth_settings=auth_settings,
- async_req=local_var_params.get('async_req'),
- _return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
- _preload_content=local_var_params.get('_preload_content', True),
- _request_timeout=local_var_params.get('_request_timeout'),
- collection_formats=collection_formats,
- )
-
- def cancel_spot_price_triggered_order_list(self, **kwargs): # noqa: E501
- """Cancel all open orders # noqa: E501
-
- This method makes a synchronous HTTP request by default. To make an
- asynchronous HTTP request, please pass async_req=True
- >>> thread = api.cancel_spot_price_triggered_order_list(async_req=True)
- >>> result = thread.get()
-
- :param bool async_req: execute request asynchronously
- :param str market: Currency pair
- :param str account: Trading account type. Portfolio margin account must set to `cross_margin`
- :param _preload_content: if False, the urllib3.HTTPResponse object will
- be returned without reading/decoding response
- data. Default is True.
- :param _request_timeout: timeout setting for this request. If one
- number provided, it will be total request
- timeout. It can also be a pair (tuple) of
- (connection, read) timeouts.
- :rtype: list[gate_api.SpotPriceTriggeredOrder]
- :return: If the method is called asynchronously,
- returns the request thread.
- """
- kwargs['_return_http_data_only'] = True
- return self.cancel_spot_price_triggered_order_list_with_http_info(**kwargs) # noqa: E501
-
- def cancel_spot_price_triggered_order_list_with_http_info(self, **kwargs): # noqa: E501
- """Cancel all open orders # noqa: E501
-
- This method makes a synchronous HTTP request by default. To make an
- asynchronous HTTP request, please pass async_req=True
- >>> thread = api.cancel_spot_price_triggered_order_list_with_http_info(async_req=True)
- >>> result = thread.get()
-
- :param bool async_req: execute request asynchronously
- :param str market: Currency pair
- :param str account: Trading account type. Portfolio margin account must set to `cross_margin`
- :param _return_http_data_only: response data without head status code
- and headers
- :param _preload_content: if False, the urllib3.HTTPResponse object will
- be returned without reading/decoding response
- data. Default is True.
- :param _request_timeout: timeout setting for this request. If one
- number provided, it will be total request
- timeout. It can also be a pair (tuple) of
- (connection, read) timeouts.
- :rtype: tuple(list[gate_api.SpotPriceTriggeredOrder], status_code(int), headers(HTTPHeaderDict))
- :return: If the method is called asynchronously,
- returns the request thread.
- """
-
- local_var_params = locals()
-
- all_params = ['market', 'account']
- all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout'])
-
- for k, v in six.iteritems(local_var_params['kwargs']):
- if k not in all_params:
- raise ApiTypeError(
- "Got an unexpected keyword argument '%s'" " to method cancel_spot_price_triggered_order_list" % k
- )
- local_var_params[k] = v
- del local_var_params['kwargs']
-
- collection_formats = {}
-
- path_params = {}
-
- query_params = []
- if 'market' in local_var_params and local_var_params['market'] is not None: # noqa: E501
- query_params.append(('market', local_var_params['market'])) # noqa: E501
- if 'account' in local_var_params and local_var_params['account'] is not None: # noqa: E501
- query_params.append(('account', local_var_params['account'])) # noqa: E501
-
- header_params = {}
-
- form_params = []
- local_var_files = {}
-
- body_params = None
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501
-
- # Authentication setting
- auth_settings = ['apiv4'] # noqa: E501
-
- return self.api_client.call_api(
- '/spot/price_orders',
- 'DELETE',
- path_params,
- query_params,
- header_params,
- body=body_params,
- post_params=form_params,
- files=local_var_files,
- response_type='list[SpotPriceTriggeredOrder]', # noqa: E501
- auth_settings=auth_settings,
- async_req=local_var_params.get('async_req'),
- _return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
- _preload_content=local_var_params.get('_preload_content', True),
- _request_timeout=local_var_params.get('_request_timeout'),
- collection_formats=collection_formats,
- )
-
- def get_spot_price_triggered_order(self, order_id, **kwargs): # noqa: E501
- """Get a price-triggered order # noqa: E501
-
- This method makes a synchronous HTTP request by default. To make an
- asynchronous HTTP request, please pass async_req=True
- >>> thread = api.get_spot_price_triggered_order(order_id, async_req=True)
- >>> result = thread.get()
-
- :param bool async_req: execute request asynchronously
- :param str order_id: Retrieve the data of the order with the specified ID (required)
- :param _preload_content: if False, the urllib3.HTTPResponse object will
- be returned without reading/decoding response
- data. Default is True.
- :param _request_timeout: timeout setting for this request. If one
- number provided, it will be total request
- timeout. It can also be a pair (tuple) of
- (connection, read) timeouts.
- :rtype: gate_api.SpotPriceTriggeredOrder
- :return: If the method is called asynchronously,
- returns the request thread.
- """
- kwargs['_return_http_data_only'] = True
- return self.get_spot_price_triggered_order_with_http_info(order_id, **kwargs) # noqa: E501
-
- def get_spot_price_triggered_order_with_http_info(self, order_id, **kwargs): # noqa: E501
- """Get a price-triggered order # noqa: E501
-
- This method makes a synchronous HTTP request by default. To make an
- asynchronous HTTP request, please pass async_req=True
- >>> thread = api.get_spot_price_triggered_order_with_http_info(order_id, async_req=True)
- >>> result = thread.get()
-
- :param bool async_req: execute request asynchronously
- :param str order_id: Retrieve the data of the order with the specified ID (required)
- :param _return_http_data_only: response data without head status code
- and headers
- :param _preload_content: if False, the urllib3.HTTPResponse object will
- be returned without reading/decoding response
- data. Default is True.
- :param _request_timeout: timeout setting for this request. If one
- number provided, it will be total request
- timeout. It can also be a pair (tuple) of
- (connection, read) timeouts.
- :rtype: tuple(gate_api.SpotPriceTriggeredOrder, status_code(int), headers(HTTPHeaderDict))
- :return: If the method is called asynchronously,
- returns the request thread.
- """
-
- local_var_params = locals()
-
- all_params = ['order_id']
- all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout'])
-
- for k, v in six.iteritems(local_var_params['kwargs']):
- if k not in all_params:
- raise ApiTypeError(
- "Got an unexpected keyword argument '%s'" " to method get_spot_price_triggered_order" % k
- )
- local_var_params[k] = v
- del local_var_params['kwargs']
- # verify the required parameter 'order_id' is set
- if self.api_client.client_side_validation and (
- 'order_id' not in local_var_params or local_var_params['order_id'] is None # noqa: E501
- ): # noqa: E501
- raise ApiValueError(
- "Missing the required parameter `order_id` when calling `get_spot_price_triggered_order`"
- ) # noqa: E501
-
- collection_formats = {}
-
- path_params = {}
- if 'order_id' in local_var_params:
- path_params['order_id'] = local_var_params['order_id'] # noqa: E501
-
- query_params = []
-
- header_params = {}
-
- form_params = []
- local_var_files = {}
-
- body_params = None
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501
-
- # Authentication setting
- auth_settings = ['apiv4'] # noqa: E501
-
- return self.api_client.call_api(
- '/spot/price_orders/{order_id}',
- 'GET',
- path_params,
- query_params,
- header_params,
- body=body_params,
- post_params=form_params,
- files=local_var_files,
- response_type='SpotPriceTriggeredOrder', # noqa: E501
- auth_settings=auth_settings,
- async_req=local_var_params.get('async_req'),
- _return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
- _preload_content=local_var_params.get('_preload_content', True),
- _request_timeout=local_var_params.get('_request_timeout'),
- collection_formats=collection_formats,
- )
-
- def cancel_spot_price_triggered_order(self, order_id, **kwargs): # noqa: E501
- """cancel a price-triggered order # noqa: E501
-
- This method makes a synchronous HTTP request by default. To make an
- asynchronous HTTP request, please pass async_req=True
- >>> thread = api.cancel_spot_price_triggered_order(order_id, async_req=True)
- >>> result = thread.get()
-
- :param bool async_req: execute request asynchronously
- :param str order_id: Retrieve the data of the order with the specified ID (required)
- :param _preload_content: if False, the urllib3.HTTPResponse object will
- be returned without reading/decoding response
- data. Default is True.
- :param _request_timeout: timeout setting for this request. If one
- number provided, it will be total request
- timeout. It can also be a pair (tuple) of
- (connection, read) timeouts.
- :rtype: gate_api.SpotPriceTriggeredOrder
- :return: If the method is called asynchronously,
- returns the request thread.
- """
- kwargs['_return_http_data_only'] = True
- return self.cancel_spot_price_triggered_order_with_http_info(order_id, **kwargs) # noqa: E501
-
- def cancel_spot_price_triggered_order_with_http_info(self, order_id, **kwargs): # noqa: E501
- """cancel a price-triggered order # noqa: E501
-
- This method makes a synchronous HTTP request by default. To make an
- asynchronous HTTP request, please pass async_req=True
- >>> thread = api.cancel_spot_price_triggered_order_with_http_info(order_id, async_req=True)
- >>> result = thread.get()
-
- :param bool async_req: execute request asynchronously
- :param str order_id: Retrieve the data of the order with the specified ID (required)
- :param _return_http_data_only: response data without head status code
- and headers
- :param _preload_content: if False, the urllib3.HTTPResponse object will
- be returned without reading/decoding response
- data. Default is True.
- :param _request_timeout: timeout setting for this request. If one
- number provided, it will be total request
- timeout. It can also be a pair (tuple) of
- (connection, read) timeouts.
- :rtype: tuple(gate_api.SpotPriceTriggeredOrder, status_code(int), headers(HTTPHeaderDict))
- :return: If the method is called asynchronously,
- returns the request thread.
- """
-
- local_var_params = locals()
-
- all_params = ['order_id']
- all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout'])
-
- for k, v in six.iteritems(local_var_params['kwargs']):
- if k not in all_params:
- raise ApiTypeError(
- "Got an unexpected keyword argument '%s'" " to method cancel_spot_price_triggered_order" % k
- )
- local_var_params[k] = v
- del local_var_params['kwargs']
- # verify the required parameter 'order_id' is set
- if self.api_client.client_side_validation and (
- 'order_id' not in local_var_params or local_var_params['order_id'] is None # noqa: E501
- ): # noqa: E501
- raise ApiValueError(
- "Missing the required parameter `order_id` when calling `cancel_spot_price_triggered_order`"
- ) # noqa: E501
-
- collection_formats = {}
-
- path_params = {}
- if 'order_id' in local_var_params:
- path_params['order_id'] = local_var_params['order_id'] # noqa: E501
-
- query_params = []
-
- header_params = {}
-
- form_params = []
- local_var_files = {}
-
- body_params = None
- # HTTP header `Accept`
- header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501
-
- # Authentication setting
- auth_settings = ['apiv4'] # noqa: E501
-
- return self.api_client.call_api(
- '/spot/price_orders/{order_id}',
- 'DELETE',
- path_params,
- query_params,
- header_params,
- body=body_params,
- post_params=form_params,
- files=local_var_files,
- response_type='SpotPriceTriggeredOrder', # noqa: E501
- auth_settings=auth_settings,
- async_req=local_var_params.get('async_req'),
- _return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
- _preload_content=local_var_params.get('_preload_content', True),
- _request_timeout=local_var_params.get('_request_timeout'),
- collection_formats=collection_formats,
- )
|