Set IDV Database

API: setIDVDatabaseID

📌 Overview

The setIDVDatabaseID API is used to set a specific document database in the REL-ID IDV SDK. It must be used before initiating document scan operation, when useDefaultDatabase is set to false either from the Gateway Manager or via the setIDVConfig API. On invocation, the SDK downloads the selected database (if not already downloaded) and uses it for document scanning.


⚙️ Behavior

  • Must be called before document scan initialization if not using default database.
  • The selected database is downloaded in the background.
  • Progress of download is reported via onDatabaseDownloadProgress event.
  • If the provided database ID is invalid or not in the config, a sync error will be returned.

🧑‍💻 Method Signatures

PlatformSignature
React NativeRdnaClient.setIDVDatabaseID(databaseID, callback)
Flutterrdna.setIDVDatabaseID(databaseID)
Cordovacom.uniken.rdnaplugin.RdnaClient.setIDVDatabaseID(successCallback, errorCallback, [databaseID])
Native AndroidRDNAError setIDVDatabaseID(String databaseID)
Native iOS- (RDNAError *)setIDVDatabaseID:(NSString *)databaseID;

📥 Parameters

NameTypeDescription
databaseIDstringUnique identifier of the target document database (e.g., "India", "Jordan", "FullDB")

📤 Response

Returns a standard RDNAError JSON object:

{
  "shortErrorCode": 0,
  "longErrorCode": 0,
  "errorString": "Success"
}

📄 Sample Code

React Native
const dbId = "India";
RdnaClient.setIDVDatabaseID(dbId, (result) => {
  if (result.shortErrorCode === 0) {
    console.log("Database ID set successfully");
  } else {
    console.error("Error:", result.errorString);
  }
});
Flutter
const dbId = "India";
rdna.setIDVDatabaseID(dbId).then((result) {
  if (result["shortErrorCode"] == 0) {
    print("Database set successfully");
  } else {
    print("Error: ${result["errorString"]}");
  }
});
Cordova
const dbId = "India";
com.uniken.rdnaplugin.RdnaClient.setIDVDatabaseID(
  function(result) {
    console.log("Success:", result);
  },
  function(error) {
    console.error("Error:", error);
  },
  [dbId]
);
Native Android
String dbId = "India";
RDNA.RDNAError result = rdnaClient.setIDVDatabaseID(dbId);
if (result.getShortErrorCode() == 0) {
  Log.d("IDV", "Database set successfully");
} else {
  Log.e("IDV", result.getErrorString());
}
Native iOS
NSString *dbId = @"India";
RDNAError *result = [self.rdnaClient setIDVDatabaseID:dbId];
if (result.shortErrorCode == 0) {
  NSLog(@"Database set successfully");
} else {
  NSLog(@"Error: %@", result.errorString);
}