getOrder function

Future<Order?> getOrder({
  1. required String orderId,
  2. Client? client,
  3. required Credential credential,
  4. bool isSandbox = false,
})

Gets a single historical order for the current user by order ID.

GET /v3/brokerage/orders/historical/{order_id} https://docs.cdp.coinbase.com/api-reference/advanced-trade-api/rest-api/orders/get-order

This function makes a GET request to the /orders/historical/{order_id} endpoint of the Coinbase Advanced Trade API.

orderId - The ID of the order to be returned. credential - The user's API credentials. isSandbox - Whether to use the sandbox environment.

Returns an Order object, or null if no order is found for the given order ID.

Implementation

Future<Order?> getOrder(
    {required String orderId,
    http.Client? client,
    required Credential credential,
    bool isSandbox = false}) async {
  Order? order;

  http.Response response = await getAuthorized('/orders/historical/$orderId',
      client: client, credential: credential, isSandbox: isSandbox);

  if (response.statusCode == 200) {
    String data = response.body;
    var jsonResponse = jsonDecode(data);
    var jsonOrder = jsonResponse['order'];
    order = Order.fromCBJson(jsonOrder);
  } else {
    var url = response.request?.url.toString();
    print('Request to URL $url failed: Response code ${response.statusCode}');
    print('Error Response Message: ${response.body}');
  }

  return order;
}