getProductReviews method

Future<List<Review>> getProductReviews(
  1. String sku, {
  2. int page = 1,
  3. int pageSize = 10,
})

Get product reviews

Implementation

Future<List<Review>> getProductReviews(
  String sku, {
  int page = 1,
  int pageSize = 10,
}) async {
  try {
    final response = await _client.guestRequest<Map<String, dynamic>>(
      '/rest/V1/products/$sku/reviews',
      queryParameters: {
        'searchCriteria[pageSize]': pageSize,
        'searchCriteria[currentPage]': page,
      },
    );

    if (response.statusCode == 200) {
      final List<dynamic> reviewsData = response.data!['items'] ?? [];
      return reviewsData.map((json) => Review.fromJson(json)).toList();
    } else {
      throw Exception(
        'Failed to get product reviews: ${response.statusMessage}',
      );
    }
  } on DioException catch (e) {
    throw Exception('Failed to get product reviews: ${e.message}');
  } catch (e) {
    throw Exception('Failed to get product reviews: $e');
  }
}