trackEvent method

Future trackEvent({
  1. required String eventId,
  2. required String snipeId,
  3. int? transactionAmount,
  4. int? partialPercentage,
  5. List<Map<String, dynamic>>? debitTokens,
})

Implementation

Future<dynamic> trackEvent(
    {required String eventId,
    required String snipeId,
    int? transactionAmount,
    int? partialPercentage,
    List<Map<String, dynamic>>? debitTokens}) async {
  if (_apiKey == null) {
    throw ("API Key not initialized.");
  }

  final requestBody = _buildRequestBody(
    eventId: eventId,
    transactionAmount: transactionAmount,
    partialPercentage: partialPercentage,
    debitTokens: debitTokens,
  );

  if (_baseUrl == null) {
    throw "Invalid API key";
  } else {
    try {
      final apiService = _ApiService();
      final response = await apiService.post(
        url: _baseUrl ?? " ",
        endpoint: "events/trigger-event",
        requestBody: requestBody,
        headers: {"x-api-key": _apiKey!, "x-user-id": snipeId},
      );

      // print("POST Response: $response");
      return response;
    } catch (error) {
      rethrow;
    }
  }
}