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={})
| 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 | """ |
nothing calls this directly
no test coverage detected