MCPcopy Create free account
hub / github.com/ccxt/ccxt / fetch_order

Method fetch_order

python/ccxt/phemex.py:2991–3035  ·  view source on GitHub ↗

https://phemex-docs.github.io/#query-orders-by-ids fetches information on an order made by the user :param str id: the order id :param str symbol: unified symbol of the market the order was made in :param dict [params]: extra parameters specific to the exch

(self, id: str, symbol: Str = None, params={})

Source from the content-addressed store, hash-verified

2989 ]
2990
2991 def fetch_order(self, id: str, symbol: Str = None, params={}):
2992 """
2993
2994 https://phemex-docs.github.io/#query-orders-by-ids
2995
2996 fetches information on an order made by the user
2997 :param str id: the order id
2998 :param str symbol: unified symbol of the market the order was made in
2999 :param dict [params]: extra parameters specific to the exchange API endpoint
3000 :returns dict: An `order structure <https://docs.ccxt.com/?id=order-structure>`
3001 """
3002 if symbol is None:
3003 raise ArgumentsRequired(self.id + ' fetchOrder() requires a symbol argument')
3004 self.load_markets()
3005 market = self.market(symbol)
3006 request = {
3007 'symbol': market['id'],
3008 }
3009 clientOrderId = self.safe_string_2(params, 'clientOrderId', 'clOrdID')
3010 params = self.omit(params, ['clientOrderId', 'clOrdID'])
3011 if clientOrderId is not None:
3012 request['clOrdID'] = clientOrderId
3013 else:
3014 request['orderID'] = id
3015 response: dict
3016 if market['settle'] == 'USDT' or market['settle'] == 'USDC':
3017 response = self.privateGetApiDataGFuturesOrdersByOrderId(self.extend(request, params))
3018 elif market['spot']:
3019 response = self.privateGetApiDataSpotsOrdersByOrderId(self.extend(request, params))
3020 else:
3021 response = self.privateGetExchangeOrder(self.extend(request, params))
3022 data = self.safe_value(response, 'data', {})
3023 order = data
3024 if isinstance(data, list):
3025 numOrders = len(data)
3026 if numOrders < 1:
3027 if clientOrderId is not None:
3028 raise OrderNotFound(self.id + ' fetchOrder() ' + symbol + ' order with clientOrderId ' + clientOrderId + ' not found')
3029 else:
3030 raise OrderNotFound(self.id + ' fetchOrder() ' + symbol + ' order with id ' + id + ' not found')
3031 order = self.safe_dict(data, 0, {})
3032 elif market['spot']:
3033 rows = self.safe_list(data, 'rows', [])
3034 order = self.safe_dict(rows, 0, {})
3035 return self.parse_order(order, market)
3036
3037 def fetch_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
3038 """

Callers

nothing calls this directly

Calls 14

parse_orderMethod · 0.95
ArgumentsRequiredClass · 0.90
OrderNotFoundClass · 0.90
safe_string_2Method · 0.80
safe_valueMethod · 0.80
safe_dictMethod · 0.80
safe_listMethod · 0.80
load_marketsMethod · 0.45
marketMethod · 0.45

Tested by

no test coverage detected