findApplicantByIdentifier method
Find applicant by customer identifier or email
identifier - Customer identifier or email to search for
Returns the applicant if found, null otherwise
Implementation
Future<SdkApplicantResponse?> findApplicantByIdentifier(String identifier) async {
try {
final response = await _apiClient.get(
'/sdk/kyc-verification/applicants',
queryParameters: {'identifier': identifier},
);
final jsonData = json.decode(response.body) as Map<String, dynamic>;
return SdkApplicantResponse.fromJson(jsonData);
} catch (e) {
// If applicant not found, return null instead of throwing
if (e is ApexKycException) {
// Check status code for 404 or 400 (bad request for not found)
if (e.statusCode == 404 ||
e.statusCode == 400 ||
e.toString().toLowerCase().contains('not found')) {
return null;
}
rethrow;
}
// Check if it's a 404 or not found error
final errorString = e.toString().toLowerCase();
if (errorString.contains('not found') || errorString.contains('404')) {
return null;
}
throw ApexKycException(
'Failed to find applicant: ${e.toString()}',
originalError: e,
);
}
}