searchOrder method

Future<OrderResponse> searchOrder({
  1. required SearchOrderRequest request,
  2. String? authToken,
})

Search all orders for one or more locations. Orders include all sales, returns, and exchanges regardless of how or when they entered the Square ecosystem (such as Point of Sale, Invoices, and Connect APIs).

Implementation

//.
/// Orders include all sales, returns, and exchanges regardless
/// of how or when they entered the Square ecosystem
/// (such as Point of Sale, Invoices, and Connect APIs).
///
Future<OrderResponse> searchOrder({
  required SearchOrderRequest request,
  String? authToken,
}) async {

  authToken ??= authenticationService.getCachedToken()?.accessToken;

  Map<String, String> headers = {
    "Authorization": "Bearer ${authToken ?? ""}",
    'Content-Type': 'application/json; charset=UTF-8',
    'Accept': 'application/json',

  };

  Uri endpoint = Uri.https(
      baseUrl, "/v2/orders/search");

  //print (endpoint.toString());

  var response = await
  http.post(endpoint, body: jsonEncode(request.toJson()), headers: headers);

  if (response.statusCode == 200) {
    print (jsonDecode(response.body));
    return OrderResponse.fromJson(jsonDecode(response.body));
  }
  else {
    print (response.body);
    throw OrderException(statusCode: response.statusCode, message: TerminalCheckoutResponse.fromJson(jsonDecode(response.body)).errors?[0].detail?.toString());
  }
}