checkIDVUserBiometricTemplateStatus
🔍 Overview
The checkIDVUserBiometricTemplateStatus API is used to determine whether a user's biometric template is already stored on the REL-ID server.
It helps developers decide whether to initiate the biometric opt-in workflow or proceed with biometric-based authentication.
The corresponding event onIDVCheckUserBiometricTemplateStatus provides the result of this check.
🖥️ Recommended Screen
The app should display a loading or biometric status check screen while the API call is being processed.
Once the event is received:
- If the template is present: Navigate user to biometric features or allow opt-out.
- If the template is absent: Prompt user to opt in for biometric enrollment.
🔁 API to Check Biometric Template
✳️ checkIDVUserBiometricTemplateStatus
checkIDVUserBiometricTemplateStatusInitiates the check for a stored biometric template on the server.
🧠 React Native
RdnaClient.checkIDVUserBiometricTemplateStatus((response) => {});🐦 Flutter
rdna.checkIDVUserBiometricTemplateStatus();🌐 Cordova
com.uniken.rdnaplugin.RdnaClient.checkIDVUserBiometricTemplateStatus(successCallback, errorCallback);📱 Native iOS
(RDNAError *)checkIDVUserBiometricTemplateStatus;🤖 Native Android
RDNA.RDNAError checkIDVUserBiometricTemplateStatus();🎯 Event: onIDVCheckUserBiometricTemplateStatus
onIDVCheckUserBiometricTemplateStatusTriggered as a result of checkIDVUserBiometricTemplateStatus.
Returns user's biometric template status in a structured payload.
🧾 Sample Payload
{
"userID": "user123",
"idvResponse": "{"status_code":100,"status_message":"Template is present","result":true}",
"status": {
"statusCode": 100,
"statusMessage": "Template is present"
},
"error": {
"longErrorCode": 0,
"shortErrorCode": 0,
"errorString": "Success"
}
}🧷 Field Descriptions
| Field | Type | Description |
|---|---|---|
userID | string | Unique user ID |
idvResponse | string | JSON string containing template status |
status | object | SDK status code and message |
error | object | Error object with short/long codes and message |
📊 idvResponse Value Breakdown
idvResponse Value Breakdown| status_code | status_message | result | Interpretation |
|---|---|---|---|
| 100 | Template is present | true | Template exists |
| 600 | Template does not exist | false | No template found |
| 400 | Unable to process request | — | Server or validation failure |
| 500 | Liveness check failed | — | Liveness/anti-spoofing issue |
📲 Code Snippets for Event Handling
🧠 React Native
const onIDVCheckUserBiometricTemplateStatus = (response: any) => {
const result = JSON.parse(response.idvResponse).result;
if (result) {
// Template exists
} else {
// Prompt biometric opt-in
}
};🐦 Flutter
onIDVCheckUserBiometricTemplateStatus(dynamic response) {
final parsed = jsonDecode(response['idvResponse']);
if (parsed['result']) {
// Template present
} else {
// No template
}
}🌐 Cordova
document.addEventListener('onIDVCheckUserBiometricTemplateStatus', function(response) {
const result = JSON.parse(response.idvResponse).result;
// Act based on result
});📱 Native iOS
- (void)onIDVCheckUserBiometricTemplateStatus:(NSString *)userID
idvResponse:(NSString *)idvResponse
status:(RDNARequestStatus *)status
error:(RDNAError *)error {
NSData *data = [idvResponse dataUsingEncoding:NSUTF8StringEncoding];
NSDictionary *json = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil];
BOOL result = [json[@"result"] boolValue];
}🤖 Native Android
void onIDVCheckUserBiometricTemplateStatus(String userID, String idvResponse, RDNARequestStatus status, RDNA.RDNAError error) {
try {
JSONObject obj = new JSONObject(idvResponse);
boolean result = obj.getBoolean("result");
} catch (JSONException e) {
e.printStackTrace();
}
}🚫 Error Codes and Developer Action
| Code | Message | Developer Action |
|---|---|---|
| 100 | Template is present | Proceed to authentication or opt-out |
| 600 | Template not found | Trigger biometric opt-in flow |
| 400 | Request could not be parsed | Show retry or contact support |
| 500 | Liveness check failed | Prompt retry or switch to fallback auth |
✅ Developer Response Flow
| Outcome | Suggested Developer Action |
|---|---|
| Template Present | Offer biometric services or manage settings |
| No Template | Trigger initiateIDVBiometricOptIn() |
| Error | Show error UI and offer retry |
🔁 Next API to Call Based on Outcome
| Event Outcome | Suggested Follow-up API |
|---|---|
| result = false (no template) | initiateIDVBiometricOptIn() |
| result = true (template exists) | Proceed to initiateIDVServerBiometricAuthentication() or settings |
| Error | Retry or fallback authentication |
Updated 6 months ago
