getRelatedVisitors method

Future<Map<String, dynamic>> getRelatedVisitors(
  1. RelatedVisitorsFilter filter
)

Fetches related visitors data based on the provided filter.

Implementation

Future<Map<String, dynamic>> getRelatedVisitors(
  RelatedVisitorsFilter filter,
) async {
  final queryParameters = filter.toJson();
  final queryString = queryParameters.entries
      .map(
        (e) =>
            '${Uri.encodeComponent(e.key)}=${Uri.encodeComponent(e.value.toString())}',
      )
      .join('&');

  final url = Uri.parse('$baseUrl/related-visitors?$queryString');
  final response = await http
      .get(
        url,
        headers: {
          'Authorization': 'Bearer $apiKey',
          'Content-Type': 'application/json',
        },
      )
      .timeout(timeout);

  if (response.statusCode == 200) {
    return jsonDecode(response.body) as Map<String, dynamic>;
  } else {
    throw Exception('Failed to fetch related visitors: ${response.body}');
  }
}